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_X64_MACRO_ASSEMBLER_X64_H_ | 5 #ifndef V8_X64_MACRO_ASSEMBLER_X64_H_ |
6 #define V8_X64_MACRO_ASSEMBLER_X64_H_ | 6 #define V8_X64_MACRO_ASSEMBLER_X64_H_ |
7 | 7 |
8 #include "assembler.h" | 8 #include "assembler.h" |
9 #include "frames.h" | 9 #include "frames.h" |
10 #include "globals.h" | 10 #include "globals.h" |
(...skipping 1054 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1065 // Unlink the stack handler on top of the stack from the try handler chain. | 1065 // Unlink the stack handler on top of the stack from the try handler chain. |
1066 void PopTryHandler(); | 1066 void PopTryHandler(); |
1067 | 1067 |
1068 // Activate the top handler in the try hander chain and pass the | 1068 // Activate the top handler in the try hander chain and pass the |
1069 // thrown value. | 1069 // thrown value. |
1070 void Throw(Register value); | 1070 void Throw(Register value); |
1071 | 1071 |
1072 // Propagate an uncatchable exception out of the current JS stack. | 1072 // Propagate an uncatchable exception out of the current JS stack. |
1073 void ThrowUncatchable(Register value); | 1073 void ThrowUncatchable(Register value); |
1074 | 1074 |
1075 // Throw a message string as an exception. | |
1076 void Throw(BailoutReason reason); | |
1077 | |
1078 // Throw a message string as an exception if a condition is not true. | |
1079 void ThrowIf(Condition cc, BailoutReason reason); | |
1080 | |
1081 // --------------------------------------------------------------------------- | 1075 // --------------------------------------------------------------------------- |
1082 // Inline caching support | 1076 // Inline caching support |
1083 | 1077 |
1084 // Generate code for checking access rights - used for security checks | 1078 // Generate code for checking access rights - used for security checks |
1085 // on access to global objects across environments. The holder register | 1079 // on access to global objects across environments. The holder register |
1086 // is left untouched, but the scratch register and kScratchRegister, | 1080 // is left untouched, but the scratch register and kScratchRegister, |
1087 // which must be different, are clobbered. | 1081 // which must be different, are clobbered. |
1088 void CheckAccessGlobalProxy(Register holder_reg, | 1082 void CheckAccessGlobalProxy(Register holder_reg, |
1089 Register scratch, | 1083 Register scratch, |
1090 Label* miss); | 1084 Label* miss); |
(...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1603 masm->popfq(); \ | 1597 masm->popfq(); \ |
1604 } \ | 1598 } \ |
1605 masm-> | 1599 masm-> |
1606 #else | 1600 #else |
1607 #define ACCESS_MASM(masm) masm-> | 1601 #define ACCESS_MASM(masm) masm-> |
1608 #endif | 1602 #endif |
1609 | 1603 |
1610 } } // namespace v8::internal | 1604 } } // namespace v8::internal |
1611 | 1605 |
1612 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ | 1606 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ |
OLD | NEW |