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 596 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
607 } | 607 } |
608 | 608 |
609 // Bottom JS entry. | 609 // Bottom JS entry. |
610 Address js_entry_sp() { | 610 Address js_entry_sp() { |
611 return thread_local_top_.js_entry_sp_; | 611 return thread_local_top_.js_entry_sp_; |
612 } | 612 } |
613 inline Address* js_entry_sp_address() { | 613 inline Address* js_entry_sp_address() { |
614 return &thread_local_top_.js_entry_sp_; | 614 return &thread_local_top_.js_entry_sp_; |
615 } | 615 } |
616 | 616 |
617 inline Address interpreter_entry_trampoline_start() { | |
618 return interpreter_entry_trampoline_start_; | |
Yang
2016/02/25 11:50:43
Do we really need this cache? This requires the co
rmcilroy
2016/02/25 11:55:11
This is not a cache, it is required for safty in t
rmcilroy
2016/02/25 15:06:54
Done.
| |
619 } | |
620 inline Address interpreter_entry_trampoline_end() { | |
621 return interpreter_entry_trampoline_end_; | |
622 } | |
623 inline Address interpreter_bytecode_dispatch_start() { | |
624 return interpreter_bytecode_dispatch_start_; | |
625 } | |
626 inline Address interpreter_bytecode_dispatch_end() { | |
627 return interpreter_bytecode_dispatch_end_; | |
628 } | |
629 | |
617 // Returns the global object of the current context. It could be | 630 // Returns the global object of the current context. It could be |
618 // a builtin object, or a JS global object. | 631 // a builtin object, or a JS global object. |
619 inline Handle<JSGlobalObject> global_object(); | 632 inline Handle<JSGlobalObject> global_object(); |
620 | 633 |
621 // Returns the global proxy object of the current context. | 634 // Returns the global proxy object of the current context. |
622 JSObject* global_proxy() { | 635 JSObject* global_proxy() { |
623 return context()->global_proxy(); | 636 return context()->global_proxy(); |
624 } | 637 } |
625 | 638 |
626 static int ArchiveSpacePerThread() { return sizeof(ThreadLocalTop); } | 639 static int ArchiveSpacePerThread() { return sizeof(ThreadLocalTop); } |
(...skipping 681 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1308 | 1321 |
1309 DeferredHandles* deferred_handles_head_; | 1322 DeferredHandles* deferred_handles_head_; |
1310 OptimizingCompileDispatcher* optimizing_compile_dispatcher_; | 1323 OptimizingCompileDispatcher* optimizing_compile_dispatcher_; |
1311 | 1324 |
1312 // Counts deopt points if deopt_every_n_times is enabled. | 1325 // Counts deopt points if deopt_every_n_times is enabled. |
1313 unsigned int stress_deopt_count_; | 1326 unsigned int stress_deopt_count_; |
1314 | 1327 |
1315 Address virtual_handler_register_; | 1328 Address virtual_handler_register_; |
1316 Address virtual_slot_register_; | 1329 Address virtual_slot_register_; |
1317 | 1330 |
1331 // Addresses used in frames.cc to determine if a frame is an interpreter | |
1332 // frame without looking at heap objects. | |
1333 Address interpreter_entry_trampoline_start_; | |
1334 Address interpreter_entry_trampoline_end_; | |
1335 Address interpreter_bytecode_dispatch_start_; | |
1336 Address interpreter_bytecode_dispatch_end_; | |
1337 | |
1318 int next_optimization_id_; | 1338 int next_optimization_id_; |
1319 | 1339 |
1320 // Counts javascript calls from the API. Wraps around on overflow. | 1340 // Counts javascript calls from the API. Wraps around on overflow. |
1321 unsigned int js_calls_from_api_counter_; | 1341 unsigned int js_calls_from_api_counter_; |
1322 | 1342 |
1323 #if TRACE_MAPS | 1343 #if TRACE_MAPS |
1324 int next_unique_sfi_id_; | 1344 int next_unique_sfi_id_; |
1325 #endif | 1345 #endif |
1326 | 1346 |
1327 // List of callbacks before a Call starts execution. | 1347 // List of callbacks before a Call starts execution. |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1566 | 1586 |
1567 EmbeddedVector<char, 128> filename_; | 1587 EmbeddedVector<char, 128> filename_; |
1568 FILE* file_; | 1588 FILE* file_; |
1569 int scope_depth_; | 1589 int scope_depth_; |
1570 }; | 1590 }; |
1571 | 1591 |
1572 } // namespace internal | 1592 } // namespace internal |
1573 } // namespace v8 | 1593 } // namespace v8 |
1574 | 1594 |
1575 #endif // V8_ISOLATE_H_ | 1595 #endif // V8_ISOLATE_H_ |
OLD | NEW |