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_ISOLATE_H_ | 5 #ifndef V8_ISOLATE_H_ |
6 #define V8_ISOLATE_H_ | 6 #define V8_ISOLATE_H_ |
7 | 7 |
8 #include <queue> | 8 #include <queue> |
9 #include "include/v8-debug.h" | 9 #include "include/v8-debug.h" |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 1100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1111 BasicBlockProfiler* basic_block_profiler() { return basic_block_profiler_; } | 1111 BasicBlockProfiler* basic_block_profiler() { return basic_block_profiler_; } |
1112 | 1112 |
1113 static Isolate* NewForTesting() { return new Isolate(false); } | 1113 static Isolate* NewForTesting() { return new Isolate(false); } |
1114 | 1114 |
1115 std::string GetTurboCfgFileName(); | 1115 std::string GetTurboCfgFileName(); |
1116 | 1116 |
1117 #if TRACE_MAPS | 1117 #if TRACE_MAPS |
1118 int GetNextUniqueSharedFunctionInfoId() { return next_unique_sfi_id_++; } | 1118 int GetNextUniqueSharedFunctionInfoId() { return next_unique_sfi_id_++; } |
1119 #endif | 1119 #endif |
1120 | 1120 |
| 1121 void set_store_buffer_hash_set_1_address( |
| 1122 uintptr_t* store_buffer_hash_set_1_address) { |
| 1123 store_buffer_hash_set_1_address_ = store_buffer_hash_set_1_address; |
| 1124 } |
| 1125 |
| 1126 uintptr_t* store_buffer_hash_set_1_address() { |
| 1127 return store_buffer_hash_set_1_address_; |
| 1128 } |
| 1129 |
| 1130 void set_store_buffer_hash_set_2_address( |
| 1131 uintptr_t* store_buffer_hash_set_2_address) { |
| 1132 store_buffer_hash_set_2_address_ = store_buffer_hash_set_2_address; |
| 1133 } |
| 1134 |
| 1135 uintptr_t* store_buffer_hash_set_2_address() { |
| 1136 return store_buffer_hash_set_2_address_; |
| 1137 } |
| 1138 |
1121 private: | 1139 private: |
1122 explicit Isolate(bool enable_serializer); | 1140 explicit Isolate(bool enable_serializer); |
1123 | 1141 |
1124 friend struct GlobalState; | 1142 friend struct GlobalState; |
1125 friend struct InitializeGlobalState; | 1143 friend struct InitializeGlobalState; |
1126 | 1144 |
1127 // These fields are accessed through the API, offsets must be kept in sync | 1145 // These fields are accessed through the API, offsets must be kept in sync |
1128 // with v8::internal::Internals (in include/v8.h) constants. This is also | 1146 // with v8::internal::Internals (in include/v8.h) constants. This is also |
1129 // verified in Isolate::Init() using runtime checks. | 1147 // verified in Isolate::Init() using runtime checks. |
1130 void* embedder_data_[Internals::kNumIsolateDataSlots]; | 1148 void* embedder_data_[Internals::kNumIsolateDataSlots]; |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1263 StringTracker* string_tracker_; | 1281 StringTracker* string_tracker_; |
1264 unibrow::Mapping<unibrow::Ecma262UnCanonicalize> jsregexp_uncanonicalize_; | 1282 unibrow::Mapping<unibrow::Ecma262UnCanonicalize> jsregexp_uncanonicalize_; |
1265 unibrow::Mapping<unibrow::CanonicalizationRange> jsregexp_canonrange_; | 1283 unibrow::Mapping<unibrow::CanonicalizationRange> jsregexp_canonrange_; |
1266 unibrow::Mapping<unibrow::Ecma262Canonicalize> | 1284 unibrow::Mapping<unibrow::Ecma262Canonicalize> |
1267 regexp_macro_assembler_canonicalize_; | 1285 regexp_macro_assembler_canonicalize_; |
1268 RegExpStack* regexp_stack_; | 1286 RegExpStack* regexp_stack_; |
1269 DateCache* date_cache_; | 1287 DateCache* date_cache_; |
1270 unibrow::Mapping<unibrow::Ecma262Canonicalize> interp_canonicalize_mapping_; | 1288 unibrow::Mapping<unibrow::Ecma262Canonicalize> interp_canonicalize_mapping_; |
1271 CallInterfaceDescriptorData* call_descriptor_data_; | 1289 CallInterfaceDescriptorData* call_descriptor_data_; |
1272 base::RandomNumberGenerator* random_number_generator_; | 1290 base::RandomNumberGenerator* random_number_generator_; |
| 1291 // TODO(hpayer): Remove the following store buffer addresses. |
| 1292 uintptr_t* store_buffer_hash_set_1_address_; |
| 1293 uintptr_t* store_buffer_hash_set_2_address_; |
1273 | 1294 |
1274 // Whether the isolate has been created for snapshotting. | 1295 // Whether the isolate has been created for snapshotting. |
1275 bool serializer_enabled_; | 1296 bool serializer_enabled_; |
1276 | 1297 |
1277 // True if fatal error has been signaled for this isolate. | 1298 // True if fatal error has been signaled for this isolate. |
1278 bool has_fatal_error_; | 1299 bool has_fatal_error_; |
1279 | 1300 |
1280 // True if this isolate was initialized from a snapshot. | 1301 // True if this isolate was initialized from a snapshot. |
1281 bool initialized_from_snapshot_; | 1302 bool initialized_from_snapshot_; |
1282 | 1303 |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1557 } | 1578 } |
1558 | 1579 |
1559 EmbeddedVector<char, 128> filename_; | 1580 EmbeddedVector<char, 128> filename_; |
1560 FILE* file_; | 1581 FILE* file_; |
1561 int scope_depth_; | 1582 int scope_depth_; |
1562 }; | 1583 }; |
1563 | 1584 |
1564 } } // namespace v8::internal | 1585 } } // namespace v8::internal |
1565 | 1586 |
1566 #endif // V8_ISOLATE_H_ | 1587 #endif // V8_ISOLATE_H_ |
OLD | NEW |