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 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
312 #if V8_TARGET_ARCH_ARM64 | 312 #if V8_TARGET_ARCH_ARM64 |
313 // On ARM64, the Assembler keeps track of pointers to Labels to resolve | 313 // On ARM64, the Assembler keeps track of pointers to Labels to resolve |
314 // branches to distant targets. Copying labels would confuse the Assembler. | 314 // branches to distant targets. Copying labels would confuse the Assembler. |
315 DISALLOW_COPY_AND_ASSIGN(Label); // NOLINT | 315 DISALLOW_COPY_AND_ASSIGN(Label); // NOLINT |
316 #endif | 316 #endif |
317 }; | 317 }; |
318 | 318 |
319 | 319 |
320 enum SaveFPRegsMode { kDontSaveFPRegs, kSaveFPRegs }; | 320 enum SaveFPRegsMode { kDontSaveFPRegs, kSaveFPRegs }; |
321 | 321 |
| 322 enum ArgvMode { kArgvOnStack, kArgvInRegister }; |
| 323 |
322 // Specifies whether to perform icache flush operations on RelocInfo updates. | 324 // Specifies whether to perform icache flush operations on RelocInfo updates. |
323 // If FLUSH_ICACHE_IF_NEEDED, the icache will always be flushed if an | 325 // If FLUSH_ICACHE_IF_NEEDED, the icache will always be flushed if an |
324 // instruction was modified. If SKIP_ICACHE_FLUSH the flush will always be | 326 // instruction was modified. If SKIP_ICACHE_FLUSH the flush will always be |
325 // skipped (only use this if you will flush the icache manually before it is | 327 // skipped (only use this if you will flush the icache manually before it is |
326 // executed). | 328 // executed). |
327 enum ICacheFlushMode { FLUSH_ICACHE_IF_NEEDED, SKIP_ICACHE_FLUSH }; | 329 enum ICacheFlushMode { FLUSH_ICACHE_IF_NEEDED, SKIP_ICACHE_FLUSH }; |
328 | 330 |
329 // ----------------------------------------------------------------------------- | 331 // ----------------------------------------------------------------------------- |
330 // Relocation information | 332 // Relocation information |
331 | 333 |
(...skipping 653 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
985 static ExternalReference debug_after_break_target_address(Isolate* isolate); | 987 static ExternalReference debug_after_break_target_address(Isolate* isolate); |
986 static ExternalReference debug_restarter_frame_function_pointer_address( | 988 static ExternalReference debug_restarter_frame_function_pointer_address( |
987 Isolate* isolate); | 989 Isolate* isolate); |
988 | 990 |
989 static ExternalReference is_profiling_address(Isolate* isolate); | 991 static ExternalReference is_profiling_address(Isolate* isolate); |
990 static ExternalReference invoke_function_callback(Isolate* isolate); | 992 static ExternalReference invoke_function_callback(Isolate* isolate); |
991 static ExternalReference invoke_accessor_getter_callback(Isolate* isolate); | 993 static ExternalReference invoke_accessor_getter_callback(Isolate* isolate); |
992 | 994 |
993 static ExternalReference vector_store_virtual_register(Isolate* isolate); | 995 static ExternalReference vector_store_virtual_register(Isolate* isolate); |
994 | 996 |
| 997 static ExternalReference runtime_function_table_address(Isolate* isolate); |
| 998 |
995 Address address() const { return reinterpret_cast<Address>(address_); } | 999 Address address() const { return reinterpret_cast<Address>(address_); } |
996 | 1000 |
997 // Used to check if single stepping is enabled in generated code. | 1001 // Used to check if single stepping is enabled in generated code. |
998 static ExternalReference debug_step_in_fp_address(Isolate* isolate); | 1002 static ExternalReference debug_step_in_fp_address(Isolate* isolate); |
999 | 1003 |
1000 #ifndef V8_INTERPRETED_REGEXP | 1004 #ifndef V8_INTERPRETED_REGEXP |
1001 // C functions called from RegExp generated code. | 1005 // C functions called from RegExp generated code. |
1002 | 1006 |
1003 // Function NativeRegExpMacroAssembler::CaseInsensitiveCompareUC16() | 1007 // Function NativeRegExpMacroAssembler::CaseInsensitiveCompareUC16() |
1004 static ExternalReference re_case_insensitive_compare_uc16(Isolate* isolate); | 1008 static ExternalReference re_case_insensitive_compare_uc16(Isolate* isolate); |
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1272 std::vector<ConstantPoolEntry> shared_entries; | 1276 std::vector<ConstantPoolEntry> shared_entries; |
1273 }; | 1277 }; |
1274 | 1278 |
1275 Label emitted_label_; // Records pc_offset of emitted pool | 1279 Label emitted_label_; // Records pc_offset of emitted pool |
1276 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; | 1280 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; |
1277 }; | 1281 }; |
1278 | 1282 |
1279 } // namespace internal | 1283 } // namespace internal |
1280 } // namespace v8 | 1284 } // namespace v8 |
1281 #endif // V8_ASSEMBLER_H_ | 1285 #endif // V8_ASSEMBLER_H_ |
OLD | NEW |