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 637 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
648 private: | 648 private: |
649 Isolate* isolate_; | 649 Isolate* isolate_; |
650 Handle<Object> pending_exception_; | 650 Handle<Object> pending_exception_; |
651 }; | 651 }; |
652 | 652 |
653 void SetCaptureStackTraceForUncaughtExceptions( | 653 void SetCaptureStackTraceForUncaughtExceptions( |
654 bool capture, | 654 bool capture, |
655 int frame_limit, | 655 int frame_limit, |
656 StackTrace::StackTraceOptions options); | 656 StackTrace::StackTraceOptions options); |
657 | 657 |
| 658 void SetAbortOnUncaughtExceptionCallback( |
| 659 v8::Isolate::AbortOnUncaughtExceptionCallback callback); |
| 660 |
658 enum PrintStackMode { kPrintStackConcise, kPrintStackVerbose }; | 661 enum PrintStackMode { kPrintStackConcise, kPrintStackVerbose }; |
659 void PrintCurrentStackTrace(FILE* out); | 662 void PrintCurrentStackTrace(FILE* out); |
660 void PrintStack(StringStream* accumulator, | 663 void PrintStack(StringStream* accumulator, |
661 PrintStackMode mode = kPrintStackVerbose); | 664 PrintStackMode mode = kPrintStackVerbose); |
662 void PrintStack(FILE* out, PrintStackMode mode = kPrintStackVerbose); | 665 void PrintStack(FILE* out, PrintStackMode mode = kPrintStackVerbose); |
663 Handle<String> StackTraceString(); | 666 Handle<String> StackTraceString(); |
664 NO_INLINE(void PushStackTraceAndDie(unsigned int magic, void* ptr1, | 667 NO_INLINE(void PushStackTraceAndDie(unsigned int magic, void* ptr1, |
665 void* ptr2, unsigned int magic2)); | 668 void* ptr2, unsigned int magic2)); |
666 Handle<JSArray> CaptureCurrentStackTrace( | 669 Handle<JSArray> CaptureCurrentStackTrace( |
667 int frame_limit, | 670 int frame_limit, |
(...skipping 650 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1318 BasicBlockProfiler* basic_block_profiler_; | 1321 BasicBlockProfiler* basic_block_profiler_; |
1319 | 1322 |
1320 List<Object*> partial_snapshot_cache_; | 1323 List<Object*> partial_snapshot_cache_; |
1321 | 1324 |
1322 v8::ArrayBuffer::Allocator* array_buffer_allocator_; | 1325 v8::ArrayBuffer::Allocator* array_buffer_allocator_; |
1323 | 1326 |
1324 FutexWaitListNode futex_wait_list_node_; | 1327 FutexWaitListNode futex_wait_list_node_; |
1325 | 1328 |
1326 std::set<Cancelable*> cancelable_tasks_; | 1329 std::set<Cancelable*> cancelable_tasks_; |
1327 | 1330 |
| 1331 v8::Isolate::AbortOnUncaughtExceptionCallback |
| 1332 abort_on_uncaught_exception_callback_; |
| 1333 |
1328 friend class ExecutionAccess; | 1334 friend class ExecutionAccess; |
1329 friend class HandleScopeImplementer; | 1335 friend class HandleScopeImplementer; |
1330 friend class OptimizingCompileDispatcher; | 1336 friend class OptimizingCompileDispatcher; |
1331 friend class SweeperThread; | 1337 friend class SweeperThread; |
1332 friend class ThreadManager; | 1338 friend class ThreadManager; |
1333 friend class Simulator; | 1339 friend class Simulator; |
1334 friend class StackGuard; | 1340 friend class StackGuard; |
1335 friend class ThreadId; | 1341 friend class ThreadId; |
1336 friend class TestMemoryAllocatorScope; | 1342 friend class TestMemoryAllocatorScope; |
1337 friend class TestCodeRangeScope; | 1343 friend class TestCodeRangeScope; |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1546 } | 1552 } |
1547 | 1553 |
1548 EmbeddedVector<char, 128> filename_; | 1554 EmbeddedVector<char, 128> filename_; |
1549 FILE* file_; | 1555 FILE* file_; |
1550 int scope_depth_; | 1556 int scope_depth_; |
1551 }; | 1557 }; |
1552 | 1558 |
1553 } } // namespace v8::internal | 1559 } } // namespace v8::internal |
1554 | 1560 |
1555 #endif // V8_ISOLATE_H_ | 1561 #endif // V8_ISOLATE_H_ |
OLD | NEW |