Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(435)

Side by Side Diff: src/isolate.h

Issue 638633002: Tick processor: Print C++ entry points (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: rebased Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/ia32/macro-assembler-ia32.cc ('k') | src/sampler.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "src/allocation.h" 9 #include "src/allocation.h"
10 #include "src/assert-scope.h" 10 #include "src/assert-scope.h"
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 #define RETURN_FAILURE_ON_EXCEPTION(isolate, call) \ 162 #define RETURN_FAILURE_ON_EXCEPTION(isolate, call) \
163 RETURN_ON_EXCEPTION_VALUE(isolate, call, isolate->heap()->exception()) 163 RETURN_ON_EXCEPTION_VALUE(isolate, call, isolate->heap()->exception())
164 164
165 #define RETURN_ON_EXCEPTION(isolate, call, T) \ 165 #define RETURN_ON_EXCEPTION(isolate, call, T) \
166 RETURN_ON_EXCEPTION_VALUE(isolate, call, MaybeHandle<T>()) 166 RETURN_ON_EXCEPTION_VALUE(isolate, call, MaybeHandle<T>())
167 167
168 168
169 #define FOR_EACH_ISOLATE_ADDRESS_NAME(C) \ 169 #define FOR_EACH_ISOLATE_ADDRESS_NAME(C) \
170 C(Handler, handler) \ 170 C(Handler, handler) \
171 C(CEntryFP, c_entry_fp) \ 171 C(CEntryFP, c_entry_fp) \
172 C(CFunction, c_function) \
172 C(Context, context) \ 173 C(Context, context) \
173 C(PendingException, pending_exception) \ 174 C(PendingException, pending_exception) \
174 C(ExternalCaughtException, external_caught_exception) \ 175 C(ExternalCaughtException, external_caught_exception) \
175 C(JSEntrySP, js_entry_sp) 176 C(JSEntrySP, js_entry_sp)
176 177
177 178
178 // Platform-independent, reliable thread identifier. 179 // Platform-independent, reliable thread identifier.
179 class ThreadId { 180 class ThreadId {
180 public: 181 public:
181 // Creates an invalid ThreadId. 182 // Creates an invalid ThreadId.
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 // invariants that hold about pending_exception. We may want to 282 // invariants that hold about pending_exception. We may want to
282 // unify them later. 283 // unify them later.
283 Object* scheduled_exception_; 284 Object* scheduled_exception_;
284 bool external_caught_exception_; 285 bool external_caught_exception_;
285 SaveContext* save_context_; 286 SaveContext* save_context_;
286 v8::TryCatch* catcher_; 287 v8::TryCatch* catcher_;
287 288
288 // Stack. 289 // Stack.
289 Address c_entry_fp_; // the frame pointer of the top c entry frame 290 Address c_entry_fp_; // the frame pointer of the top c entry frame
290 Address handler_; // try-blocks are chained through the stack 291 Address handler_; // try-blocks are chained through the stack
292 Address c_function_; // C function that was called at c entry.
291 293
292 // Throwing an exception may cause a Promise rejection. For this purpose 294 // Throwing an exception may cause a Promise rejection. For this purpose
293 // we keep track of a stack of nested promises and the corresponding 295 // we keep track of a stack of nested promises and the corresponding
294 // try-catch handlers. 296 // try-catch handlers.
295 PromiseOnStack* promise_on_stack_; 297 PromiseOnStack* promise_on_stack_;
296 298
297 #ifdef USE_SIMULATOR 299 #ifdef USE_SIMULATOR
298 Simulator* simulator_; 300 Simulator* simulator_;
299 #endif 301 #endif
300 302
(...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after
645 } 647 }
646 648
647 // Serializer. 649 // Serializer.
648 void PushToPartialSnapshotCache(Object* obj); 650 void PushToPartialSnapshotCache(Object* obj);
649 651
650 // JS execution stack (see frames.h). 652 // JS execution stack (see frames.h).
651 static Address c_entry_fp(ThreadLocalTop* thread) { 653 static Address c_entry_fp(ThreadLocalTop* thread) {
652 return thread->c_entry_fp_; 654 return thread->c_entry_fp_;
653 } 655 }
654 static Address handler(ThreadLocalTop* thread) { return thread->handler_; } 656 static Address handler(ThreadLocalTop* thread) { return thread->handler_; }
657 Address c_function() { return thread_local_top_.c_function_; }
655 658
656 inline Address* c_entry_fp_address() { 659 inline Address* c_entry_fp_address() {
657 return &thread_local_top_.c_entry_fp_; 660 return &thread_local_top_.c_entry_fp_;
658 } 661 }
659 inline Address* handler_address() { return &thread_local_top_.handler_; } 662 inline Address* handler_address() { return &thread_local_top_.handler_; }
663 inline Address* c_function_address() {
664 return &thread_local_top_.c_function_;
665 }
660 666
661 // Bottom JS entry. 667 // Bottom JS entry.
662 Address js_entry_sp() { 668 Address js_entry_sp() {
663 return thread_local_top_.js_entry_sp_; 669 return thread_local_top_.js_entry_sp_;
664 } 670 }
665 inline Address* js_entry_sp_address() { 671 inline Address* js_entry_sp_address() {
666 return &thread_local_top_.js_entry_sp_; 672 return &thread_local_top_.js_entry_sp_;
667 } 673 }
668 674
669 // Generated code scratch locations. 675 // Generated code scratch locations.
(...skipping 875 matching lines...) Expand 10 before | Expand all | Expand 10 after
1545 } 1551 }
1546 1552
1547 EmbeddedVector<char, 128> filename_; 1553 EmbeddedVector<char, 128> filename_;
1548 FILE* file_; 1554 FILE* file_;
1549 int scope_depth_; 1555 int scope_depth_;
1550 }; 1556 };
1551 1557
1552 } } // namespace v8::internal 1558 } } // namespace v8::internal
1553 1559
1554 #endif // V8_ISOLATE_H_ 1560 #endif // V8_ISOLATE_H_
OLDNEW
« no previous file with comments | « src/ia32/macro-assembler-ia32.cc ('k') | src/sampler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698