Index: src/x64/assembler-x64.cc |
=================================================================== |
--- src/x64/assembler-x64.cc (revision 6703) |
+++ src/x64/assembler-x64.cc (working copy) |
@@ -1188,6 +1188,16 @@ |
} |
+void Assembler::imull(Register dst, const Operand& src) { |
+ EnsureSpace ensure_space(this); |
+ last_pc_ = pc_; |
+ emit_optional_rex_32(dst, src); |
+ emit(0x0F); |
+ emit(0xAF); |
+ emit_operand(dst, src); |
+} |
+ |
+ |
void Assembler::imull(Register dst, Register src, Immediate imm) { |
EnsureSpace ensure_space(this); |
last_pc_ = pc_; |
@@ -3076,10 +3086,15 @@ |
void Assembler::RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data) { |
ASSERT(rmode != RelocInfo::NONE); |
// Don't record external references unless the heap will be serialized. |
- if (rmode == RelocInfo::EXTERNAL_REFERENCE && |
- !Serializer::enabled() && |
- !FLAG_debug_code) { |
- return; |
+ if (rmode == RelocInfo::EXTERNAL_REFERENCE) { |
+#ifdef DEBUG |
+ if (!Serializer::enabled()) { |
+ Serializer::TooLateToEnableNow(); |
+ } |
+#endif |
+ if (!Serializer::enabled() && !FLAG_debug_code) { |
+ return; |
+ } |
} |
RelocInfo rinfo(pc_, rmode, data); |
reloc_info_writer.Write(&rinfo); |