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 "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
10 #include "src/base/flags.h" | 10 #include "src/base/flags.h" |
(...skipping 1271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1282 | 1282 |
1283 // Push a new stack handler and link it into stack handler chain. | 1283 // Push a new stack handler and link it into stack handler chain. |
1284 void PushStackHandler(); | 1284 void PushStackHandler(); |
1285 | 1285 |
1286 // Unlink the stack handler on top of the stack from the stack handler chain. | 1286 // Unlink the stack handler on top of the stack from the stack handler chain. |
1287 void PopStackHandler(); | 1287 void PopStackHandler(); |
1288 | 1288 |
1289 // --------------------------------------------------------------------------- | 1289 // --------------------------------------------------------------------------- |
1290 // Inline caching support | 1290 // Inline caching support |
1291 | 1291 |
1292 // Generate code for checking access rights - used for security checks | |
1293 // on access to global objects across environments. The holder register | |
1294 // is left untouched, but the scratch register and kScratchRegister, | |
1295 // which must be different, are clobbered. | |
1296 void CheckAccessGlobalProxy(Register holder_reg, | |
1297 Register scratch, | |
1298 Label* miss); | |
1299 | |
1300 void GetNumberHash(Register r0, Register scratch); | 1292 void GetNumberHash(Register r0, Register scratch); |
1301 | 1293 |
1302 // --------------------------------------------------------------------------- | 1294 // --------------------------------------------------------------------------- |
1303 // Allocation support | 1295 // Allocation support |
1304 | 1296 |
1305 // Allocate an object in new space or old space. If the given space | 1297 // Allocate an object in new space or old space. If the given space |
1306 // is exhausted control continues at the gc_required label. The allocated | 1298 // is exhausted control continues at the gc_required label. The allocated |
1307 // object is returned in result and end of the new object is returned in | 1299 // object is returned in result and end of the new object is returned in |
1308 // result_end. The register scratch can be passed as no_reg in which case | 1300 // result_end. The register scratch can be passed as no_reg in which case |
1309 // an additional object reference will be added to the reloc info. The | 1301 // an additional object reference will be added to the reloc info. The |
(...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1768 inline Operand StackOperandForReturnAddress(int32_t disp) { | 1760 inline Operand StackOperandForReturnAddress(int32_t disp) { |
1769 return Operand(rsp, disp); | 1761 return Operand(rsp, disp); |
1770 } | 1762 } |
1771 | 1763 |
1772 #define ACCESS_MASM(masm) masm-> | 1764 #define ACCESS_MASM(masm) masm-> |
1773 | 1765 |
1774 } // namespace internal | 1766 } // namespace internal |
1775 } // namespace v8 | 1767 } // namespace v8 |
1776 | 1768 |
1777 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ | 1769 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ |
OLD | NEW |