Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 9c93a811804ea99a46f764932e47a6e0aa95526c..6b549118f28259fa585cde8747f92ef2481d3154 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -14036,8 +14036,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)); |
@@ -14061,21 +14059,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); |