OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 | 100 |
101 void Top::IterateThread(ThreadVisitor* v, char* t) { | 101 void Top::IterateThread(ThreadVisitor* v, char* t) { |
102 ThreadLocalTop* thread = reinterpret_cast<ThreadLocalTop*>(t); | 102 ThreadLocalTop* thread = reinterpret_cast<ThreadLocalTop*>(t); |
103 v->VisitThread(thread); | 103 v->VisitThread(thread); |
104 } | 104 } |
105 | 105 |
106 | 106 |
107 void Top::Iterate(ObjectVisitor* v, ThreadLocalTop* thread) { | 107 void Top::Iterate(ObjectVisitor* v, ThreadLocalTop* thread) { |
108 v->VisitPointer(&(thread->pending_exception_)); | 108 v->VisitPointer(&(thread->pending_exception_)); |
109 v->VisitPointer(&(thread->pending_message_obj_)); | 109 v->VisitPointer(&(thread->pending_message_obj_)); |
110 v->VisitPointer( | 110 v->VisitPointer(BitCast<Object**>(&(thread->pending_message_script_))); |
111 BitCast<Object**, Script**>(&(thread->pending_message_script_))); | 111 v->VisitPointer(BitCast<Object**>(&(thread->context_))); |
112 v->VisitPointer(BitCast<Object**, Context**>(&(thread->context_))); | |
113 v->VisitPointer(&(thread->scheduled_exception_)); | 112 v->VisitPointer(&(thread->scheduled_exception_)); |
114 | 113 |
115 for (v8::TryCatch* block = thread->TryCatchHandler(); | 114 for (v8::TryCatch* block = thread->TryCatchHandler(); |
116 block != NULL; | 115 block != NULL; |
117 block = TRY_CATCH_FROM_ADDRESS(block->next_)) { | 116 block = TRY_CATCH_FROM_ADDRESS(block->next_)) { |
118 v->VisitPointer(BitCast<Object**, void**>(&(block->exception_))); | 117 v->VisitPointer(BitCast<Object**>(&(block->exception_))); |
119 v->VisitPointer(BitCast<Object**, void**>(&(block->message_))); | 118 v->VisitPointer(BitCast<Object**>(&(block->message_))); |
120 } | 119 } |
121 | 120 |
122 // Iterate over pointers on native execution stack. | 121 // Iterate over pointers on native execution stack. |
123 for (StackFrameIterator it(thread); !it.done(); it.Advance()) { | 122 for (StackFrameIterator it(thread); !it.done(); it.Advance()) { |
124 it.frame()->Iterate(v); | 123 it.frame()->Iterate(v); |
125 } | 124 } |
126 } | 125 } |
127 | 126 |
128 | 127 |
129 void Top::Iterate(ObjectVisitor* v) { | 128 void Top::Iterate(ObjectVisitor* v) { |
(...skipping 928 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1058 Top::break_access_->Lock(); | 1057 Top::break_access_->Lock(); |
1059 } | 1058 } |
1060 | 1059 |
1061 | 1060 |
1062 ExecutionAccess::~ExecutionAccess() { | 1061 ExecutionAccess::~ExecutionAccess() { |
1063 Top::break_access_->Unlock(); | 1062 Top::break_access_->Unlock(); |
1064 } | 1063 } |
1065 | 1064 |
1066 | 1065 |
1067 } } // namespace v8::internal | 1066 } } // namespace v8::internal |
OLD | NEW |