| Index: src/arm/assembler-arm.cc
|
| ===================================================================
|
| --- src/arm/assembler-arm.cc (revision 4816)
|
| +++ src/arm/assembler-arm.cc (working copy)
|
| @@ -2040,6 +2040,13 @@
|
| }
|
|
|
|
|
| +void Assembler::RecordDebugBreakSlot() {
|
| + WriteRecordedPositions();
|
| + CheckBuffer();
|
| + RecordRelocInfo(RelocInfo::DEBUG_BREAK_SLOT);
|
| +}
|
| +
|
| +
|
| void Assembler::RecordComment(const char* msg) {
|
| if (FLAG_debug_code) {
|
| CheckBuffer();
|
| @@ -2062,13 +2069,16 @@
|
| }
|
|
|
|
|
| -void Assembler::WriteRecordedPositions() {
|
| +bool Assembler::WriteRecordedPositions() {
|
| + bool written = false;
|
| +
|
| // Write the statement position if it is different from what was written last
|
| // time.
|
| if (current_statement_position_ != written_statement_position_) {
|
| CheckBuffer();
|
| RecordRelocInfo(RelocInfo::STATEMENT_POSITION, current_statement_position_);
|
| written_statement_position_ = current_statement_position_;
|
| + written = true;
|
| }
|
|
|
| // Write the position if it is different from what was written last time and
|
| @@ -2078,7 +2088,11 @@
|
| CheckBuffer();
|
| RecordRelocInfo(RelocInfo::POSITION, current_position_);
|
| written_position_ = current_position_;
|
| + written = true;
|
| }
|
| +
|
| + // Return whether something was written.
|
| + return written;
|
| }
|
|
|
|
|
| @@ -2135,9 +2149,10 @@
|
|
|
| void Assembler::RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data) {
|
| RelocInfo rinfo(pc_, rmode, data); // we do not try to reuse pool constants
|
| - if (rmode >= RelocInfo::JS_RETURN && rmode <= RelocInfo::STATEMENT_POSITION) {
|
| + if (rmode >= RelocInfo::JS_RETURN && rmode <= RelocInfo::DEBUG_BREAK_SLOT) {
|
| // Adjust code for new modes.
|
| - ASSERT(RelocInfo::IsJSReturn(rmode)
|
| + ASSERT(RelocInfo::IsDebugBreakSlot(rmode)
|
| + || RelocInfo::IsJSReturn(rmode)
|
| || RelocInfo::IsComment(rmode)
|
| || RelocInfo::IsPosition(rmode));
|
| // These modes do not need an entry in the constant pool.
|
|
|