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

Unified Diff: test/cctest/test-identity-map.cc

Issue 1417013007: Revert of Canonicalize handles for optimized compilation. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 2 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
« no previous file with comments | « src/x87/macro-assembler-x87.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/cctest/test-identity-map.cc
diff --git a/test/cctest/test-identity-map.cc b/test/cctest/test-identity-map.cc
index 648508cbd17d060af613c513800ed1c658483efe..6254bbfc6c988a623fe2633a72934feddf5d8c72 100644
--- a/test/cctest/test-identity-map.cc
+++ b/test/cctest/test-identity-map.cc
@@ -336,85 +336,5 @@
}
}
-
-TEST(CanonicalHandleScope) {
- Isolate* isolate = CcTest::i_isolate();
- Heap* heap = CcTest::heap();
- HandleScope outer(isolate);
- CanonicalHandleScope outer_canonical(isolate);
-
- // Deduplicate smi handles.
- List<Handle<Object> > smi_handles;
- for (int i = 0; i < 100; i++) {
- smi_handles.Add(Handle<Object>(Smi::FromInt(i), isolate));
- }
- Object** next_handle = isolate->handle_scope_data()->next;
- for (int i = 0; i < 100; i++) {
- Handle<Object> new_smi = Handle<Object>(Smi::FromInt(i), isolate);
- Handle<Object> old_smi = smi_handles[i];
- CHECK_EQ(new_smi.location(), old_smi.location());
- }
- // Check that no new handles have been allocated.
- CHECK_EQ(next_handle, isolate->handle_scope_data()->next);
-
- // Deduplicate root list items.
- Handle<String> empty_string(heap->empty_string());
- Handle<Map> free_space_map(heap->free_space_map());
- Handle<Symbol> uninitialized_symbol(heap->uninitialized_symbol());
- CHECK_EQ(isolate->factory()->empty_string().location(),
- empty_string.location());
- CHECK_EQ(isolate->factory()->free_space_map().location(),
- free_space_map.location());
- CHECK_EQ(isolate->factory()->uninitialized_symbol().location(),
- uninitialized_symbol.location());
- // Check that no new handles have been allocated.
- CHECK_EQ(next_handle, isolate->handle_scope_data()->next);
-
- // Test ordinary heap objects.
- Handle<HeapNumber> number1 = isolate->factory()->NewHeapNumber(3.3);
- Handle<String> string1 =
- isolate->factory()->NewStringFromAsciiChecked("test");
- next_handle = isolate->handle_scope_data()->next;
- Handle<HeapNumber> number2(*number1);
- Handle<String> string2(*string1);
- CHECK_EQ(number1.location(), number2.location());
- CHECK_EQ(string1.location(), string2.location());
- heap->CollectAllGarbage();
- Handle<HeapNumber> number3(*number2);
- Handle<String> string3(*string2);
- CHECK_EQ(number1.location(), number3.location());
- CHECK_EQ(string1.location(), string3.location());
- // Check that no new handles have been allocated.
- CHECK_EQ(next_handle, isolate->handle_scope_data()->next);
-
- // Inner handle scope do not create canonical handles.
- {
- HandleScope inner(isolate);
- Handle<HeapNumber> number4(*number1);
- Handle<String> string4(*string1);
- CHECK_NE(number1.location(), number4.location());
- CHECK_NE(string1.location(), string4.location());
-
- // Nested canonical scope does not conflict with outer canonical scope,
- // but does not canonicalize across scopes.
- CanonicalHandleScope inner_canonical(isolate);
- Handle<HeapNumber> number5(*number4);
- Handle<String> string5(*string4);
- CHECK_NE(number4.location(), number5.location());
- CHECK_NE(string4.location(), string5.location());
- CHECK_NE(number1.location(), number5.location());
- CHECK_NE(string1.location(), string5.location());
-
- Handle<HeapNumber> number6(*number1);
- Handle<String> string6(*string1);
- CHECK_NE(number4.location(), number6.location());
- CHECK_NE(string4.location(), string6.location());
- CHECK_NE(number1.location(), number6.location());
- CHECK_NE(string1.location(), string6.location());
- CHECK_EQ(number5.location(), number6.location());
- CHECK_EQ(string5.location(), string6.location());
- }
-}
-
} // namespace internal
} // namespace v8
« no previous file with comments | « src/x87/macro-assembler-x87.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698