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 <memory> | 8 #include <memory> |
9 #include <queue> | 9 #include <queue> |
10 | 10 |
(...skipping 14 matching lines...) Expand all Loading... |
25 #include "src/regexp/regexp-stack.h" | 25 #include "src/regexp/regexp-stack.h" |
26 #include "src/runtime/runtime.h" | 26 #include "src/runtime/runtime.h" |
27 #include "src/zone/zone.h" | 27 #include "src/zone/zone.h" |
28 | 28 |
29 namespace v8 { | 29 namespace v8 { |
30 | 30 |
31 namespace base { | 31 namespace base { |
32 class RandomNumberGenerator; | 32 class RandomNumberGenerator; |
33 } | 33 } |
34 | 34 |
35 namespace debug { | |
36 class ConsoleDelegate; | |
37 } | |
38 | |
39 namespace internal { | 35 namespace internal { |
40 | 36 |
41 class AccessCompilerData; | 37 class AccessCompilerData; |
42 class AddressToIndexHashMap; | 38 class AddressToIndexHashMap; |
43 class AstStringConstants; | 39 class AstStringConstants; |
44 class BasicBlockProfiler; | 40 class BasicBlockProfiler; |
45 class Bootstrapper; | 41 class Bootstrapper; |
46 class CancelableTaskManager; | 42 class CancelableTaskManager; |
47 class CallInterfaceDescriptorData; | 43 class CallInterfaceDescriptorData; |
48 class CodeAgingHelper; | 44 class CodeAgingHelper; |
(...skipping 685 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
734 Object* Throw(Object* exception, MessageLocation* location = NULL); | 730 Object* Throw(Object* exception, MessageLocation* location = NULL); |
735 Object* ThrowIllegalOperation(); | 731 Object* ThrowIllegalOperation(); |
736 | 732 |
737 template <typename T> | 733 template <typename T> |
738 MUST_USE_RESULT MaybeHandle<T> Throw(Handle<Object> exception, | 734 MUST_USE_RESULT MaybeHandle<T> Throw(Handle<Object> exception, |
739 MessageLocation* location = NULL) { | 735 MessageLocation* location = NULL) { |
740 Throw(*exception, location); | 736 Throw(*exception, location); |
741 return MaybeHandle<T>(); | 737 return MaybeHandle<T>(); |
742 } | 738 } |
743 | 739 |
744 void set_console_delegate(debug::ConsoleDelegate* delegate) { | |
745 console_delegate_ = delegate; | |
746 } | |
747 debug::ConsoleDelegate* console_delegate() { return console_delegate_; } | |
748 | |
749 // Re-throw an exception. This involves no error reporting since error | 740 // Re-throw an exception. This involves no error reporting since error |
750 // reporting was handled when the exception was thrown originally. | 741 // reporting was handled when the exception was thrown originally. |
751 Object* ReThrow(Object* exception); | 742 Object* ReThrow(Object* exception); |
752 | 743 |
753 // Find the correct handler for the current pending exception. This also | 744 // Find the correct handler for the current pending exception. This also |
754 // clears and returns the current pending exception. | 745 // clears and returns the current pending exception. |
755 Object* UnwindAndFindHandler(); | 746 Object* UnwindAndFindHandler(); |
756 | 747 |
757 // Tries to predict whether an exception will be caught. Note that this can | 748 // Tries to predict whether an exception will be caught. Note that this can |
758 // only produce an estimate, because it is undecidable whether a finally | 749 // only produce an estimate, because it is undecidable whether a finally |
(...skipping 775 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1534 BasicBlockProfiler* basic_block_profiler_; | 1525 BasicBlockProfiler* basic_block_profiler_; |
1535 | 1526 |
1536 List<Object*> partial_snapshot_cache_; | 1527 List<Object*> partial_snapshot_cache_; |
1537 | 1528 |
1538 v8::ArrayBuffer::Allocator* array_buffer_allocator_; | 1529 v8::ArrayBuffer::Allocator* array_buffer_allocator_; |
1539 | 1530 |
1540 FutexWaitListNode futex_wait_list_node_; | 1531 FutexWaitListNode futex_wait_list_node_; |
1541 | 1532 |
1542 CancelableTaskManager* cancelable_task_manager_; | 1533 CancelableTaskManager* cancelable_task_manager_; |
1543 | 1534 |
1544 debug::ConsoleDelegate* console_delegate_ = nullptr; | |
1545 | |
1546 v8::Isolate::AbortOnUncaughtExceptionCallback | 1535 v8::Isolate::AbortOnUncaughtExceptionCallback |
1547 abort_on_uncaught_exception_callback_; | 1536 abort_on_uncaught_exception_callback_; |
1548 | 1537 |
1549 #ifdef USE_SIMULATOR | 1538 #ifdef USE_SIMULATOR |
1550 base::Mutex simulator_i_cache_mutex_; | 1539 base::Mutex simulator_i_cache_mutex_; |
1551 #endif | 1540 #endif |
1552 | 1541 |
1553 bool allow_atomics_wait_; | 1542 bool allow_atomics_wait_; |
1554 | 1543 |
1555 ManagedObjectFinalizer managed_object_finalizers_list_; | 1544 ManagedObjectFinalizer managed_object_finalizers_list_; |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1787 | 1776 |
1788 EmbeddedVector<char, 128> filename_; | 1777 EmbeddedVector<char, 128> filename_; |
1789 FILE* file_; | 1778 FILE* file_; |
1790 int scope_depth_; | 1779 int scope_depth_; |
1791 }; | 1780 }; |
1792 | 1781 |
1793 } // namespace internal | 1782 } // namespace internal |
1794 } // namespace v8 | 1783 } // namespace v8 |
1795 | 1784 |
1796 #endif // V8_ISOLATE_H_ | 1785 #endif // V8_ISOLATE_H_ |
OLD | NEW |