Index: src/bootstrapper.cc |
diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc |
index 6944dc8d948cb3b99b990f2ff9c47f96b2fd98b7..a813e35ff67ed5ebe4275ca4ff062ee32f8ffc24 100644 |
--- a/src/bootstrapper.cc |
+++ b/src/bootstrapper.cc |
@@ -3573,11 +3573,36 @@ void Genesis::InitializeGlobal_harmony_sharedarraybuffer() { |
Handle<JSObject> atomics_object = factory->NewJSObject(cons, TENURED); |
DCHECK(atomics_object->IsJSObject()); |
JSObject::AddProperty(global, name, atomics_object, DONT_ENUM); |
+ JSObject::AddProperty(atomics_object, factory->to_string_tag_symbol(), name, |
+ static_cast<PropertyAttributes>(DONT_ENUM | READ_ONLY)); |
SimpleInstallFunction(atomics_object, factory->InternalizeUtf8String("load"), |
Builtins::kAtomicsLoad, 2, true); |
SimpleInstallFunction(atomics_object, factory->InternalizeUtf8String("store"), |
Builtins::kAtomicsStore, 3, true); |
+ SimpleInstallFunction(atomics_object, factory->InternalizeUtf8String("add"), |
+ Builtins::kAtomicsAdd, 3, true); |
+ SimpleInstallFunction(atomics_object, factory->InternalizeUtf8String("sub"), |
+ Builtins::kAtomicsSub, 3, true); |
+ SimpleInstallFunction(atomics_object, factory->InternalizeUtf8String("and"), |
+ Builtins::kAtomicsAnd, 3, true); |
+ SimpleInstallFunction(atomics_object, factory->InternalizeUtf8String("or"), |
+ Builtins::kAtomicsOr, 3, true); |
+ SimpleInstallFunction(atomics_object, factory->InternalizeUtf8String("xor"), |
+ Builtins::kAtomicsXor, 3, true); |
+ SimpleInstallFunction(atomics_object, |
+ factory->InternalizeUtf8String("exchange"), |
+ Builtins::kAtomicsExchange, 3, true); |
+ SimpleInstallFunction(atomics_object, |
+ factory->InternalizeUtf8String("compareExchange"), |
+ Builtins::kAtomicsCompareExchange, 4, true); |
+ SimpleInstallFunction(atomics_object, |
+ factory->InternalizeUtf8String("isLockFree"), |
+ Builtins::kAtomicsIsLockFree, 1, true); |
+ SimpleInstallFunction(atomics_object, factory->InternalizeUtf8String("wait"), |
+ Builtins::kAtomicsWait, 4, true); |
+ SimpleInstallFunction(atomics_object, factory->InternalizeUtf8String("wake"), |
+ Builtins::kAtomicsWake, 3, true); |
} |
void Genesis::InitializeGlobal_harmony_array_prototype_values() { |
@@ -4123,8 +4148,7 @@ bool Genesis::InstallNatives(GlobalContextType context_type) { |
bool Genesis::InstallExperimentalNatives() { |
static const char* harmony_tailcalls_natives[] = {nullptr}; |
- static const char* harmony_sharedarraybuffer_natives[] = { |
- "native harmony-atomics.js", NULL}; |
+ static const char* harmony_sharedarraybuffer_natives[] = {nullptr}; |
static const char* harmony_do_expressions_natives[] = {nullptr}; |
static const char* harmony_regexp_lookbehind_natives[] = {nullptr}; |
static const char* harmony_regexp_named_captures_natives[] = {nullptr}; |