diff --git a/src/mips/assembler-mips.cc b/src/mips/assembler-mips.cc index 4ca6a91aae..51642e05c3 100644 --- a/src/mips/assembler-mips.cc +++ b/src/mips/assembler-mips.cc @@ -285,7 +285,7 @@ Assembler::Assembler(Isolate* arg_isolate, void* buffer, int buffer_size) unbound_labels_count_ = 0; block_buffer_growth_ = false; - ast_id_for_reloc_info_ = kNoASTId; + ClearRecordedAstId(); } @@ -1947,9 +1947,8 @@ void Assembler::RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data) { } ASSERT(buffer_space() >= kMaxRelocSize); // Too late to grow buffer here. 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; + RelocInfo reloc_info_with_ast_id(pc_, rmode, RecordedAstId()); + ClearRecordedAstId(); reloc_info_writer.Write(&reloc_info_with_ast_id); } else { reloc_info_writer.Write(&rinfo); diff --git a/src/mips/assembler-mips.h b/src/mips/assembler-mips.h index f3730d6f31..a16cd80ea1 100644 --- a/src/mips/assembler-mips.h +++ b/src/mips/assembler-mips.h @@ -833,7 +833,17 @@ class Assembler : public AssemblerBase { // Record the AST id of the CallIC being compiled, so that it can be placed // in the relocation information. - void RecordAstId(unsigned ast_id) { ast_id_for_reloc_info_ = ast_id; } + void SetRecordedAstId(unsigned ast_id) { + ASSERT(recorded_ast_id_ == kNoASTId); + recorded_ast_id_ = ast_id; + } + + unsigned RecordedAstId() { + ASSERT(recorded_ast_id_ != kNoASTId); + return recorded_ast_id_; + } + + void ClearRecordedAstId() { recorded_ast_id_ = kNoASTId; } // Record a comment relocation entry that can be used by a disassembler. // Use --code-comments to enable. @@ -926,7 +936,7 @@ class Assembler : public AssemblerBase { // Relocation for a type-recording IC has the AST id added to it. This // member variable is a way to pass the information from the call site to // the relocation info. - unsigned ast_id_for_reloc_info_; + unsigned recorded_ast_id_; bool emit_debug_code() const { return emit_debug_code_; } diff --git a/src/mips/macro-assembler-mips.cc b/src/mips/macro-assembler-mips.cc index 712ceec957..6cc44a01ab 100644 --- a/src/mips/macro-assembler-mips.cc +++ b/src/mips/macro-assembler-mips.cc @@ -2080,8 +2080,7 @@ void MacroAssembler::Call(Handle code, bind(&start); ASSERT(RelocInfo::IsCodeTarget(rmode)); if (rmode == RelocInfo::CODE_TARGET && ast_id != kNoASTId) { - ASSERT(ast_id_for_reloc_info_ == kNoASTId); - ast_id_for_reloc_info_ = ast_id; + SetRecordedAstId(ast_id); rmode = RelocInfo::CODE_TARGET_WITH_ID; } Call(reinterpret_cast
(code.location()), rmode, cond, rs, rt, bd);