12#if V8_ENABLE_WEBASSEMBLY
25 Address instruction_start()
const {
return code->instruction_start(); }
26 Address instruction_end()
const {
return code->instruction_end(); }
27 int instruction_size()
const {
return code->instruction_size(); }
28 const uint8_t* relocation_start()
const {
return code->relocation_start(); }
29 const uint8_t* relocation_end()
const {
return code->relocation_end(); }
30 int relocation_size()
const {
return code->relocation_size(); }
31 Address code_comments()
const {
return code->code_comments(); }
32 int code_comments_size()
const {
return code->code_comments_size(); }
35#if V8_ENABLE_WEBASSEMBLY
37 const wasm::WasmCode*
code;
40 Address instruction_start()
const {
41 return reinterpret_cast<Address>(code->instructions().
begin());
43 Address instruction_end()
const {
44 return reinterpret_cast<Address>(code->instructions().
begin() +
45 code->instructions().size());
47 int instruction_size()
const {
return code->instructions().length(); }
48 const uint8_t* relocation_start()
const {
return code->reloc_info().begin(); }
49 const uint8_t* relocation_end()
const {
50 return code->reloc_info().begin() + code->reloc_info().length();
52 int relocation_size()
const {
return code->reloc_info().length(); }
53 Address code_comments()
const {
return code->code_comments(); }
54 int code_comments_size()
const {
return code->code_comments_size(); }
62 return instruction_start() +
code_desc->constant_pool_offset;
64 Address instruction_start()
const {
67 Address instruction_end()
const {
68 return instruction_start() +
code_desc->instr_size;
70 int instruction_size()
const {
return code_desc->instr_size; }
71 const uint8_t* relocation_start()
const {
74 const uint8_t* relocation_end()
const {
77 int relocation_size()
const {
return code_desc->reloc_size; }
79 return instruction_start() +
code_desc->code_comments_offset;
81 int code_comments_size()
const {
return code_desc->code_comments_size; }
85#if V8_ENABLE_WEBASSEMBLY
86#define HANDLE_WASM(...) __VA_ARGS__
88#define HANDLE_WASM(...) UNREACHABLE()
91#define DISPATCH(ret, method) \
92 ret CodeReference::method() const { \
96 return CodeOps{code_}.method(); \
97 case Kind::WASM_CODE: \
98 HANDLE_WASM(return WasmCodeOps{wasm_code_}.method()); \
99 case Kind::CODE_DESC: \
100 return CodeDescOps{code_desc_}.method(); \
110DISPATCH(
const uint8_t*, relocation_start)
111DISPATCH(
const uint8_t*, relocation_end)
const CodeDesc * code_desc
#define DISPATCH(ret, method)
Node::Uses::const_iterator begin(const Node::Uses &uses)