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 | 5 // modification, are permitted provided that the following conditions |
6 // are met: | 6 // are 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 548 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
559 static const int kCallTargetAddressOffset = kInstrSize; | 559 static const int kCallTargetAddressOffset = kInstrSize; |
560 | 560 |
561 // Distance between start of patched return sequence and the emitted address | 561 // Distance between start of patched return sequence and the emitted address |
562 // to jump to. | 562 // to jump to. |
563 static const int kPatchReturnSequenceAddressOffset = kInstrSize; | 563 static const int kPatchReturnSequenceAddressOffset = kInstrSize; |
564 | 564 |
565 // Difference between address of current opcode and value read from pc | 565 // Difference between address of current opcode and value read from pc |
566 // register. | 566 // register. |
567 static const int kPcLoadDelta = 8; | 567 static const int kPcLoadDelta = 8; |
568 | 568 |
| 569 static const int kJSReturnSequenceLength = 4; |
569 | 570 |
570 // --------------------------------------------------------------------------- | 571 // --------------------------------------------------------------------------- |
571 // Code generation | 572 // Code generation |
572 | 573 |
573 // Insert the smallest number of nop instructions | 574 // Insert the smallest number of nop instructions |
574 // possible to align the pc offset to a multiple | 575 // possible to align the pc offset to a multiple |
575 // of m. m must be a power of 2 (>= 4). | 576 // of m. m must be a power of 2 (>= 4). |
576 void Align(int m); | 577 void Align(int m); |
577 | 578 |
578 // Branch instructions | 579 // Branch instructions |
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
990 void RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data = 0); | 991 void RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data = 0); |
991 | 992 |
992 friend class RegExpMacroAssemblerARM; | 993 friend class RegExpMacroAssemblerARM; |
993 friend class RelocInfo; | 994 friend class RelocInfo; |
994 friend class CodePatcher; | 995 friend class CodePatcher; |
995 }; | 996 }; |
996 | 997 |
997 } } // namespace v8::internal | 998 } } // namespace v8::internal |
998 | 999 |
999 #endif // V8_ARM_ASSEMBLER_ARM_H_ | 1000 #endif // V8_ARM_ASSEMBLER_ARM_H_ |
OLD | NEW |