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 <set> | 9 #include <set> |
10 | 10 |
(...skipping 1071 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1082 | 1082 |
1083 BasicBlockProfiler* GetOrCreateBasicBlockProfiler(); | 1083 BasicBlockProfiler* GetOrCreateBasicBlockProfiler(); |
1084 BasicBlockProfiler* basic_block_profiler() { return basic_block_profiler_; } | 1084 BasicBlockProfiler* basic_block_profiler() { return basic_block_profiler_; } |
1085 | 1085 |
1086 std::string GetTurboCfgFileName(); | 1086 std::string GetTurboCfgFileName(); |
1087 | 1087 |
1088 #if TRACE_MAPS | 1088 #if TRACE_MAPS |
1089 int GetNextUniqueSharedFunctionInfoId() { return next_unique_sfi_id_++; } | 1089 int GetNextUniqueSharedFunctionInfoId() { return next_unique_sfi_id_++; } |
1090 #endif | 1090 #endif |
1091 | 1091 |
| 1092 // Support for dynamically disabling tail call elimination. |
| 1093 Address is_tail_call_elimination_enabled_address() { |
| 1094 return reinterpret_cast<Address>(&is_tail_call_elimination_enabled_); |
| 1095 } |
| 1096 bool is_tail_call_elimination_enabled() const { |
| 1097 return is_tail_call_elimination_enabled_; |
| 1098 } |
| 1099 void set_tail_call_elimination_enabled(bool enabled) { |
| 1100 is_tail_call_elimination_enabled_ = enabled; |
| 1101 } |
1092 | 1102 |
1093 void AddDetachedContext(Handle<Context> context); | 1103 void AddDetachedContext(Handle<Context> context); |
1094 void CheckDetachedContextsAfterGC(); | 1104 void CheckDetachedContextsAfterGC(); |
1095 | 1105 |
1096 List<Object*>* partial_snapshot_cache() { return &partial_snapshot_cache_; } | 1106 List<Object*>* partial_snapshot_cache() { return &partial_snapshot_cache_; } |
1097 | 1107 |
1098 void set_array_buffer_allocator(v8::ArrayBuffer::Allocator* allocator) { | 1108 void set_array_buffer_allocator(v8::ArrayBuffer::Allocator* allocator) { |
1099 array_buffer_allocator_ = allocator; | 1109 array_buffer_allocator_ = allocator; |
1100 } | 1110 } |
1101 v8::ArrayBuffer::Allocator* array_buffer_allocator() const { | 1111 v8::ArrayBuffer::Allocator* array_buffer_allocator() const { |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1270 | 1280 |
1271 // Whether the isolate has been created for snapshotting. | 1281 // Whether the isolate has been created for snapshotting. |
1272 bool serializer_enabled_; | 1282 bool serializer_enabled_; |
1273 | 1283 |
1274 // True if fatal error has been signaled for this isolate. | 1284 // True if fatal error has been signaled for this isolate. |
1275 bool has_fatal_error_; | 1285 bool has_fatal_error_; |
1276 | 1286 |
1277 // True if this isolate was initialized from a snapshot. | 1287 // True if this isolate was initialized from a snapshot. |
1278 bool initialized_from_snapshot_; | 1288 bool initialized_from_snapshot_; |
1279 | 1289 |
| 1290 // True if ES2015 tail call elimination feature is enabled. |
| 1291 bool is_tail_call_elimination_enabled_; |
| 1292 |
1280 // Time stamp at initialization. | 1293 // Time stamp at initialization. |
1281 double time_millis_at_init_; | 1294 double time_millis_at_init_; |
1282 | 1295 |
1283 #ifdef DEBUG | 1296 #ifdef DEBUG |
1284 // A static array of histogram info for each type. | 1297 // A static array of histogram info for each type. |
1285 HistogramInfo heap_histograms_[LAST_TYPE + 1]; | 1298 HistogramInfo heap_histograms_[LAST_TYPE + 1]; |
1286 JSObject::SpillInformation js_spill_information_; | 1299 JSObject::SpillInformation js_spill_information_; |
1287 #endif | 1300 #endif |
1288 | 1301 |
1289 Debug* debug_; | 1302 Debug* debug_; |
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1582 | 1595 |
1583 EmbeddedVector<char, 128> filename_; | 1596 EmbeddedVector<char, 128> filename_; |
1584 FILE* file_; | 1597 FILE* file_; |
1585 int scope_depth_; | 1598 int scope_depth_; |
1586 }; | 1599 }; |
1587 | 1600 |
1588 } // namespace internal | 1601 } // namespace internal |
1589 } // namespace v8 | 1602 } // namespace v8 |
1590 | 1603 |
1591 #endif // V8_ISOLATE_H_ | 1604 #endif // V8_ISOLATE_H_ |
OLD | NEW |