%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
// 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. #if !V8_ENABLE_WEBASSEMBLY #error This header should only be included if WebAssembly is enabled. #endif // !V8_ENABLE_WEBASSEMBLY #ifndef V8_DEBUG_DEBUG_WASM_OBJECTS_H_ #define V8_DEBUG_DEBUG_WASM_OBJECTS_H_ #include <memory> #include "src/objects/js-objects.h" // Has to be the last include (doesn't have include guards): #include "src/objects/object-macros.h" namespace v8 { namespace debug { class ScopeIterator; } // namespace debug namespace internal { namespace wasm { class WasmValue; } // namespace wasm #include "torque-generated/src/debug/debug-wasm-objects-tq.inc" class ArrayList; class WasmFrame; class WasmInstanceObject; class WasmModuleObject; class WasmTableObject; class WasmValueObject : public JSObject { public: DECL_CAST(WasmValueObject) DECL_ACCESSORS(type, String) DECL_ACCESSORS(value, Object) // Dispatched behavior. DECL_PRINTER(WasmValueObject) DECL_VERIFIER(WasmValueObject) // Layout description. #define WASM_VALUE_FIELDS(V) \ V(kTypeOffset, kTaggedSize) \ V(kValueOffset, kTaggedSize) \ V(kSize, 0) DEFINE_FIELD_OFFSET_CONSTANTS(JSObject::kHeaderSize, WASM_VALUE_FIELDS) #undef WASM_VALUE_FIELDS // Indices of in-object properties. static constexpr int kTypeIndex = 0; static constexpr int kValueIndex = 1; static Handle<WasmValueObject> New(Isolate* isolate, Handle<String> type, Handle<Object> value); static Handle<WasmValueObject> New(Isolate* isolate, const wasm::WasmValue& value, Handle<WasmModuleObject> module); OBJECT_CONSTRUCTORS(WasmValueObject, JSObject); }; Handle<JSObject> GetWasmDebugProxy(WasmFrame* frame); std::unique_ptr<debug::ScopeIterator> GetWasmScopeIterator(WasmFrame* frame); Handle<String> GetWasmFunctionDebugName(Isolate* isolate, Handle<WasmInstanceObject> instance, uint32_t func_index); Handle<ArrayList> AddWasmInstanceObjectInternalProperties( Isolate* isolate, Handle<ArrayList> result, Handle<WasmInstanceObject> instance); Handle<ArrayList> AddWasmModuleObjectInternalProperties( Isolate* isolate, Handle<ArrayList> result, Handle<WasmModuleObject> module_object); Handle<ArrayList> AddWasmTableObjectInternalProperties( Isolate* isolate, Handle<ArrayList> result, Handle<WasmTableObject> table); } // namespace internal } // namespace v8 #include "src/objects/object-macros-undef.h" #endif // V8_DEBUG_DEBUG_WASM_OBJECTS_H_