aboutsummaryrefslogtreecommitdiff
path: root/src/external-reference-table.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/external-reference-table.cc')
-rw-r--r--src/external-reference-table.cc25
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) {