diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2011-11-02 16:58:08 +0100 |
---|---|---|
committer | Ben Noordhuis <info@bnoordhuis.nl> | 2011-11-02 16:58:35 +0100 |
commit | edea4122b1c725a9f7873c02fe04100995472ddc (patch) | |
tree | 3334347495150cfd3a68909489689c112457ae07 /deps/v8/test/cctest | |
parent | cc9223406837e7610b5f36b16b6a0e51861370cb (diff) | |
download | node-new-edea4122b1c725a9f7873c02fe04100995472ddc.tar.gz |
Revert "Upgrade V8 to 3.7.1"
This reverts commit 92f5a5d3caf01f382f90c235e9057590a5e76870.
V8 3.7.1 in debug mode on ia32 has a curious race-like bug where an fs.Stats
object is not fully formed until some time after it's created. This is easy
to demonstrate by running `make test-debug`.
V8 3.7.0 does not exhibit this behaviour so back we go.
Fixes #1981.
Diffstat (limited to 'deps/v8/test/cctest')
-rw-r--r-- | deps/v8/test/cctest/cctest.status | 3 | ||||
-rw-r--r-- | deps/v8/test/cctest/test-api.cc | 72 | ||||
-rw-r--r-- | deps/v8/test/cctest/test-debug.cc | 11 | ||||
-rw-r--r-- | deps/v8/test/cctest/test-dictionary.cc | 69 | ||||
-rw-r--r-- | deps/v8/test/cctest/test-heap-profiler.cc | 22 | ||||
-rwxr-xr-x | deps/v8/test/cctest/test-parsing.cc | 172 | ||||
-rw-r--r-- | deps/v8/test/cctest/test-serialize.cc | 3 |
7 files changed, 27 insertions, 325 deletions
diff --git a/deps/v8/test/cctest/cctest.status b/deps/v8/test/cctest/cctest.status index 7161345ece..759f69f339 100644 --- a/deps/v8/test/cctest/cctest.status +++ b/deps/v8/test/cctest/cctest.status @@ -52,6 +52,9 @@ test-profile-generator/RecordStackTraceAtStartProfiling: PASS || FAIL # We do not yet shrink weak maps after they have been emptied by the GC test-weakmaps/Shrinking: FAIL +# NewGC: BUG(1717) +test-api/OutOfMemoryNested: PASS || TIMEOUT + ############################################################################## [ $arch == arm ] diff --git a/deps/v8/test/cctest/test-api.cc b/deps/v8/test/cctest/test-api.cc index 5081a648bc..167c4cd155 100644 --- a/deps/v8/test/cctest/test-api.cc +++ b/deps/v8/test/cctest/test-api.cc @@ -5438,109 +5438,67 @@ static int StrNCmp16(uint16_t* a, uint16_t* b, int n) { THREADED_TEST(StringWrite) { - LocalContext context; v8::HandleScope scope; v8::Handle<String> str = v8_str("abcde"); // abc<Icelandic eth><Unicode snowman>. v8::Handle<String> str2 = v8_str("abc\303\260\342\230\203"); - const int kStride = 4; // Must match stride in for loops in JS below. - CompileRun( - "var left = '';" - "for (var i = 0; i < 0xd800; i += 4) {" - " left = left + String.fromCharCode(i);" - "}"); - CompileRun( - "var right = '';" - "for (var i = 0; i < 0xd800; i += 4) {" - " right = String.fromCharCode(i) + right;" - "}"); - v8::Handle<v8::Object> global = Context::GetCurrent()->Global(); - Handle<String> left_tree = global->Get(v8_str("left")).As<String>(); - Handle<String> right_tree = global->Get(v8_str("right")).As<String>(); CHECK_EQ(5, str2->Length()); - CHECK_EQ(0xd800 / kStride, left_tree->Length()); - CHECK_EQ(0xd800 / kStride, right_tree->Length()); char buf[100]; - char utf8buf[0xd800 * 3]; + char utf8buf[100]; uint16_t wbuf[100]; int len; int charlen; - memset(utf8buf, 0x1, 1000); + memset(utf8buf, 0x1, sizeof(utf8buf)); len = str2->WriteUtf8(utf8buf, sizeof(utf8buf), &charlen); CHECK_EQ(9, len); CHECK_EQ(5, charlen); CHECK_EQ(0, strcmp(utf8buf, "abc\303\260\342\230\203")); - memset(utf8buf, 0x1, 1000); + memset(utf8buf, 0x1, sizeof(utf8buf)); len = str2->WriteUtf8(utf8buf, 8, &charlen); CHECK_EQ(8, len); CHECK_EQ(5, charlen); CHECK_EQ(0, strncmp(utf8buf, "abc\303\260\342\230\203\1", 9)); - memset(utf8buf, 0x1, 1000); + memset(utf8buf, 0x1, sizeof(utf8buf)); len = str2->WriteUtf8(utf8buf, 7, &charlen); CHECK_EQ(5, len); CHECK_EQ(4, charlen); CHECK_EQ(0, strncmp(utf8buf, "abc\303\260\1", 5)); - memset(utf8buf, 0x1, 1000); + memset(utf8buf, 0x1, sizeof(utf8buf)); len = str2->WriteUtf8(utf8buf, 6, &charlen); CHECK_EQ(5, len); CHECK_EQ(4, charlen); CHECK_EQ(0, strncmp(utf8buf, "abc\303\260\1", 5)); - memset(utf8buf, 0x1, 1000); + memset(utf8buf, 0x1, sizeof(utf8buf)); len = str2->WriteUtf8(utf8buf, 5, &charlen); CHECK_EQ(5, len); CHECK_EQ(4, charlen); CHECK_EQ(0, strncmp(utf8buf, "abc\303\260\1", 5)); - memset(utf8buf, 0x1, 1000); + memset(utf8buf, 0x1, sizeof(utf8buf)); len = str2->WriteUtf8(utf8buf, 4, &charlen); CHECK_EQ(3, len); CHECK_EQ(3, charlen); CHECK_EQ(0, strncmp(utf8buf, "abc\1", 4)); - memset(utf8buf, 0x1, 1000); + memset(utf8buf, 0x1, sizeof(utf8buf)); len = str2->WriteUtf8(utf8buf, 3, &charlen); CHECK_EQ(3, len); CHECK_EQ(3, charlen); CHECK_EQ(0, strncmp(utf8buf, "abc\1", 4)); - memset(utf8buf, 0x1, 1000); + memset(utf8buf, 0x1, sizeof(utf8buf)); len = str2->WriteUtf8(utf8buf, 2, &charlen); CHECK_EQ(2, len); CHECK_EQ(2, charlen); CHECK_EQ(0, strncmp(utf8buf, "ab\1", 3)); - memset(utf8buf, 0x1, sizeof(utf8buf)); - len = left_tree->Utf8Length(); - int utf8_expected = - (0x80 + (0x800 - 0x80) * 2 + (0xd800 - 0x800) * 3) / kStride; - CHECK_EQ(utf8_expected, len); - len = left_tree->WriteUtf8(utf8buf, utf8_expected, &charlen); - CHECK_EQ(utf8_expected, len); - CHECK_EQ(0xd800 / kStride, charlen); - CHECK_EQ(0xed, static_cast<unsigned char>(utf8buf[utf8_expected - 3])); - CHECK_EQ(0x9f, static_cast<unsigned char>(utf8buf[utf8_expected - 2])); - CHECK_EQ(0xc0 - kStride, - static_cast<unsigned char>(utf8buf[utf8_expected - 1])); - CHECK_EQ(1, utf8buf[utf8_expected]); - - memset(utf8buf, 0x1, sizeof(utf8buf)); - len = right_tree->Utf8Length(); - CHECK_EQ(utf8_expected, len); - len = right_tree->WriteUtf8(utf8buf, utf8_expected, &charlen); - CHECK_EQ(utf8_expected, len); - CHECK_EQ(0xd800 / kStride, charlen); - CHECK_EQ(0xed, static_cast<unsigned char>(utf8buf[0])); - CHECK_EQ(0x9f, static_cast<unsigned char>(utf8buf[1])); - CHECK_EQ(0xc0 - kStride, static_cast<unsigned char>(utf8buf[2])); - CHECK_EQ(1, utf8buf[utf8_expected]); - memset(buf, 0x1, sizeof(buf)); memset(wbuf, 0x1, sizeof(wbuf)); len = str->WriteAscii(buf); @@ -11482,7 +11440,6 @@ static void MorphAString(i::String* string, // Test that we can still flatten a string if the components it is built up // from have been turned into 16 bit strings in the mean time. THREADED_TEST(MorphCompositeStringTest) { - char utf_buffer[129]; const char* c_string = "Now is the time for all good men" " to come to the aid of the party"; uint16_t* two_byte_string = AsciiToTwoByteString(c_string); @@ -11511,17 +11468,6 @@ THREADED_TEST(MorphCompositeStringTest) { MorphAString(*v8::Utils::OpenHandle(*lhs), &ascii_resource, &uc16_resource); MorphAString(*v8::Utils::OpenHandle(*rhs), &ascii_resource, &uc16_resource); - // This should UTF-8 without flattening, since everything is ASCII. - Handle<String> cons = v8_compile("cons")->Run().As<String>(); - CHECK_EQ(128, cons->Utf8Length()); - int nchars = -1; - CHECK_EQ(129, cons->WriteUtf8(utf_buffer, -1, &nchars)); - CHECK_EQ(128, nchars); - CHECK_EQ(0, strcmp( - utf_buffer, - "Now is the time for all good men to come to the aid of the party" - "Now is the time for all good men to come to the aid of the party")); - // Now do some stuff to make sure the strings are flattened, etc. CompileRun( "/[^a-z]/.test(cons);" diff --git a/deps/v8/test/cctest/test-debug.cc b/deps/v8/test/cctest/test-debug.cc index cf723bafbd..de60d4999d 100644 --- a/deps/v8/test/cctest/test-debug.cc +++ b/deps/v8/test/cctest/test-debug.cc @@ -409,8 +409,11 @@ Handle<FixedArray> GetDebuggedFunctions() { static Handle<Code> ComputeCallDebugBreak(int argc) { - return Isolate::Current()->stub_cache()->ComputeCallDebugBreak(argc, - Code::CALL_IC); + CALL_HEAP_FUNCTION( + v8::internal::Isolate::Current(), + v8::internal::Isolate::Current()->stub_cache()->ComputeCallDebugBreak( + argc, Code::CALL_IC), + Code); } @@ -422,8 +425,8 @@ void CheckDebuggerUnloaded(bool check_functions) { CHECK_EQ(NULL, Isolate::Current()->debug()->debug_info_list_); // Collect garbage to ensure weak handles are cleared. - HEAP->CollectAllGarbage(Heap::kNoGCFlags); - HEAP->CollectAllGarbage(Heap::kMakeHeapIterableMask); + HEAP->CollectAllGarbage(i::Heap::kNoGCFlags); + HEAP->CollectAllGarbage(i::Heap::kMakeHeapIterableMask); // Iterate the head and check that there are no debugger related objects left. HeapIterator iterator; diff --git a/deps/v8/test/cctest/test-dictionary.cc b/deps/v8/test/cctest/test-dictionary.cc index 793e228a97..15a854b363 100644 --- a/deps/v8/test/cctest/test-dictionary.cc +++ b/deps/v8/test/cctest/test-dictionary.cc @@ -38,7 +38,6 @@ using namespace v8::internal; - TEST(ObjectHashTable) { v8::HandleScope scope; LocalContext context; @@ -67,8 +66,7 @@ TEST(ObjectHashTable) { CHECK_EQ(table->NumberOfDeletedElements(), 1); CHECK_EQ(table->Lookup(*a), HEAP->undefined_value()); - // Keys should map back to their respective values and also should get - // an identity hash code generated. + // Keys should map back to their respective values. for (int i = 0; i < 100; i++) { Handle<JSObject> key = FACTORY->NewJSArray(7); Handle<JSObject> value = FACTORY->NewJSArray(11); @@ -76,67 +74,12 @@ TEST(ObjectHashTable) { CHECK_EQ(table->NumberOfElements(), i + 1); CHECK_NE(table->FindEntry(*key), ObjectHashTable::kNotFound); CHECK_EQ(table->Lookup(*key), *value); - CHECK(key->GetIdentityHash(OMIT_CREATION)->ToObjectChecked()->IsSmi()); - } - - // Keys never added to the map which already have an identity hash - // code should not be found. - for (int i = 0; i < 100; i++) { - Handle<JSObject> key = FACTORY->NewJSArray(7); - CHECK(key->GetIdentityHash(ALLOW_CREATION)->ToObjectChecked()->IsSmi()); - CHECK_EQ(table->FindEntry(*key), ObjectHashTable::kNotFound); - CHECK_EQ(table->Lookup(*key), HEAP->undefined_value()); - CHECK(key->GetIdentityHash(OMIT_CREATION)->ToObjectChecked()->IsSmi()); } - // Keys that don't have an identity hash should not be found and also - // should not get an identity hash code generated. - for (int i = 0; i < 100; i++) { - Handle<JSObject> key = FACTORY->NewJSArray(7); - CHECK_EQ(table->Lookup(*key), HEAP->undefined_value()); - CHECK_EQ(key->GetIdentityHash(OMIT_CREATION), HEAP->undefined_value()); + // Keys never added to the map should not be found. + for (int i = 0; i < 1000; i++) { + Handle<JSObject> o = FACTORY->NewJSArray(100); + CHECK_EQ(table->FindEntry(*o), ObjectHashTable::kNotFound); + CHECK_EQ(table->Lookup(*o), HEAP->undefined_value()); } } - - -#ifdef DEBUG -TEST(ObjectHashSetCausesGC) { - v8::HandleScope scope; - LocalContext context; - Handle<ObjectHashSet> table = FACTORY->NewObjectHashSet(1); - Handle<JSObject> key = FACTORY->NewJSArray(0); - - // Simulate a full heap so that generating an identity hash code - // in subsequent calls will request GC. - FLAG_gc_interval = 0; - - // Calling Contains() should not cause GC ever. - CHECK(!table->Contains(*key)); - - // Calling Remove() should not cause GC ever. - CHECK(!table->Remove(*key)->IsFailure()); - - // Calling Add() should request GC by returning a failure. - CHECK(table->Add(*key)->IsRetryAfterGC()); -} -#endif - - -#ifdef DEBUG -TEST(ObjectHashTableCausesGC) { - v8::HandleScope scope; - LocalContext context; - Handle<ObjectHashTable> table = FACTORY->NewObjectHashTable(1); - Handle<JSObject> key = FACTORY->NewJSArray(0); - - // Simulate a full heap so that generating an identity hash code - // in subsequent calls will request GC. - FLAG_gc_interval = 0; - - // Calling Lookup() should not cause GC ever. - CHECK(table->Lookup(*key)->IsUndefined()); - - // Calling Put() should request GC by returning a failure. - CHECK(table->Put(*key, *key)->IsRetryAfterGC()); -} -#endif diff --git a/deps/v8/test/cctest/test-heap-profiler.cc b/deps/v8/test/cctest/test-heap-profiler.cc index 87e7a7d0f9..d695d7438f 100644 --- a/deps/v8/test/cctest/test-heap-profiler.cc +++ b/deps/v8/test/cctest/test-heap-profiler.cc @@ -252,28 +252,6 @@ TEST(HeapSnapshotHeapNumbers) { CHECK_EQ(v8::HeapGraphNode::kHeapNumber, b->GetType()); } -TEST(HeapSnapshotSlicedString) { - v8::HandleScope scope; - LocalContext env; - CompileRun( - "parent_string = \"123456789.123456789.123456789.123456789.123456789." - "123456789.123456789.123456789.123456789.123456789." - "123456789.123456789.123456789.123456789.123456789." - "123456789.123456789.123456789.123456789.123456789.\";" - "child_string = parent_string.slice(100);"); - const v8::HeapSnapshot* snapshot = - v8::HeapProfiler::TakeSnapshot(v8_str("strings")); - const v8::HeapGraphNode* global = GetGlobalObject(snapshot); - const v8::HeapGraphNode* parent_string = - GetProperty(global, v8::HeapGraphEdge::kShortcut, "parent_string"); - CHECK_NE(NULL, parent_string); - const v8::HeapGraphNode* child_string = - GetProperty(global, v8::HeapGraphEdge::kShortcut, "child_string"); - CHECK_NE(NULL, child_string); - const v8::HeapGraphNode* parent = - GetProperty(child_string, v8::HeapGraphEdge::kInternal, "parent"); - CHECK_EQ(parent_string, parent); -} TEST(HeapSnapshotInternalReferences) { v8::HandleScope scope; diff --git a/deps/v8/test/cctest/test-parsing.cc b/deps/v8/test/cctest/test-parsing.cc index 8cfd5f71fd..8f217e6cde 100755 --- a/deps/v8/test/cctest/test-parsing.cc +++ b/deps/v8/test/cctest/test-parsing.cc @@ -260,11 +260,10 @@ TEST(StandAlonePreParser) { i::JavaScriptScanner scanner(i::Isolate::Current()->unicode_cache()); scanner.Initialize(&stream); - int flags = i::kAllowLazy | i::kAllowNativesSyntax; v8::preparser::PreParser::PreParseResult result = v8::preparser::PreParser::PreParseProgram(&scanner, &log, - flags, + true, stack_limit); CHECK_EQ(v8::preparser::PreParser::kPreParseSuccess, result); i::ScriptDataImpl data(log.ExtractData()); @@ -273,43 +272,6 @@ TEST(StandAlonePreParser) { } -TEST(StandAlonePreParserNoNatives) { - v8::V8::Initialize(); - - int marker; - i::Isolate::Current()->stack_guard()->SetStackLimit( - reinterpret_cast<uintptr_t>(&marker) - 128 * 1024); - - const char* programs[] = { - "%ArgleBargle(glop);", - "var x = %_IsSmi(42);", - NULL - }; - - uintptr_t stack_limit = i::Isolate::Current()->stack_guard()->real_climit(); - for (int i = 0; programs[i]; i++) { - const char* program = programs[i]; - i::Utf8ToUC16CharacterStream stream( - reinterpret_cast<const i::byte*>(program), - static_cast<unsigned>(strlen(program))); - i::CompleteParserRecorder log; - i::JavaScriptScanner scanner(i::Isolate::Current()->unicode_cache()); - scanner.Initialize(&stream); - - // Flags don't allow natives syntax. - v8::preparser::PreParser::PreParseResult result = - v8::preparser::PreParser::PreParseProgram(&scanner, - &log, - i::kAllowLazy, - stack_limit); - CHECK_EQ(v8::preparser::PreParser::kPreParseSuccess, result); - i::ScriptDataImpl data(log.ExtractData()); - // Data contains syntax error. - CHECK(data.has_error()); - } -} - - TEST(RegressChromium62639) { v8::V8::Initialize(); @@ -744,135 +706,3 @@ TEST(RegExpScanning) { TestScanRegExp("/=/", "="); TestScanRegExp("/=?/", "=?"); } - - -TEST(ScopePositions) { - // Test the parser for correctly setting the start and end positions - // of a scope. We check the scope positions of exactly one scope - // nested in the global scope of a program. 'inner source' is the - // source code that determines the part of the source belonging - // to the nested scope. 'outer_prefix' and 'outer_suffix' are - // parts of the source that belong to the global scope. - struct SourceData { - const char* outer_prefix; - const char* inner_source; - const char* outer_suffix; - i::ScopeType scope_type; - }; - - const SourceData source_data[] = { - { " with ({}) ", "{ block; }", " more;", i::WITH_SCOPE }, - { " with ({}) ", "{ block; }", "; more;", i::WITH_SCOPE }, - { " with ({}) ", "{\n" - " block;\n" - " }", "\n" - " more;", i::WITH_SCOPE }, - { " with ({}) ", "statement;", " more;", i::WITH_SCOPE }, - { " with ({}) ", "statement", "\n" - " more;", i::WITH_SCOPE }, - { " with ({})\n" - " ", "statement;", "\n" - " more;", i::WITH_SCOPE }, - { " try {} catch ", "(e) { block; }", " more;", i::CATCH_SCOPE }, - { " try {} catch ", "(e) { block; }", "; more;", i::CATCH_SCOPE }, - { " try {} catch ", "(e) {\n" - " block;\n" - " }", "\n" - " more;", i::CATCH_SCOPE }, - { " try {} catch ", "(e) { block; }", " finally { block; } more;", - i::CATCH_SCOPE }, - { " start;\n" - " ", "{ let block; }", " more;", i::BLOCK_SCOPE }, - { " start;\n" - " ", "{ let block; }", "; more;", i::BLOCK_SCOPE }, - { " start;\n" - " ", "{\n" - " let block;\n" - " }", "\n" - " more;", i::BLOCK_SCOPE }, - { " start;\n" - " function fun", "(a,b) { infunction; }", " more;", - i::FUNCTION_SCOPE }, - { " start;\n" - " function fun", "(a,b) {\n" - " infunction;\n" - " }", "\n" - " more;", i::FUNCTION_SCOPE }, - { " (function fun", "(a,b) { infunction; }", ")();", - i::FUNCTION_SCOPE }, - { " for ", "(let x = 1 ; x < 10; ++ x) { block; }", " more;", - i::BLOCK_SCOPE }, - { " for ", "(let x = 1 ; x < 10; ++ x) { block; }", "; more;", - i::BLOCK_SCOPE }, - { " for ", "(let x = 1 ; x < 10; ++ x) {\n" - " block;\n" - " }", "\n" - " more;", i::BLOCK_SCOPE }, - { " for ", "(let x = 1 ; x < 10; ++ x) statement;", " more;", - i::BLOCK_SCOPE }, - { " for ", "(let x = 1 ; x < 10; ++ x) statement", "\n" - " more;", i::BLOCK_SCOPE }, - { " for ", "(let x = 1 ; x < 10; ++ x)\n" - " statement;", "\n" - " more;", i::BLOCK_SCOPE }, - { " for ", "(let x in {}) { block; }", " more;", i::BLOCK_SCOPE }, - { " for ", "(let x in {}) { block; }", "; more;", i::BLOCK_SCOPE }, - { " for ", "(let x in {}) {\n" - " block;\n" - " }", "\n" - " more;", i::BLOCK_SCOPE }, - { " for ", "(let x in {}) statement;", " more;", i::BLOCK_SCOPE }, - { " for ", "(let x in {}) statement", "\n" - " more;", i::BLOCK_SCOPE }, - { " for ", "(let x in {})\n" - " statement;", "\n" - " more;", i::BLOCK_SCOPE }, - { NULL, NULL, NULL, i::EVAL_SCOPE } - }; - - v8::HandleScope handles; - v8::Persistent<v8::Context> context = v8::Context::New(); - v8::Context::Scope context_scope(context); - - int marker; - i::Isolate::Current()->stack_guard()->SetStackLimit( - reinterpret_cast<uintptr_t>(&marker) - 128 * 1024); - - for (int i = 0; source_data[i].outer_prefix; i++) { - int kPrefixLen = i::StrLength(source_data[i].outer_prefix); - int kInnerLen = i::StrLength(source_data[i].inner_source); - int kSuffixLen = i::StrLength(source_data[i].outer_suffix); - int kProgramSize = kPrefixLen + kInnerLen + kSuffixLen; - i::Vector<char> program = i::Vector<char>::New(kProgramSize + 1); - int length; - length = i::OS::SNPrintF(program, "%s%s%s", - source_data[i].outer_prefix, - source_data[i].inner_source, - source_data[i].outer_suffix); - ASSERT(length == kProgramSize); - - // Parse program source. - i::Handle<i::String> source( - FACTORY->NewStringFromAscii(i::CStrVector(program.start()))); - i::Handle<i::Script> script = FACTORY->NewScript(source); - i::Parser parser(script, false, NULL, NULL); - parser.SetHarmonyScoping(true); - i::FunctionLiteral* function = - parser.ParseProgram(source, true, i::kNonStrictMode); - ASSERT(function != NULL); - - // Check scope types and positions. - i::Scope* scope = function->scope(); - CHECK(scope->is_global_scope()); - CHECK_EQ(scope->start_position(), 0); - CHECK_EQ(scope->end_position(), kProgramSize); - CHECK_EQ(scope->inner_scopes()->length(), 1); - - i::Scope* inner_scope = scope->inner_scopes()->at(0); - CHECK_EQ(inner_scope->type(), source_data[i].scope_type); - CHECK_EQ(inner_scope->start_position(), kPrefixLen); - // The end position of a token is one position after the last - // character belonging to that token. - CHECK_EQ(inner_scope->end_position(), kPrefixLen + kInnerLen); - } -} diff --git a/deps/v8/test/cctest/test-serialize.cc b/deps/v8/test/cctest/test-serialize.cc index b5c1a09763..cccd2eec0c 100644 --- a/deps/v8/test/cctest/test-serialize.cc +++ b/deps/v8/test/cctest/test-serialize.cc @@ -130,8 +130,7 @@ TEST(ExternalReferenceEncoder) { encoder.Encode( ExternalReference::new_space_start(isolate).address())); CHECK_EQ(make_code(UNCLASSIFIED, 3), - encoder.Encode( - ExternalReference::roots_array_start(isolate).address())); + encoder.Encode(ExternalReference::roots_address(isolate).address())); } |