Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(48)

Unified Diff: src/bootstrapper.cc

Issue 2698813004: [SAB] Move Atomics builtins to C++ (Closed)
Patch Set: Clean up conversions Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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};
« no previous file with comments | « BUILD.gn ('k') | src/builtins/builtins.h » ('j') | src/builtins/builtins-sharedarraybuffer.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698