| Index: src/isolate.h
|
| diff --git a/src/isolate.h b/src/isolate.h
|
| index f5a94aa5eba0afeea570ddcd7621de36b8b48f06..c84ad02f515785c910f261ab3a0daf7c558d2b06 100644
|
| --- a/src/isolate.h
|
| +++ b/src/isolate.h
|
| @@ -125,6 +125,15 @@ typedef ZoneList<Handle<Object> > ZoneObjectList;
|
| } \
|
| } while (false)
|
|
|
| +#define RETURN_HANDLE_IF_SCHEDULED_EXCEPTION(isolate, T) \
|
| + do { \
|
| + Isolate* __isolate__ = (isolate); \
|
| + if (__isolate__->has_scheduled_exception()) { \
|
| + __isolate__->PromoteScheduledException(); \
|
| + return Handle<T>::null(); \
|
| + } \
|
| + } while (false)
|
| +
|
| #define RETURN_IF_EMPTY_HANDLE_VALUE(isolate, call, value) \
|
| do { \
|
| if ((call).is_null()) { \
|
| @@ -1126,6 +1135,11 @@ class Isolate {
|
| function_entry_hook_ = function_entry_hook;
|
| }
|
|
|
| + void* stress_deopt_count_address() { return &stress_deopt_count_; }
|
| +
|
| + // Given an address occupied by a live code object, return that object.
|
| + Object* FindCodeObject(Address a);
|
| +
|
| private:
|
| Isolate();
|
|
|
| @@ -1362,6 +1376,9 @@ class Isolate {
|
| SweeperThread** sweeper_thread_;
|
| CallbackTable* callback_table_;
|
|
|
| + // Counts deopt points if deopt_every_n_times is enabled.
|
| + unsigned int stress_deopt_count_;
|
| +
|
| friend class ExecutionAccess;
|
| friend class HandleScopeImplementer;
|
| friend class IsolateInitializer;
|
|
|