| Index: src/isolate.h
|
| diff --git a/src/isolate.h b/src/isolate.h
|
| index a12216aefdf82f7c7995159412ff141a8365f7b9..455532f09c9740a43410529c9be89642f1fa199c 100644
|
| --- a/src/isolate.h
|
| +++ b/src/isolate.h
|
| @@ -169,6 +169,7 @@ typedef ZoneList<Handle<Object> > ZoneObjectList;
|
| #define FOR_EACH_ISOLATE_ADDRESS_NAME(C) \
|
| C(Handler, handler) \
|
| C(CEntryFP, c_entry_fp) \
|
| + C(CFunction, c_function) \
|
| C(Context, context) \
|
| C(PendingException, pending_exception) \
|
| C(ExternalCaughtException, external_caught_exception) \
|
| @@ -283,6 +284,7 @@ class ThreadLocalTop BASE_EMBEDDED {
|
| // Stack.
|
| Address c_entry_fp_; // the frame pointer of the top c entry frame
|
| Address handler_; // try-blocks are chained through the stack
|
| + Address c_function_; // C function that was called at c entry.
|
|
|
| // Throwing an exception may cause a Promise rejection. For this purpose
|
| // we keep track of a stack of nested promises and the corresponding
|
| @@ -649,11 +651,15 @@ class Isolate {
|
| return thread->c_entry_fp_;
|
| }
|
| static Address handler(ThreadLocalTop* thread) { return thread->handler_; }
|
| + Address c_function() { return thread_local_top_.c_function_; }
|
|
|
| inline Address* c_entry_fp_address() {
|
| return &thread_local_top_.c_entry_fp_;
|
| }
|
| inline Address* handler_address() { return &thread_local_top_.handler_; }
|
| + inline Address* c_function_address() {
|
| + return &thread_local_top_.c_function_;
|
| + }
|
|
|
| // Bottom JS entry.
|
| Address js_entry_sp() {
|
|
|