| 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 20 matching lines...) Expand all  Loading... | 
| 31 // The original source code covered by the above license above has been | 31 // The original source code covered by the above license above has been | 
| 32 // modified significantly by Google Inc. | 32 // modified significantly by Google Inc. | 
| 33 // Copyright 2012 the V8 project authors. All rights reserved. | 33 // Copyright 2012 the V8 project authors. All rights reserved. | 
| 34 | 34 | 
| 35 #ifndef V8_ASSEMBLER_H_ | 35 #ifndef V8_ASSEMBLER_H_ | 
| 36 #define V8_ASSEMBLER_H_ | 36 #define V8_ASSEMBLER_H_ | 
| 37 | 37 | 
| 38 #include "src/allocation.h" | 38 #include "src/allocation.h" | 
| 39 #include "src/builtins/builtins.h" | 39 #include "src/builtins/builtins.h" | 
| 40 #include "src/deoptimize-reason.h" | 40 #include "src/deoptimize-reason.h" | 
|  | 41 #include "src/globals.h" | 
| 41 #include "src/isolate.h" | 42 #include "src/isolate.h" | 
| 42 #include "src/log.h" | 43 #include "src/log.h" | 
| 43 #include "src/register-configuration.h" | 44 #include "src/register-configuration.h" | 
| 44 #include "src/runtime/runtime.h" | 45 #include "src/runtime/runtime.h" | 
| 45 | 46 | 
| 46 namespace v8 { | 47 namespace v8 { | 
| 47 | 48 | 
| 48 // Forward declarations. | 49 // Forward declarations. | 
| 49 class ApiFunction; | 50 class ApiFunction; | 
| 50 | 51 | 
| (...skipping 903 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 954   static ExternalReference keyed_lookup_cache_keys(Isolate* isolate); | 955   static ExternalReference keyed_lookup_cache_keys(Isolate* isolate); | 
| 955   static ExternalReference keyed_lookup_cache_field_offsets(Isolate* isolate); | 956   static ExternalReference keyed_lookup_cache_field_offsets(Isolate* isolate); | 
| 956 | 957 | 
| 957   // Static variable Heap::roots_array_start() | 958   // Static variable Heap::roots_array_start() | 
| 958   static ExternalReference roots_array_start(Isolate* isolate); | 959   static ExternalReference roots_array_start(Isolate* isolate); | 
| 959 | 960 | 
| 960   // Static variable Heap::allocation_sites_list_address() | 961   // Static variable Heap::allocation_sites_list_address() | 
| 961   static ExternalReference allocation_sites_list_address(Isolate* isolate); | 962   static ExternalReference allocation_sites_list_address(Isolate* isolate); | 
| 962 | 963 | 
| 963   // Static variable StackGuard::address_of_jslimit() | 964   // Static variable StackGuard::address_of_jslimit() | 
| 964   static ExternalReference address_of_stack_limit(Isolate* isolate); | 965   V8_EXPORT_PRIVATE static ExternalReference address_of_stack_limit( | 
|  | 966       Isolate* isolate); | 
| 965 | 967 | 
| 966   // Static variable StackGuard::address_of_real_jslimit() | 968   // Static variable StackGuard::address_of_real_jslimit() | 
| 967   static ExternalReference address_of_real_stack_limit(Isolate* isolate); | 969   static ExternalReference address_of_real_stack_limit(Isolate* isolate); | 
| 968 | 970 | 
| 969   // Static variable RegExpStack::limit_address() | 971   // Static variable RegExpStack::limit_address() | 
| 970   static ExternalReference address_of_regexp_stack_limit(Isolate* isolate); | 972   static ExternalReference address_of_regexp_stack_limit(Isolate* isolate); | 
| 971 | 973 | 
| 972   // Static variables for RegExp. | 974   // Static variables for RegExp. | 
| 973   static ExternalReference address_of_static_offsets_vector(Isolate* isolate); | 975   static ExternalReference address_of_static_offsets_vector(Isolate* isolate); | 
| 974   static ExternalReference address_of_regexp_stack_memory_address( | 976   static ExternalReference address_of_regexp_stack_memory_address( | 
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1040   static ExternalReference is_tail_call_elimination_enabled_address( | 1042   static ExternalReference is_tail_call_elimination_enabled_address( | 
| 1041       Isolate* isolate); | 1043       Isolate* isolate); | 
| 1042 | 1044 | 
| 1043   static ExternalReference debug_is_active_address(Isolate* isolate); | 1045   static ExternalReference debug_is_active_address(Isolate* isolate); | 
| 1044   static ExternalReference debug_after_break_target_address(Isolate* isolate); | 1046   static ExternalReference debug_after_break_target_address(Isolate* isolate); | 
| 1045 | 1047 | 
| 1046   static ExternalReference is_profiling_address(Isolate* isolate); | 1048   static ExternalReference is_profiling_address(Isolate* isolate); | 
| 1047   static ExternalReference invoke_function_callback(Isolate* isolate); | 1049   static ExternalReference invoke_function_callback(Isolate* isolate); | 
| 1048   static ExternalReference invoke_accessor_getter_callback(Isolate* isolate); | 1050   static ExternalReference invoke_accessor_getter_callback(Isolate* isolate); | 
| 1049 | 1051 | 
| 1050   static ExternalReference runtime_function_table_address(Isolate* isolate); | 1052   V8_EXPORT_PRIVATE static ExternalReference runtime_function_table_address( | 
|  | 1053       Isolate* isolate); | 
| 1051 | 1054 | 
| 1052   Address address() const { return reinterpret_cast<Address>(address_); } | 1055   Address address() const { return reinterpret_cast<Address>(address_); } | 
| 1053 | 1056 | 
| 1054   // Used to read out the last step action of the debugger. | 1057   // Used to read out the last step action of the debugger. | 
| 1055   static ExternalReference debug_last_step_action_address(Isolate* isolate); | 1058   static ExternalReference debug_last_step_action_address(Isolate* isolate); | 
| 1056 | 1059 | 
| 1057   // Used to check for suspended generator, used for stepping across await call. | 1060   // Used to check for suspended generator, used for stepping across await call. | 
| 1058   static ExternalReference debug_suspended_generator_address(Isolate* isolate); | 1061   static ExternalReference debug_suspended_generator_address(Isolate* isolate); | 
| 1059 | 1062 | 
| 1060 #ifndef V8_INTERPRETED_REGEXP | 1063 #ifndef V8_INTERPRETED_REGEXP | 
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1100             isolate->external_reference_redirector()); | 1103             isolate->external_reference_redirector()); | 
| 1101     void* address = reinterpret_cast<void*>(address_arg); | 1104     void* address = reinterpret_cast<void*>(address_arg); | 
| 1102     void* answer = | 1105     void* answer = | 
| 1103         (redirector == NULL) ? address : (*redirector)(isolate, address, type); | 1106         (redirector == NULL) ? address : (*redirector)(isolate, address, type); | 
| 1104     return answer; | 1107     return answer; | 
| 1105   } | 1108   } | 
| 1106 | 1109 | 
| 1107   void* address_; | 1110   void* address_; | 
| 1108 }; | 1111 }; | 
| 1109 | 1112 | 
| 1110 bool operator==(ExternalReference, ExternalReference); | 1113 V8_EXPORT_PRIVATE bool operator==(ExternalReference, ExternalReference); | 
| 1111 bool operator!=(ExternalReference, ExternalReference); | 1114 bool operator!=(ExternalReference, ExternalReference); | 
| 1112 | 1115 | 
| 1113 size_t hash_value(ExternalReference); | 1116 size_t hash_value(ExternalReference); | 
| 1114 | 1117 | 
| 1115 std::ostream& operator<<(std::ostream&, ExternalReference); | 1118 V8_EXPORT_PRIVATE std::ostream& operator<<(std::ostream&, ExternalReference); | 
| 1116 | 1119 | 
| 1117 // ----------------------------------------------------------------------------- | 1120 // ----------------------------------------------------------------------------- | 
| 1118 // Utility functions | 1121 // Utility functions | 
| 1119 | 1122 | 
| 1120 inline int NumberOfBitsSet(uint32_t x) { | 1123 inline int NumberOfBitsSet(uint32_t x) { | 
| 1121   unsigned int num_bits_set; | 1124   unsigned int num_bits_set; | 
| 1122   for (num_bits_set = 0; x; x >>= 1) { | 1125   for (num_bits_set = 0; x; x >>= 1) { | 
| 1123     num_bits_set += x & 1; | 1126     num_bits_set += x & 1; | 
| 1124   } | 1127   } | 
| 1125   return num_bits_set; | 1128   return num_bits_set; | 
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1281     std::vector<ConstantPoolEntry> shared_entries; | 1284     std::vector<ConstantPoolEntry> shared_entries; | 
| 1282   }; | 1285   }; | 
| 1283 | 1286 | 
| 1284   Label emitted_label_;  // Records pc_offset of emitted pool | 1287   Label emitted_label_;  // Records pc_offset of emitted pool | 
| 1285   PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; | 1288   PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; | 
| 1286 }; | 1289 }; | 
| 1287 | 1290 | 
| 1288 }  // namespace internal | 1291 }  // namespace internal | 
| 1289 }  // namespace v8 | 1292 }  // namespace v8 | 
| 1290 #endif  // V8_ASSEMBLER_H_ | 1293 #endif  // V8_ASSEMBLER_H_ | 
| OLD | NEW | 
|---|