Index: src/ia32/assembler-ia32-inl.h |
diff --git a/src/ia32/assembler-ia32-inl.h b/src/ia32/assembler-ia32-inl.h |
index cb6bad8a20f71f28c1c8c70cf8d8afee2a69e46c..cba48ba458c54ff69a21240746dfddba98c44fd3 100644 |
--- a/src/ia32/assembler-ia32-inl.h |
+++ b/src/ia32/assembler-ia32-inl.h |
@@ -77,7 +77,8 @@ void RelocInfo::apply(intptr_t delta) { |
Address RelocInfo::target_address() { |
- DCHECK(IsCodeTarget(rmode_) || IsRuntimeEntry(rmode_)); |
+ DCHECK(IsCodeTarget(rmode_) || IsRuntimeEntry(rmode_) || |
+ IsWasmCodeEntry(rmode_)); |
return Assembler::target_address_at(pc_, host_); |
} |
@@ -106,7 +107,8 @@ void RelocInfo::set_target_address(Address target, |
ICacheFlushMode icache_flush_mode) { |
Assembler::set_target_address_at(isolate_, pc_, host_, target, |
icache_flush_mode); |
- DCHECK(IsCodeTarget(rmode_) || IsRuntimeEntry(rmode_)); |
+ DCHECK(IsCodeTarget(rmode_) || IsRuntimeEntry(rmode_) || |
+ IsWasmCodeEntry(rmode_)); |
if (write_barrier_mode == UPDATE_WRITE_BARRIER && host() != NULL && |
IsCodeTarget(rmode_)) { |
Object* target_code = Code::GetCodeFromTargetAddress(target); |
@@ -321,6 +323,10 @@ Immediate::Immediate(int x) { |
rmode_ = RelocInfo::NONE32; |
} |
+Immediate::Immediate(int x, RelocInfo::Mode rmode) { |
+ x_ = x; |
+ rmode_ = rmode; |
+} |
Immediate::Immediate(const ExternalReference& ext) { |
x_ = reinterpret_cast<int32_t>(ext.address()); |