| Index: test/cctest/test-api-fast-accessor-builder.cc
|
| diff --git a/test/cctest/test-api-fast-accessor-builder.cc b/test/cctest/test-api-fast-accessor-builder.cc
|
| index 8b85e2aa34e664b1e2959f209165ce18c076a3ce..2343697e8e327a36fa07859b94eda4aa086a6c69 100644
|
| --- a/test/cctest/test-api-fast-accessor-builder.cc
|
| +++ b/test/cctest/test-api-fast-accessor-builder.cc
|
| @@ -114,17 +114,17 @@ TEST(FastAccessor) {
|
| ExpectInt32("barf()", 124); // Call via warmed-up callsite.
|
| }
|
|
|
| -void AddInternalFieldAccessor(v8::Isolate* isolate,
|
| +void AddEmbedderFieldAccessor(v8::Isolate* isolate,
|
| v8::Local<v8::Template> templ, const char* name,
|
| int field_no, bool useUncheckedLoader) {
|
| auto builder = v8::experimental::FastAccessorBuilder::New(isolate);
|
|
|
| if (useUncheckedLoader) {
|
| builder->ReturnValue(
|
| - builder->LoadInternalFieldUnchecked(builder->GetReceiver(), field_no));
|
| + builder->LoadEmbedderFieldUnchecked(builder->GetReceiver(), field_no));
|
| } else {
|
| builder->ReturnValue(
|
| - builder->LoadInternalField(builder->GetReceiver(), field_no));
|
| + builder->LoadEmbedderField(builder->GetReceiver(), field_no));
|
| }
|
|
|
| templ->SetAccessorProperty(v8_str(name),
|
| @@ -132,7 +132,7 @@ void AddInternalFieldAccessor(v8::Isolate* isolate,
|
| isolate, NativePropertyAccessor, builder));
|
| }
|
|
|
| -void checkLoadInternalField(bool useUncheckedLoader, bool emitDebugChecks) {
|
| +void checkLoadEmbedderField(bool useUncheckedLoader, bool emitDebugChecks) {
|
| // Crankshaft support for fast accessors is not implemented; crankshafted
|
| // code uses the slow accessor which breaks this test's expectations.
|
| v8::internal::FLAG_always_opt = false;
|
| @@ -144,15 +144,15 @@ void checkLoadInternalField(bool useUncheckedLoader, bool emitDebugChecks) {
|
| v8::HandleScope scope(isolate);
|
|
|
| v8::Local<v8::ObjectTemplate> foo = v8::ObjectTemplate::New(isolate);
|
| - foo->SetInternalFieldCount(3);
|
| - AddInternalFieldAccessor(isolate, foo, "field0", 0, useUncheckedLoader);
|
| - AddInternalFieldAccessor(isolate, foo, "field1", 1, useUncheckedLoader);
|
| - AddInternalFieldAccessor(isolate, foo, "field2", 2, useUncheckedLoader);
|
| + foo->SetEmbedderFieldCount(3);
|
| + AddEmbedderFieldAccessor(isolate, foo, "field0", 0, useUncheckedLoader);
|
| + AddEmbedderFieldAccessor(isolate, foo, "field1", 1, useUncheckedLoader);
|
| + AddEmbedderFieldAccessor(isolate, foo, "field2", 2, useUncheckedLoader);
|
|
|
| - // Create an instance w/ 3 internal fields, put in a string, a Smi, nothing.
|
| + // Create an instance w/ 3 embedder fields, put in a string, a Smi, nothing.
|
| v8::Local<v8::Object> obj = foo->NewInstance(env.local()).ToLocalChecked();
|
| - obj->SetInternalField(0, v8_str("Hi there!"));
|
| - obj->SetInternalField(1, v8::Integer::New(isolate, 4321));
|
| + obj->SetEmbedderField(0, v8_str("Hi there!"));
|
| + obj->SetEmbedderField(1, v8::Integer::New(isolate, 4321));
|
| CHECK(env->Global()->Set(env.local(), v8_str("obj"), obj).FromJust());
|
|
|
| // Warmup.
|
| @@ -166,14 +166,14 @@ void checkLoadInternalField(bool useUncheckedLoader, bool emitDebugChecks) {
|
| ExpectUndefined("field2()");
|
| }
|
|
|
| -// "Fast" accessor that accesses an internal field.
|
| -TEST(FastAccessorWithInternalField) { checkLoadInternalField(false, false); }
|
| +// "Fast" accessor that accesses an embedder field.
|
| +TEST(FastAccessorWithEmbedderField) { checkLoadEmbedderField(false, false); }
|
|
|
| -// "Fast" accessor that accesses an internal field using the fast(er)
|
| -// implementation of LoadInternalField.
|
| -TEST(FastAccessorLoadInternalFieldUnchecked) {
|
| - checkLoadInternalField(true, false);
|
| - checkLoadInternalField(true, true);
|
| +// "Fast" accessor that accesses an embedder field using the fast(er)
|
| +// implementation of LoadEmbedderField.
|
| +TEST(FastAccessorLoadEmbedderFieldUnchecked) {
|
| + checkLoadEmbedderField(true, false);
|
| + checkLoadEmbedderField(true, true);
|
| }
|
|
|
| // "Fast" accessor with control flow via ...OrReturnNull methods.
|
| @@ -186,11 +186,11 @@ TEST(FastAccessorOrReturnNull) {
|
| v8::HandleScope scope(isolate);
|
|
|
| v8::Local<v8::ObjectTemplate> foo = v8::ObjectTemplate::New(isolate);
|
| - foo->SetInternalFieldCount(2);
|
| + foo->SetEmbedderFieldCount(2);
|
| {
|
| // accessor "nullcheck": Return null if field 0 is non-null object; else 5.
|
| auto builder = v8::experimental::FastAccessorBuilder::New(isolate);
|
| - auto val = builder->LoadInternalField(builder->GetReceiver(), 0);
|
| + auto val = builder->LoadEmbedderField(builder->GetReceiver(), 0);
|
| builder->CheckNotZeroOrReturnNull(val);
|
| builder->ReturnValue(builder->IntegerConstant(5));
|
| foo->SetAccessorProperty(v8_str("nullcheck"),
|
| @@ -200,7 +200,7 @@ TEST(FastAccessorOrReturnNull) {
|
| {
|
| // accessor "maskcheck": Return null if field 1 has 3rd bit set.
|
| auto builder = v8::experimental::FastAccessorBuilder::New(isolate);
|
| - auto val = builder->LoadInternalField(builder->GetReceiver(), 1);
|
| + auto val = builder->LoadEmbedderField(builder->GetReceiver(), 1);
|
| builder->CheckFlagSetOrReturnNull(val, 0x4);
|
| builder->ReturnValue(builder->IntegerConstant(42));
|
| foo->SetAccessorProperty(v8_str("maskcheck"),
|
| @@ -214,16 +214,16 @@ TEST(FastAccessorOrReturnNull) {
|
|
|
| // CheckNotZeroOrReturnNull:
|
| CompileRun(FN_WARMUP("nullcheck", "return obj.nullcheck"));
|
| - obj->SetAlignedPointerInInternalField(0, /* anything != nullptr */ isolate);
|
| + obj->SetAlignedPointerInEmbedderField(0, /* anything != nullptr */ isolate);
|
| ExpectInt32("nullcheck()", 5);
|
| - obj->SetAlignedPointerInInternalField(0, nullptr);
|
| + obj->SetAlignedPointerInEmbedderField(0, nullptr);
|
| ExpectNull("nullcheck()");
|
|
|
| // CheckFlagSetOrReturnNull:
|
| CompileRun(FN_WARMUP("maskcheck", "return obj.maskcheck"));
|
| - obj->SetAlignedPointerInInternalField(1, reinterpret_cast<void*>(0xf0));
|
| + obj->SetAlignedPointerInEmbedderField(1, reinterpret_cast<void*>(0xf0));
|
| ExpectNull("maskcheck()");
|
| - obj->SetAlignedPointerInInternalField(1, reinterpret_cast<void*>(0xfe));
|
| + obj->SetAlignedPointerInEmbedderField(1, reinterpret_cast<void*>(0xfe));
|
| ExpectInt32("maskcheck()", 42);
|
| }
|
|
|
| @@ -238,12 +238,12 @@ TEST(FastAccessorControlFlowWithLabels) {
|
| v8::HandleScope scope(isolate);
|
|
|
| v8::Local<v8::ObjectTemplate> foo = v8::ObjectTemplate::New(isolate);
|
| - foo->SetInternalFieldCount(1);
|
| + foo->SetEmbedderFieldCount(1);
|
| {
|
| // accessor isnull: 0 for nullptr, else 1.
|
| auto builder = v8::experimental::FastAccessorBuilder::New(isolate);
|
| auto label = builder->MakeLabel();
|
| - auto val = builder->LoadInternalField(builder->GetReceiver(), 0);
|
| + auto val = builder->LoadEmbedderField(builder->GetReceiver(), 0);
|
| builder->CheckNotZeroOrJump(val, label);
|
| builder->ReturnValue(builder->IntegerConstant(1));
|
| builder->SetLabel(label);
|
| @@ -259,9 +259,9 @@ TEST(FastAccessorControlFlowWithLabels) {
|
|
|
| // CheckNotZeroOrReturnNull:
|
| CompileRun(FN_WARMUP("isnull", "return obj.isnull"));
|
| - obj->SetAlignedPointerInInternalField(0, /* anything != nullptr */ isolate);
|
| + obj->SetAlignedPointerInEmbedderField(0, /* anything != nullptr */ isolate);
|
| ExpectInt32("isnull()", 1);
|
| - obj->SetAlignedPointerInInternalField(0, nullptr);
|
| + obj->SetAlignedPointerInEmbedderField(0, nullptr);
|
| ExpectInt32("isnull()", 0);
|
| }
|
|
|
| @@ -276,7 +276,7 @@ TEST(FastAccessorLoad) {
|
| v8::HandleScope scope(isolate);
|
|
|
| v8::Local<v8::ObjectTemplate> foo = v8::ObjectTemplate::New(isolate);
|
| - foo->SetInternalFieldCount(1);
|
| + foo->SetEmbedderFieldCount(1);
|
|
|
| // Internal field 0 is a pointer to a C++ data structure that we wish to load
|
| // field values from.
|
| @@ -293,7 +293,7 @@ TEST(FastAccessorLoad) {
|
| auto builder = v8::experimental::FastAccessorBuilder::New(isolate);
|
| auto label = builder->MakeLabel();
|
| auto val = builder->LoadValue(
|
| - builder->LoadInternalField(builder->GetReceiver(), 0), intval_offset);
|
| + builder->LoadEmbedderField(builder->GetReceiver(), 0), intval_offset);
|
| builder->CheckNotZeroOrJump(val, label);
|
| builder->ReturnValue(builder->IntegerConstant(1));
|
| builder->SetLabel(label);
|
| @@ -308,7 +308,7 @@ TEST(FastAccessorLoad) {
|
| reinterpret_cast<intptr_t>(&val));
|
| auto builder = v8::experimental::FastAccessorBuilder::New(isolate);
|
| builder->ReturnValue(builder->LoadObject(
|
| - builder->LoadInternalField(builder->GetReceiver(), 0), v8val_offset));
|
| + builder->LoadEmbedderField(builder->GetReceiver(), 0), v8val_offset));
|
| foo->SetAccessorProperty(v8_str("loadval"),
|
| v8::FunctionTemplate::NewWithFastHandler(
|
| isolate, NativePropertyAccessor, builder));
|
| @@ -316,7 +316,7 @@ TEST(FastAccessorLoad) {
|
|
|
| // Create an instance.
|
| v8::Local<v8::Object> obj = foo->NewInstance(env.local()).ToLocalChecked();
|
| - obj->SetAlignedPointerInInternalField(0, &val);
|
| + obj->SetAlignedPointerInEmbedderField(0, &val);
|
| CHECK(env->Global()->Set(env.local(), v8_str("obj"), obj).FromJust());
|
|
|
| // Access val.intval:
|
| @@ -411,7 +411,7 @@ TEST(FastAccessorToSmi) {
|
| v8::HandleScope scope(isolate);
|
|
|
| v8::Local<v8::ObjectTemplate> foo = v8::ObjectTemplate::New(isolate);
|
| - foo->SetInternalFieldCount(1);
|
| + foo->SetEmbedderFieldCount(1);
|
|
|
| {
|
| // Accessor load_smi.
|
| @@ -419,7 +419,7 @@ TEST(FastAccessorToSmi) {
|
|
|
| // Read the variable and convert it to a Smi.
|
| auto flags = builder->LoadValue(
|
| - builder->LoadInternalField(builder->GetReceiver(), 0), 0);
|
| + builder->LoadEmbedderField(builder->GetReceiver(), 0), 0);
|
| builder->ReturnValue(builder->ToSmi(flags));
|
| foo->SetAccessorProperty(v8_str("load_smi"),
|
| v8::FunctionTemplate::NewWithFastHandler(
|
| @@ -430,7 +430,7 @@ TEST(FastAccessorToSmi) {
|
| v8::Local<v8::Object> obj = foo->NewInstance(env.local()).ToLocalChecked();
|
|
|
| uintptr_t flags;
|
| - obj->SetAlignedPointerInInternalField(0, &flags);
|
| + obj->SetAlignedPointerInEmbedderField(0, &flags);
|
| CHECK(env->Global()->Set(env.local(), v8_str("obj"), obj).FromJust());
|
|
|
| // Access flags.
|
| @@ -455,7 +455,7 @@ TEST(FastAccessorGoto) {
|
| v8::HandleScope scope(isolate);
|
|
|
| v8::Local<v8::ObjectTemplate> foo = v8::ObjectTemplate::New(isolate);
|
| - foo->SetInternalFieldCount(1);
|
| + foo->SetEmbedderFieldCount(1);
|
|
|
| {
|
| auto builder = v8::experimental::FastAccessorBuilder::New(isolate);
|
|
|