Index: src/bootstrapper.cc |
diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc |
index 4b8077e100c845a185d2f4c4e2ef8d52cffdb586..eb7400ae7fe8571b2013c03734a8965dd9aec959 100644 |
--- a/src/bootstrapper.cc |
+++ b/src/bootstrapper.cc |
@@ -1752,83 +1752,18 @@ void Genesis::InitializeBuiltinTypedArrays() { |
} |
-#define INSTALL_NATIVE(Type, name, var) \ |
- Handle<Object> var##_native = \ |
- Object::GetProperty(isolate, container, name, STRICT).ToHandleChecked(); \ |
- DCHECK(var##_native->Is##Type()); \ |
- native_context->set_##var(Type::cast(*var##_native)); |
+#define INSTALL_NATIVE(index, Type, name) \ |
+ Handle<Object> name##_native = \ |
+ Object::GetProperty(isolate, container, #name, STRICT) \ |
+ .ToHandleChecked(); \ |
+ DCHECK(name##_native->Is##Type()); \ |
+ native_context->set_##name(Type::cast(*name##_native)); |
void Bootstrapper::ImportNatives(Isolate* isolate, Handle<JSObject> container) { |
HandleScope scope(isolate); |
Handle<Context> native_context = isolate->native_context(); |
- INSTALL_NATIVE(JSFunction, "CreateDate", create_date_fun); |
- INSTALL_NATIVE(JSFunction, "ToNumber", to_number_fun); |
- INSTALL_NATIVE(JSFunction, "ToString", to_string_fun); |
- INSTALL_NATIVE(JSFunction, "ToDetailString", to_detail_string_fun); |
- INSTALL_NATIVE(JSFunction, "NoSideEffectToString", |
- no_side_effect_to_string_fun); |
- INSTALL_NATIVE(JSFunction, "ToInteger", to_integer_fun); |
- INSTALL_NATIVE(JSFunction, "ToLength", to_length_fun); |
- |
- INSTALL_NATIVE(JSFunction, "GlobalEval", global_eval_fun); |
- INSTALL_NATIVE(JSFunction, "GetStackTraceLine", get_stack_trace_line_fun); |
- INSTALL_NATIVE(JSFunction, "ToCompletePropertyDescriptor", |
- to_complete_property_descriptor); |
- INSTALL_NATIVE(JSFunction, "ObjectDefineOwnProperty", |
- object_define_own_property); |
- INSTALL_NATIVE(JSFunction, "ObjectGetOwnPropertyDescriptor", |
- object_get_own_property_descriptor); |
- INSTALL_NATIVE(JSFunction, "MessageGetLineNumber", message_get_line_number); |
- INSTALL_NATIVE(JSFunction, "MessageGetColumnNumber", |
- message_get_column_number); |
- INSTALL_NATIVE(JSFunction, "MessageGetSourceLine", message_get_source_line); |
- INSTALL_NATIVE(JSObject, "StackOverflowBoilerplate", |
- stack_overflow_boilerplate); |
- INSTALL_NATIVE(JSFunction, "JsonSerializeAdapter", json_serialize_adapter); |
- |
- INSTALL_NATIVE(JSFunction, "Error", error_function); |
- INSTALL_NATIVE(JSFunction, "EvalError", eval_error_function); |
- INSTALL_NATIVE(JSFunction, "RangeError", range_error_function); |
- INSTALL_NATIVE(JSFunction, "ReferenceError", reference_error_function); |
- INSTALL_NATIVE(JSFunction, "SyntaxError", syntax_error_function); |
- INSTALL_NATIVE(JSFunction, "TypeError", type_error_function); |
- INSTALL_NATIVE(JSFunction, "URIError", uri_error_function); |
- INSTALL_NATIVE(JSFunction, "MakeError", make_error_function); |
- |
- INSTALL_NATIVE(JSFunction, "PromiseCreate", promise_create); |
- INSTALL_NATIVE(JSFunction, "PromiseResolve", promise_resolve); |
- INSTALL_NATIVE(JSFunction, "PromiseReject", promise_reject); |
- INSTALL_NATIVE(JSFunction, "PromiseChain", promise_chain); |
- INSTALL_NATIVE(JSFunction, "PromiseCatch", promise_catch); |
- INSTALL_NATIVE(JSFunction, "PromiseThen", promise_then); |
- INSTALL_NATIVE(JSFunction, "PromiseHasUserDefinedRejectHandler", |
- promise_has_user_defined_reject_handler); |
- |
- INSTALL_NATIVE(JSFunction, "ObserveNotifyChange", observers_notify_change); |
- INSTALL_NATIVE(JSFunction, "ObserveEnqueueSpliceRecord", |
- observers_enqueue_splice); |
- INSTALL_NATIVE(JSFunction, "ObserveBeginPerformSplice", |
- observers_begin_perform_splice); |
- INSTALL_NATIVE(JSFunction, "ObserveEndPerformSplice", |
- observers_end_perform_splice); |
- INSTALL_NATIVE(JSFunction, "ObserveNativeObjectObserve", |
- native_object_observe); |
- INSTALL_NATIVE(JSFunction, "ObserveNativeObjectGetNotifier", |
- native_object_get_notifier); |
- INSTALL_NATIVE(JSFunction, "ObserveNativeObjectNotifierPerformChange", |
- native_object_notifier_perform_change); |
- |
- INSTALL_NATIVE(JSFunction, "ArrayValues", array_values_iterator); |
- INSTALL_NATIVE(JSFunction, "MapGet", map_get); |
- INSTALL_NATIVE(JSFunction, "MapSet", map_set); |
- INSTALL_NATIVE(JSFunction, "MapHas", map_has); |
- INSTALL_NATIVE(JSFunction, "MapDelete", map_delete); |
- INSTALL_NATIVE(JSFunction, "SetAdd", set_add); |
- INSTALL_NATIVE(JSFunction, "SetHas", set_has); |
- INSTALL_NATIVE(JSFunction, "SetDelete", set_delete); |
- INSTALL_NATIVE(JSFunction, "MapFromArray", map_from_array); |
- INSTALL_NATIVE(JSFunction, "SetFromArray", set_from_array); |
+ NATIVE_CONTEXT_IMPORTED_FIELDS(INSTALL_NATIVE) |
} |
@@ -1865,10 +1800,7 @@ static void InstallExperimentalNatives_harmony_proxies( |
Isolate* isolate, Handle<Context> native_context, |
Handle<JSObject> container) { |
if (FLAG_harmony_proxies) { |
- INSTALL_NATIVE(JSFunction, "ProxyDerivedGetTrap", derived_get_trap); |
- INSTALL_NATIVE(JSFunction, "ProxyDerivedHasTrap", derived_has_trap); |
- INSTALL_NATIVE(JSFunction, "ProxyDerivedSetTrap", derived_set_trap); |
- INSTALL_NATIVE(JSFunction, "ProxyEnumerate", proxy_enumerate); |
+ NATIVE_CONTEXT_IMPORTED_FIELDS_FOR_PROXY(INSTALL_NATIVE) |
} |
} |