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 "../include/v8-debug.h" | 8 #include "../include/v8-debug.h" |
9 #include "allocation.h" | 9 #include "allocation.h" |
10 #include "assert-scope.h" | 10 #include "assert-scope.h" |
(...skipping 587 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
598 } | 598 } |
599 bool has_scheduled_exception() { | 599 bool has_scheduled_exception() { |
600 ASSERT(!thread_local_top_.scheduled_exception_->IsException()); | 600 ASSERT(!thread_local_top_.scheduled_exception_->IsException()); |
601 return thread_local_top_.scheduled_exception_ != heap_.the_hole_value(); | 601 return thread_local_top_.scheduled_exception_ != heap_.the_hole_value(); |
602 } | 602 } |
603 void clear_scheduled_exception() { | 603 void clear_scheduled_exception() { |
604 ASSERT(!thread_local_top_.scheduled_exception_->IsException()); | 604 ASSERT(!thread_local_top_.scheduled_exception_->IsException()); |
605 thread_local_top_.scheduled_exception_ = heap_.the_hole_value(); | 605 thread_local_top_.scheduled_exception_ = heap_.the_hole_value(); |
606 } | 606 } |
607 | 607 |
608 bool IsExternallyCaught(); | 608 bool HasExternalTryCatch(); |
vsevik
2014/06/02 15:31:28
I think these two could be made private.
yangguo@,
| |
609 bool IsFinallyOnTop(); | |
609 | 610 |
610 bool is_catchable_by_javascript(Object* exception) { | 611 bool is_catchable_by_javascript(Object* exception) { |
611 return exception != heap()->termination_exception(); | 612 return exception != heap()->termination_exception(); |
612 } | 613 } |
613 | 614 |
614 // Serializer. | 615 // Serializer. |
615 void PushToPartialSnapshotCache(Object* obj); | 616 void PushToPartialSnapshotCache(Object* obj); |
616 | 617 |
617 // JS execution stack (see frames.h). | 618 // JS execution stack (see frames.h). |
618 static Address c_entry_fp(ThreadLocalTop* thread) { | 619 static Address c_entry_fp(ThreadLocalTop* thread) { |
(...skipping 552 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1171 | 1172 |
1172 void InitializeThreadLocal(); | 1173 void InitializeThreadLocal(); |
1173 | 1174 |
1174 void MarkCompactPrologue(bool is_compacting, | 1175 void MarkCompactPrologue(bool is_compacting, |
1175 ThreadLocalTop* archived_thread_data); | 1176 ThreadLocalTop* archived_thread_data); |
1176 void MarkCompactEpilogue(bool is_compacting, | 1177 void MarkCompactEpilogue(bool is_compacting, |
1177 ThreadLocalTop* archived_thread_data); | 1178 ThreadLocalTop* archived_thread_data); |
1178 | 1179 |
1179 void FillCache(); | 1180 void FillCache(); |
1180 | 1181 |
1181 void PropagatePendingExceptionToExternalTryCatch(); | 1182 // Propagate pending exception message to the external try-catch. |
1183 // If there is no external try-catch or message was successfully propagated, | |
1184 // then return true. | |
1185 bool PropagatePendingExceptionToExternalTryCatch(); | |
1182 | 1186 |
1183 void InitializeDebugger(); | 1187 void InitializeDebugger(); |
1184 | 1188 |
1185 // Traverse prototype chain to find out whether the object is derived from | 1189 // Traverse prototype chain to find out whether the object is derived from |
1186 // the Error object. | 1190 // the Error object. |
1187 bool IsErrorObject(Handle<Object> obj); | 1191 bool IsErrorObject(Handle<Object> obj); |
1188 | 1192 |
1189 Atomic32 id_; | 1193 Atomic32 id_; |
1190 EntryStackItem* entry_stack_; | 1194 EntryStackItem* entry_stack_; |
1191 int stack_trace_nesting_level_; | 1195 int stack_trace_nesting_level_; |
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1491 } | 1495 } |
1492 | 1496 |
1493 EmbeddedVector<char, 128> filename_; | 1497 EmbeddedVector<char, 128> filename_; |
1494 FILE* file_; | 1498 FILE* file_; |
1495 int scope_depth_; | 1499 int scope_depth_; |
1496 }; | 1500 }; |
1497 | 1501 |
1498 } } // namespace v8::internal | 1502 } } // namespace v8::internal |
1499 | 1503 |
1500 #endif // V8_ISOLATE_H_ | 1504 #endif // V8_ISOLATE_H_ |
OLD | NEW |