| OLD | NEW | 
|---|
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 5 #ifndef V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 
| 6 #define V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 6 #define V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 
| 7 | 7 | 
| 8 #include "src/assembler.h" | 8 #include "src/assembler.h" | 
| 9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" | 
| 10 #include "src/frames.h" | 10 #include "src/frames.h" | 
| (...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 643   // --------------------------------------------------------------------------- | 643   // --------------------------------------------------------------------------- | 
| 644   // Exception handling | 644   // Exception handling | 
| 645 | 645 | 
| 646   // Push a new try handler and link into try handler chain. | 646   // Push a new try handler and link into try handler chain. | 
| 647   void PushTryHandler(StackHandler::Kind kind, int handler_index); | 647   void PushTryHandler(StackHandler::Kind kind, int handler_index); | 
| 648 | 648 | 
| 649   // Unlink the stack handler on top of the stack from the try handler chain. | 649   // Unlink the stack handler on top of the stack from the try handler chain. | 
| 650   // Must preserve the result register. | 650   // Must preserve the result register. | 
| 651   void PopTryHandler(); | 651   void PopTryHandler(); | 
| 652 | 652 | 
| 653   // Passes thrown value to the handler of top of the try handler chain. |  | 
| 654   void Throw(Register value); |  | 
| 655 |  | 
| 656   // Propagates an uncatchable exception to the top of the current JS stack's |  | 
| 657   // handler chain. |  | 
| 658   void ThrowUncatchable(Register value); |  | 
| 659 |  | 
| 660   // --------------------------------------------------------------------------- | 653   // --------------------------------------------------------------------------- | 
| 661   // Inline caching support | 654   // Inline caching support | 
| 662 | 655 | 
| 663   // Generate code for checking access rights - used for security checks | 656   // Generate code for checking access rights - used for security checks | 
| 664   // on access to global objects across environments. The holder register | 657   // on access to global objects across environments. The holder register | 
| 665   // is left untouched, whereas both scratch registers are clobbered. | 658   // is left untouched, whereas both scratch registers are clobbered. | 
| 666   void CheckAccessGlobalProxy(Register holder_reg, | 659   void CheckAccessGlobalProxy(Register holder_reg, | 
| 667                               Register scratch, | 660                               Register scratch, | 
| 668                               Label* miss); | 661                               Label* miss); | 
| 669 | 662 | 
| (...skipping 792 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1462                   Condition cond,  // eq for new space, ne otherwise. | 1455                   Condition cond,  // eq for new space, ne otherwise. | 
| 1463                   Label* branch); | 1456                   Label* branch); | 
| 1464 | 1457 | 
| 1465   // Helper for finding the mark bits for an address.  Afterwards, the | 1458   // Helper for finding the mark bits for an address.  Afterwards, the | 
| 1466   // bitmap register points at the word with the mark bits and the mask | 1459   // bitmap register points at the word with the mark bits and the mask | 
| 1467   // the position of the first bit.  Leaves addr_reg unchanged. | 1460   // the position of the first bit.  Leaves addr_reg unchanged. | 
| 1468   inline void GetMarkBits(Register addr_reg, | 1461   inline void GetMarkBits(Register addr_reg, | 
| 1469                           Register bitmap_reg, | 1462                           Register bitmap_reg, | 
| 1470                           Register mask_reg); | 1463                           Register mask_reg); | 
| 1471 | 1464 | 
| 1472   // Helper for throwing exceptions.  Compute a handler address and jump to |  | 
| 1473   // it.  See the implementation for register usage. |  | 
| 1474   void JumpToHandlerEntry(); |  | 
| 1475 |  | 
| 1476   // Compute memory operands for safepoint stack slots. | 1465   // Compute memory operands for safepoint stack slots. | 
| 1477   static int SafepointRegisterStackIndex(int reg_code); | 1466   static int SafepointRegisterStackIndex(int reg_code); | 
| 1478   MemOperand SafepointRegisterSlot(Register reg); | 1467   MemOperand SafepointRegisterSlot(Register reg); | 
| 1479   MemOperand SafepointRegistersAndDoublesSlot(Register reg); | 1468   MemOperand SafepointRegistersAndDoublesSlot(Register reg); | 
| 1480 | 1469 | 
| 1481   // Loads the constant pool pointer (pp) register. | 1470   // Loads the constant pool pointer (pp) register. | 
| 1482   void LoadConstantPoolPointerRegister(); | 1471   void LoadConstantPoolPointerRegister(); | 
| 1483 | 1472 | 
| 1484   bool generating_stub_; | 1473   bool generating_stub_; | 
| 1485   bool has_frame_; | 1474   bool has_frame_; | 
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1549 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1538 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 
| 1550 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1539 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 
| 1551 #else | 1540 #else | 
| 1552 #define ACCESS_MASM(masm) masm-> | 1541 #define ACCESS_MASM(masm) masm-> | 
| 1553 #endif | 1542 #endif | 
| 1554 | 1543 | 
| 1555 | 1544 | 
| 1556 } }  // namespace v8::internal | 1545 } }  // namespace v8::internal | 
| 1557 | 1546 | 
| 1558 #endif  // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 1547 #endif  // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 
| OLD | NEW | 
|---|