X7ROOT File Manager
Current Path:
/opt/alt/alt-nodejs24/root/usr/include/node
opt
/
alt
/
alt-nodejs24
/
root
/
usr
/
include
/
node
/
📁
..
📄
common.gypi
(26.04 KB)
📄
config.gypi
(32.07 KB)
📁
cppgc
📄
js_native_api.h
(31.28 KB)
📄
js_native_api_types.h
(6.87 KB)
📁
libplatform
📄
node.h
(68.94 KB)
📄
node_api.h
(10.34 KB)
📄
node_api_types.h
(1.57 KB)
📄
node_buffer.h
(3.6 KB)
📄
node_object_wrap.h
(3.78 KB)
📄
node_version.h
(4.14 KB)
📁
uv
📄
uv.h
(71.1 KB)
📄
v8-array-buffer.h
(21.49 KB)
📄
v8-callbacks.h
(19.06 KB)
📄
v8-container.h
(5.82 KB)
📄
v8-context.h
(19.27 KB)
📄
v8-cppgc.h
(5.83 KB)
📄
v8-data.h
(1.68 KB)
📄
v8-date.h
(1.41 KB)
📄
v8-debug.h
(5.26 KB)
📄
v8-embedder-heap.h
(1.62 KB)
📄
v8-embedder-state-scope.h
(1.46 KB)
📄
v8-exception.h
(9.52 KB)
📄
v8-extension.h
(1.83 KB)
📄
v8-external.h
(924 B)
📄
v8-forward.h
(1.65 KB)
📄
v8-function-callback.h
(23.84 KB)
📄
v8-function.h
(4.76 KB)
📄
v8-handle-base.h
(4.81 KB)
📄
v8-initialization.h
(11.02 KB)
📄
v8-internal.h
(69.14 KB)
📄
v8-isolate.h
(65.4 KB)
📄
v8-json.h
(1.32 KB)
📄
v8-local-handle.h
(24.35 KB)
📄
v8-locker.h
(3.86 KB)
📄
v8-maybe.h
(4.61 KB)
📄
v8-memory-span.h
(10.5 KB)
📄
v8-message.h
(6.53 KB)
📄
v8-microtask-queue.h
(4.79 KB)
📄
v8-microtask.h
(861 B)
📄
v8-object.h
(40.1 KB)
📄
v8-persistent-handle.h
(17.25 KB)
📄
v8-platform.h
(49.05 KB)
📄
v8-primitive-object.h
(2.53 KB)
📄
v8-primitive.h
(36.69 KB)
📄
v8-profiler.h
(43.27 KB)
📄
v8-promise.h
(5.16 KB)
📄
v8-proxy.h
(1.22 KB)
📄
v8-regexp.h
(3.1 KB)
📄
v8-sandbox.h
(7.47 KB)
📄
v8-script.h
(32.36 KB)
📄
v8-snapshot.h
(11.6 KB)
📄
v8-source-location.h
(2.66 KB)
📄
v8-statistics.h
(7.45 KB)
📄
v8-template.h
(41.98 KB)
📄
v8-traced-handle.h
(12.04 KB)
📄
v8-typed-array.h
(11.16 KB)
📄
v8-unwinder.h
(4.65 KB)
📄
v8-value-serializer.h
(10.56 KB)
📄
v8-value.h
(17.22 KB)
📄
v8-version.h
(773 B)
📄
v8-wasm.h
(6.83 KB)
📄
v8-weak-callback-info.h
(2.72 KB)
📄
v8.h
(3.69 KB)
📄
v8config.h
(34.39 KB)
Editing: v8-weak-callback-info.h
// Copyright 2021 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_WEAK_CALLBACK_INFO_H_ #define INCLUDE_V8_WEAK_CALLBACK_INFO_H_ #include <cstring> #include "cppgc/internal/conditional-stack-allocated.h" // NOLINT(build/include_directory) #include "v8config.h" // NOLINT(build/include_directory) namespace v8 { class Isolate; namespace api_internal { V8_EXPORT void InternalFieldOutOfBounds(int index); } // namespace api_internal static constexpr int kInternalFieldsInWeakCallback = 2; static constexpr int kEmbedderFieldsInWeakCallback = 2; template <typename T> class WeakCallbackInfo : public cppgc::internal::ConditionalStackAllocatedBase<T> { public: using Callback = void (*)(const WeakCallbackInfo<T>& data); WeakCallbackInfo(Isolate* isolate, T* parameter, void* embedder_fields[kEmbedderFieldsInWeakCallback], Callback* callback) : isolate_(isolate), parameter_(parameter), callback_(callback) { memcpy(embedder_fields_, embedder_fields, sizeof(embedder_fields[0]) * kEmbedderFieldsInWeakCallback); } V8_INLINE Isolate* GetIsolate() const { return isolate_; } V8_INLINE T* GetParameter() const { return parameter_; } V8_INLINE void* GetInternalField(int index) const; /** * When a weak callback is first invoked the embedders _must_ Reset() the * handle which triggered the callback. The handle itself is unusable for * anything else. No other V8 API calls may be called in the first callback. * Additional work requires scheduling a second invocation via * `SetSecondPassCallback()` which will be called some time after all the * initial callbacks are processed. * * The second pass callback is prohibited from executing JavaScript. Embedders * should schedule another callback in case this is required. */ void SetSecondPassCallback(Callback callback) const { *callback_ = callback; } private: Isolate* isolate_; T* parameter_; Callback* callback_; void* embedder_fields_[kEmbedderFieldsInWeakCallback]; }; /** * Weakness type for weak handles. */ enum class WeakCallbackType { /** * Passes a user-defined void* parameter back to the callback. */ kParameter, /** * Passes the first two internal fields of the object back to the callback. */ kInternalFields, }; template <class T> void* WeakCallbackInfo<T>::GetInternalField(int index) const { #ifdef V8_ENABLE_CHECKS if (index < 0 || index >= kEmbedderFieldsInWeakCallback) { api_internal::InternalFieldOutOfBounds(index); } #endif return embedder_fields_[index]; } } // namespace v8 #endif // INCLUDE_V8_WEAK_CALLBACK_INFO_H_
Upload File
Create Folder