Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 844e86327e0c4ad9f2fa4b5a7ba5bab81871cfdd..98009e6548b3c63e771c3512e22ac99b5aa12501 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -13982,8 +13982,6 @@ void Code::Relocate(intptr_t delta) { |
void Code::CopyFrom(const CodeDesc& desc) { |
- DCHECK(Marking::Color(this) == Marking::WHITE_OBJECT); |
- |
// copy code |
CopyBytes(instruction_start(), desc.buffer, |
static_cast<size_t>(desc.instr_size)); |
@@ -14007,21 +14005,22 @@ void Code::CopyFrom(const CodeDesc& desc) { |
RelocInfo::Mode mode = it.rinfo()->rmode(); |
if (mode == RelocInfo::EMBEDDED_OBJECT) { |
Handle<Object> p = it.rinfo()->target_object_handle(origin); |
- it.rinfo()->set_target_object(*p, SKIP_WRITE_BARRIER, SKIP_ICACHE_FLUSH); |
+ it.rinfo()->set_target_object(*p, UPDATE_WRITE_BARRIER, |
+ SKIP_ICACHE_FLUSH); |
} else if (mode == RelocInfo::CELL) { |
Handle<Cell> cell = it.rinfo()->target_cell_handle(); |
- it.rinfo()->set_target_cell(*cell, SKIP_WRITE_BARRIER, SKIP_ICACHE_FLUSH); |
+ it.rinfo()->set_target_cell(*cell, UPDATE_WRITE_BARRIER, |
+ SKIP_ICACHE_FLUSH); |
} else if (RelocInfo::IsCodeTarget(mode)) { |
// rewrite code handles in inline cache targets to direct |
// pointers to the first instruction in the code object |
Handle<Object> p = it.rinfo()->target_object_handle(origin); |
Code* code = Code::cast(*p); |
it.rinfo()->set_target_address(code->instruction_start(), |
- SKIP_WRITE_BARRIER, |
- SKIP_ICACHE_FLUSH); |
+ UPDATE_WRITE_BARRIER, SKIP_ICACHE_FLUSH); |
} else if (RelocInfo::IsRuntimeEntry(mode)) { |
Address p = it.rinfo()->target_runtime_entry(origin); |
- it.rinfo()->set_target_runtime_entry(p, SKIP_WRITE_BARRIER, |
+ it.rinfo()->set_target_runtime_entry(p, UPDATE_WRITE_BARRIER, |
SKIP_ICACHE_FLUSH); |
} else if (mode == RelocInfo::CODE_AGE_SEQUENCE) { |
Handle<Object> p = it.rinfo()->code_age_stub_handle(origin); |