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

Unified Diff: test/cctest/test-serialize.cc

Issue 2045263002: [heap] Avoid the use of cells to point from code to new-space objects. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 6 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: test/cctest/test-serialize.cc
diff --git a/test/cctest/test-serialize.cc b/test/cctest/test-serialize.cc
index 141ab616d6dd9a8db2020fd5a6e8a84023708b23..f437ce3dcc79e918e649b921e29fd0bb2d9290fd 100644
--- a/test/cctest/test-serialize.cc
+++ b/test/cctest/test-serialize.cc
@@ -1854,15 +1854,19 @@ TEST(CodeSerializerCell) {
assembler.enable_serializer();
Handle<HeapNumber> number = isolate->factory()->NewHeapNumber(0.3);
CHECK(isolate->heap()->InNewSpace(*number));
- MacroAssembler* masm = &assembler;
- masm->MoveHeapObject(rax, number);
- masm->ret(0);
- CodeDesc desc;
- masm->GetCode(&desc);
- Handle<Code> code = isolate->factory()->NewCode(
- desc, Code::ComputeFlags(Code::FUNCTION), masm->CodeObject());
- code->set_has_reloc_info_for_serialization(true);
-
+ Handle<Code> code;
+ {
+ MacroAssembler* masm = &assembler;
+ Handle<Cell> cell = isolate->factory()->NewCell(number);
+ masm->Move(rax, cell, RelocInfo::CELL);
+ masm->movp(rax, Operand(rax, 0));
+ masm->ret(0);
+ CodeDesc desc;
+ masm->GetCode(&desc);
+ code = isolate->factory()->NewCode(desc, Code::ComputeFlags(Code::FUNCTION),
+ masm->CodeObject());
+ code->set_has_reloc_info_for_serialization(true);
+ }
RelocIterator rit1(*code, 1 << RelocInfo::CELL);
CHECK_EQ(*number, rit1.rinfo()->target_cell()->value());

Powered by Google App Engine
This is Rietveld 408576698