diff options
Diffstat (limited to 'src/external-reference-table.cc')
-rw-r--r-- | src/external-reference-table.cc | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/src/external-reference-table.cc b/src/external-reference-table.cc index 2e9fc465..6c72a46e 100644 --- a/src/external-reference-table.cc +++ b/src/external-reference-table.cc @@ -10,6 +10,7 @@ #include "src/counters.h" #include "src/deoptimizer.h" #include "src/ic/stub-cache.h" +#include "src/objects-inl.h" #if defined(DEBUG) && defined(V8_OS_LINUX) && !defined(V8_OS_ANDROID) #define SYMBOLIZE_FUNCTION @@ -228,6 +229,10 @@ void ExternalReferenceTable::AddReferences(Isolate* isolate) { "f64_asin_wrapper"); Add(ExternalReference::f64_mod_wrapper_function(isolate).address(), "f64_mod_wrapper"); + Add(ExternalReference::wasm_call_trap_callback_for_testing(isolate).address(), + "wasm::call_trap_callback_for_testing"); + Add(ExternalReference::libc_memchr_function(isolate).address(), + "libc_memchr"); Add(ExternalReference::log_enter_external_function(isolate).address(), "Logger::EnterExternal"); Add(ExternalReference::log_leave_external_function(isolate).address(), @@ -249,16 +254,21 @@ void ExternalReferenceTable::AddReferences(Isolate* isolate) { "double_absolute_constant"); Add(ExternalReference::address_of_double_neg_constant().address(), "double_negate_constant"); + Add(ExternalReference::promise_hook_or_debug_is_active_address(isolate) + .address(), + "Isolate::promise_hook_or_debug_is_active_address()"); // Debug addresses - Add(ExternalReference::debug_after_break_target_address(isolate).address(), - "Debug::after_break_target_address()"); Add(ExternalReference::debug_is_active_address(isolate).address(), "Debug::is_active_address()"); + Add(ExternalReference::debug_hook_on_function_call_address(isolate).address(), + "Debug::hook_on_function_call_address()"); Add(ExternalReference::debug_last_step_action_address(isolate).address(), "Debug::step_in_enabled_address()"); Add(ExternalReference::debug_suspended_generator_address(isolate).address(), "Debug::step_suspended_generator_address()"); + Add(ExternalReference::debug_restart_fp_address(isolate).address(), + "Debug::restart_fp_address()"); #ifndef V8_INTERPRETED_REGEXP Add(ExternalReference::re_case_insensitive_compare_uc16(isolate).address(), @@ -363,9 +373,8 @@ void ExternalReferenceTable::AddAccessors(Isolate* isolate) { }; static const AccessorRefTable getters[] = { -#define ACCESSOR_INFO_DECLARATION(name) \ - { FUNCTION_ADDR(&Accessors::name##Getter), \ - "Redirect to Accessors::" #name "Getter"}, +#define ACCESSOR_INFO_DECLARATION(name) \ + {FUNCTION_ADDR(&Accessors::name##Getter), "Accessors::" #name "Getter"}, ACCESSOR_INFO_LIST(ACCESSOR_INFO_DECLARATION) #undef ACCESSOR_INFO_DECLARATION }; @@ -377,10 +386,7 @@ void ExternalReferenceTable::AddAccessors(Isolate* isolate) { }; for (unsigned i = 0; i < arraysize(getters); ++i) { - const char* name = getters[i].name + 12; // Skip "Redirect to " prefix. - Add(getters[i].address, name); - Add(AccessorInfo::redirect(isolate, getters[i].address, ACCESSOR_GETTER), - getters[i].name); + Add(getters[i].address, getters[i].name); } for (unsigned i = 0; i < arraysize(setters); ++i) { @@ -438,6 +444,7 @@ void ExternalReferenceTable::AddDeoptEntries(Isolate* isolate) { void ExternalReferenceTable::AddApiReferences(Isolate* isolate) { // Add external references provided by the embedder (a null-terminated // array). + api_refs_start_ = size(); intptr_t* api_external_references = isolate->api_external_references(); if (api_external_references != nullptr) { while (*api_external_references != 0) { |