OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 542 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
553 // Distance between start of patched debug break slot and the emitted address | 553 // Distance between start of patched debug break slot and the emitted address |
554 // to jump to. | 554 // to jump to. |
555 static const int kPatchDebugBreakSlotAddressOffset = 0 * kInstrSize; | 555 static const int kPatchDebugBreakSlotAddressOffset = 0 * kInstrSize; |
556 | 556 |
557 // Difference between address of current opcode and value read from pc | 557 // Difference between address of current opcode and value read from pc |
558 // register. | 558 // register. |
559 static const int kPcLoadDelta = 4; | 559 static const int kPcLoadDelta = 4; |
560 | 560 |
561 static const int kPatchDebugBreakSlotReturnOffset = 6 * kInstrSize; | 561 static const int kPatchDebugBreakSlotReturnOffset = 6 * kInstrSize; |
562 | 562 |
| 563 // Return the code target address of the patch debug break slot |
| 564 inline static Address break_address_from_break_address(Address pc); |
| 565 |
563 // Number of instructions used for the JS return sequence. The constant is | 566 // Number of instructions used for the JS return sequence. The constant is |
564 // used by the debugger to patch the JS return sequence. | 567 // used by the debugger to patch the JS return sequence. |
565 static const int kJSReturnSequenceInstructions = 7; | 568 static const int kJSReturnSequenceInstructions = 7; |
566 static const int kDebugBreakSlotInstructions = 6; | 569 static const int kDebugBreakSlotInstructions = 6; |
567 static const int kDebugBreakSlotLength = | 570 static const int kDebugBreakSlotLength = |
568 kDebugBreakSlotInstructions * kInstrSize; | 571 kDebugBreakSlotInstructions * kInstrSize; |
569 | 572 |
570 | 573 |
571 // --------------------------------------------------------------------------- | 574 // --------------------------------------------------------------------------- |
572 // Code generation. | 575 // Code generation. |
(...skipping 685 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1258 class EnsureSpace BASE_EMBEDDED { | 1261 class EnsureSpace BASE_EMBEDDED { |
1259 public: | 1262 public: |
1260 explicit EnsureSpace(Assembler* assembler) { | 1263 explicit EnsureSpace(Assembler* assembler) { |
1261 assembler->CheckBuffer(); | 1264 assembler->CheckBuffer(); |
1262 } | 1265 } |
1263 }; | 1266 }; |
1264 | 1267 |
1265 } } // namespace v8::internal | 1268 } } // namespace v8::internal |
1266 | 1269 |
1267 #endif // V8_ARM_ASSEMBLER_MIPS_H_ | 1270 #endif // V8_ARM_ASSEMBLER_MIPS_H_ |
OLD | NEW |