| Index: src/arm/assembler-arm.cc
|
| diff --git a/src/arm/assembler-arm.cc b/src/arm/assembler-arm.cc
|
| index fd8e8b5d54ca444e3d81d23a62a0cc823c8394dd..fa97a3b3217ce506ccd8a070a831e82a47d606ae 100644
|
| --- a/src/arm/assembler-arm.cc
|
| +++ b/src/arm/assembler-arm.cc
|
| @@ -315,6 +315,7 @@ Assembler::Assembler(Isolate* arg_isolate, void* buffer, int buffer_size)
|
| no_const_pool_before_ = 0;
|
| last_const_pool_end_ = 0;
|
| last_bound_pos_ = 0;
|
| + ast_id_for_reloc_info_ = kNoASTId;
|
| }
|
|
|
|
|
| @@ -2722,7 +2723,14 @@ void Assembler::RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data) {
|
| }
|
| }
|
| ASSERT(buffer_space() >= kMaxRelocSize); // too late to grow buffer here
|
| - reloc_info_writer.Write(&rinfo);
|
| + if (rmode == RelocInfo::CODE_TARGET_WITH_ID) {
|
| + ASSERT(ast_id_for_reloc_info_ != kNoASTId);
|
| + RelocInfo reloc_info_with_ast_id(pc_, rmode, ast_id_for_reloc_info_);
|
| + ast_id_for_reloc_info_ = kNoASTId;
|
| + reloc_info_writer.Write(&reloc_info_with_ast_id);
|
| + } else {
|
| + reloc_info_writer.Write(&rinfo);
|
| + }
|
| }
|
| }
|
|
|
|
|