Linux vmi2545633.contaboserver.net 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64
Apache/2.4.62 (Debian)
Server IP : 127.0.0.1 & Your IP : 127.0.0.1
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
include /
node /
Delete
Unzip
Name
Size
Permission
Date
Action
cppgc
[ DIR ]
drwxr-xr-x
2025-04-07 20:36
libplatform
[ DIR ]
drwxr-xr-x
2025-04-07 20:36
openssl
[ DIR ]
drwxr-xr-x
2025-04-07 20:36
uv
[ DIR ]
drwxr-xr-x
2025-04-07 20:36
common.gypi
23.29
KB
-rw-r--r--
2024-04-10 12:29
config.gypi
26.77
KB
-rw-r--r--
2024-04-10 12:29
js_native_api.h
31.57
KB
-rw-r--r--
2024-04-10 12:29
js_native_api_types.h
6.6
KB
-rw-r--r--
2024-02-13 21:51
node.h
65.87
KB
-rw-r--r--
2024-04-10 12:29
node_api.h
10.08
KB
-rw-r--r--
2024-04-10 09:40
node_api_types.h
1.57
KB
-rw-r--r--
2022-11-20 10:00
node_buffer.h
3.6
KB
-rw-r--r--
2024-04-10 09:40
node_object_wrap.h
3.78
KB
-rw-r--r--
2022-10-11 10:59
node_version.h
4.14
KB
-rw-r--r--
2024-04-10 12:29
uv.h
68.86
KB
-rw-r--r--
2024-04-10 12:29
v8-array-buffer.h
17.45
KB
-rw-r--r--
2024-04-10 12:29
v8-callbacks.h
16.95
KB
-rw-r--r--
2024-04-10 12:29
v8-container.h
3.4
KB
-rw-r--r--
2024-04-10 09:40
v8-context.h
16.01
KB
-rw-r--r--
2024-04-10 12:29
v8-cppgc.h
7.46
KB
-rw-r--r--
2024-04-10 12:29
v8-data.h
1.58
KB
-rw-r--r--
2024-04-10 12:29
v8-date.h
1.19
KB
-rw-r--r--
2024-04-10 12:29
v8-debug.h
5.04
KB
-rw-r--r--
2022-10-11 10:59
v8-embedder-heap.h
2.32
KB
-rw-r--r--
2024-04-10 12:29
v8-embedder-state-scope.h
1.51
KB
-rw-r--r--
2024-04-10 09:40
v8-exception.h
6.98
KB
-rw-r--r--
2024-04-10 12:29
v8-extension.h
1.83
KB
-rw-r--r--
2022-10-11 10:59
v8-external.h
924
B
-rw-r--r--
2022-10-11 10:59
v8-forward.h
1.62
KB
-rw-r--r--
2024-04-09 15:17
v8-function-callback.h
15.44
KB
-rw-r--r--
2024-04-10 12:29
v8-function.h
4.42
KB
-rw-r--r--
2024-04-10 12:29
v8-handle-base.h
5.72
KB
-rw-r--r--
2024-04-10 12:29
v8-initialization.h
10.23
KB
-rw-r--r--
2024-04-10 12:29
v8-internal.h
42.14
KB
-rw-r--r--
2024-04-10 12:29
v8-isolate.h
62.44
KB
-rw-r--r--
2024-04-10 12:29
v8-json.h
1.32
KB
-rw-r--r--
2022-10-11 10:59
v8-local-handle.h
15.86
KB
-rw-r--r--
2024-04-10 12:29
v8-locker.h
3.86
KB
-rw-r--r--
2024-04-10 12:29
v8-maybe.h
4.47
KB
-rw-r--r--
2024-04-10 12:29
v8-memory-span.h
1.25
KB
-rw-r--r--
2024-04-10 09:40
v8-message.h
6.29
KB
-rw-r--r--
2024-04-10 12:29
v8-microtask-queue.h
4.95
KB
-rw-r--r--
2024-04-10 12:29
v8-microtask.h
861
B
-rw-r--r--
2022-10-11 10:59
v8-object.h
28.59
KB
-rw-r--r--
2024-04-10 12:29
v8-persistent-handle.h
17.47
KB
-rw-r--r--
2024-04-10 12:29
v8-platform.h
46.61
KB
-rw-r--r--
2024-04-10 12:29
v8-primitive-object.h
2.53
KB
-rw-r--r--
2022-10-11 10:59
v8-primitive.h
27.69
KB
-rw-r--r--
2024-04-10 12:29
v8-profiler.h
41.11
KB
-rw-r--r--
2024-04-10 12:29
v8-promise.h
5.17
KB
-rw-r--r--
2022-10-11 10:59
v8-proxy.h
1.23
KB
-rw-r--r--
2022-10-11 10:59
v8-regexp.h
3.1
KB
-rw-r--r--
2024-04-10 12:29
v8-script.h
28.91
KB
-rw-r--r--
2024-04-10 12:29
v8-snapshot.h
7.14
KB
-rw-r--r--
2024-04-10 12:29
v8-source-location.h
2.54
KB
-rw-r--r--
2024-04-10 12:29
v8-statistics.h
8
KB
-rw-r--r--
2024-04-10 12:29
v8-template.h
37.42
KB
-rw-r--r--
2024-04-10 12:29
v8-traced-handle.h
11.21
KB
-rw-r--r--
2024-04-10 12:29
v8-typed-array.h
8.06
KB
-rw-r--r--
2024-04-10 09:40
v8-unwinder.h
4.64
KB
-rw-r--r--
2024-04-10 12:29
v8-value-serializer.h
10.56
KB
-rw-r--r--
2024-04-10 12:29
v8-value.h
13.88
KB
-rw-r--r--
2024-04-10 12:29
v8-version.h
773
B
-rw-r--r--
2024-04-10 12:29
v8-wasm.h
6
KB
-rw-r--r--
2024-04-10 12:29
v8-weak-callback-info.h
2.41
KB
-rw-r--r--
2024-04-10 12:29
v8.h
3.69
KB
-rw-r--r--
2022-10-11 10:59
v8config.h
31.67
KB
-rw-r--r--
2024-04-10 12:29
zconf.h
16.77
KB
-rw-r--r--
2023-08-09 13:29
zlib.h
95.13
KB
-rw-r--r--
2024-02-13 21:51
Save
Rename
// Copyright 2023 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef INCLUDE_V8_HANDLE_BASE_H_ #define INCLUDE_V8_HANDLE_BASE_H_ #include "v8-internal.h" // NOLINT(build/include_directory) namespace v8 { namespace internal { // Helper functions about values contained in handles. // A value is either an indirect pointer or a direct pointer, depending on // whether direct local support is enabled. class ValueHelper final { public: #ifdef V8_ENABLE_DIRECT_LOCAL static constexpr Address kTaggedNullAddress = 1; static constexpr Address kEmpty = kTaggedNullAddress; #else static constexpr Address kEmpty = kNullAddress; #endif // V8_ENABLE_DIRECT_LOCAL template <typename T> V8_INLINE static bool IsEmpty(T* value) { return reinterpret_cast<Address>(value) == kEmpty; } // Returns a handle's "value" for all kinds of abstract handles. For Local, // it is equivalent to `*handle`. The variadic parameters support handle // types with extra type parameters, like `Persistent<T, M>`. template <template <typename T, typename... Ms> typename H, typename T, typename... Ms> V8_INLINE static T* HandleAsValue(const H<T, Ms...>& handle) { return handle.template value<T>(); } #ifdef V8_ENABLE_DIRECT_LOCAL template <typename T> V8_INLINE static Address ValueAsAddress(const T* value) { return reinterpret_cast<Address>(value); } template <typename T, bool check_null = true, typename S> V8_INLINE static T* SlotAsValue(S* slot) { if (check_null && slot == nullptr) { return reinterpret_cast<T*>(kTaggedNullAddress); } return *reinterpret_cast<T**>(slot); } #else // !V8_ENABLE_DIRECT_LOCAL template <typename T> V8_INLINE static Address ValueAsAddress(const T* value) { return *reinterpret_cast<const Address*>(value); } template <typename T, bool check_null = true, typename S> V8_INLINE static T* SlotAsValue(S* slot) { return reinterpret_cast<T*>(slot); } #endif // V8_ENABLE_DIRECT_LOCAL }; /** * Helper functions about handles. */ class HandleHelper final { public: /** * Checks whether two handles are equal. * They are equal iff they are both empty or they are both non-empty and the * objects to which they refer are physically equal. * * If both handles refer to JS objects, this is the same as strict equality. * For primitives, such as numbers or strings, a `false` return value does not * indicate that the values aren't equal in the JavaScript sense. * Use `Value::StrictEquals()` to check primitives for equality. */ template <typename T1, typename T2> V8_INLINE static bool EqualHandles(const T1& lhs, const T2& rhs) { if (lhs.IsEmpty()) return rhs.IsEmpty(); if (rhs.IsEmpty()) return false; return lhs.ptr() == rhs.ptr(); } static V8_EXPORT void VerifyOnStack(const void* ptr); }; } // namespace internal /** * A base class for abstract handles containing indirect pointers. * These are useful regardless of whether direct local support is enabled. */ class IndirectHandleBase { public: // Returns true if the handle is empty. V8_INLINE bool IsEmpty() const { return location_ == nullptr; } // Sets the handle to be empty. IsEmpty() will then return true. V8_INLINE void Clear() { location_ = nullptr; } protected: friend class internal::ValueHelper; friend class internal::HandleHelper; V8_INLINE IndirectHandleBase() = default; V8_INLINE IndirectHandleBase(const IndirectHandleBase& other) = default; V8_INLINE IndirectHandleBase& operator=(const IndirectHandleBase& that) = default; V8_INLINE explicit IndirectHandleBase(internal::Address* location) : location_(location) {} // Returns the address of the actual heap object (tagged). // This method must be called only if the handle is not empty, otherwise it // will crash. V8_INLINE internal::Address ptr() const { return *location_; } // Returns a reference to the slot (indirect pointer). V8_INLINE internal::Address* const& slot() const { return location_; } V8_INLINE internal::Address*& slot() { return location_; } // Returns the handler's "value" (direct or indirect pointer, depending on // whether direct local support is enabled). template <typename T> V8_INLINE T* value() const { return internal::ValueHelper::SlotAsValue<T, false>(slot()); } private: internal::Address* location_ = nullptr; }; #ifdef V8_ENABLE_DIRECT_LOCAL /** * A base class for abstract handles containing direct pointers. * These are only possible when conservative stack scanning is enabled. */ class DirectHandleBase { public: // Returns true if the handle is empty. V8_INLINE bool IsEmpty() const { return ptr_ == internal::ValueHelper::kEmpty; } // Sets the handle to be empty. IsEmpty() will then return true. V8_INLINE void Clear() { ptr_ = internal::ValueHelper::kEmpty; } protected: friend class internal::ValueHelper; friend class internal::HandleHelper; V8_INLINE DirectHandleBase() = default; V8_INLINE DirectHandleBase(const DirectHandleBase& other) = default; V8_INLINE DirectHandleBase& operator=(const DirectHandleBase& that) = default; V8_INLINE explicit DirectHandleBase(internal::Address ptr) : ptr_(ptr) {} // Returns the address of the referenced object. V8_INLINE internal::Address ptr() const { return ptr_; } // Returns the handler's "value" (direct pointer, as direct local support // is guaranteed to be enabled here). template <typename T> V8_INLINE T* value() const { return reinterpret_cast<T*>(ptr_); } private: internal::Address ptr_ = internal::ValueHelper::kEmpty; }; #endif // V8_ENABLE_DIRECT_LOCAL } // namespace v8 #endif // INCLUDE_V8_HANDLE_BASE_H_