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