Changeset 159605 in webkit for trunk/Source/JavaScriptCore/interpreter/Interpreter.cpp
- Timestamp:
- Nov 20, 2013, 9:29:42 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/interpreter/Interpreter.cpp
r159528 r159605 67 67 #include "StrictEvalActivation.h" 68 68 #include "StrongInlines.h" 69 #include "VM StackBounds.h"69 #include "VMEntryScope.h" 70 70 #include "VirtualRegister.h" 71 71 … … 396 396 JSScope* scope = callFrame->scope(); 397 397 398 if (Debugger* debugger = callFrame-> dynamicGlobalObject()->debugger()) {398 if (Debugger* debugger = callFrame->vmEntryGlobalObject()->debugger()) { 399 399 if (callFrame->callee()) 400 400 debugger->returnEvent(callFrame); … … 651 651 ASSERT(!exceptionValue.isObject() || asObject(exceptionValue)->hasProperty(callFrame, callFrame->vm().propertyNames->stack)); 652 652 653 Debugger* debugger = callFrame-> dynamicGlobalObject()->debugger();653 Debugger* debugger = callFrame->vmEntryGlobalObject()->debugger(); 654 654 if (debugger && debugger->needsExceptionCallbacks()) { 655 655 // We need to clear the exception and the exception stack here in order to see if a new exception happens. … … 740 740 return jsNull(); 741 741 742 StackStats::CheckPoint stackCheckPoint; 743 const VMStackBounds vmStackBounds(vm, wtfThreadData().stack()); 744 if (!vmStackBounds.isSafeToRecurse()) 742 VMEntryScope entryScope(vm, scope->globalObject()); 743 if (!vm.isSafeToRecurse()) 745 744 return checkedReturn(throwStackOverflowError(callFrame)); 746 745 … … 748 747 // we'll handle the JSON object here. Else, we'll handle real JS code 749 748 // below at failedJSONP. 750 DynamicGlobalObjectScope globalObjectScope(vm, scope->globalObject()); 749 751 750 Vector<JSONPData> JSONPData; 752 751 bool parseResult; … … 901 900 return jsNull(); 902 901 903 StackStats::CheckPoint stackCheckPoint;904 const VMStackBounds vmStackBounds(vm, wtfThreadData().stack());905 if (!vmStackBounds.isSafeToRecurse())906 return checkedReturn(throwStackOverflowError(callFrame));907 908 902 bool isJSCall = (callType == CallTypeJS); 909 903 JSScope* scope; … … 917 911 scope = callFrame->scope(); 918 912 } 919 DynamicGlobalObjectScope globalObjectScope(vm, scope->globalObject()); 913 914 VMEntryScope entryScope(vm, scope->globalObject()); 915 if (!vm.isSafeToRecurse()) 916 return checkedReturn(throwStackOverflowError(callFrame)); 920 917 921 918 if (isJSCall) { … … 979 976 return checkedReturn(throwStackOverflowError(callFrame)); 980 977 981 StackStats::CheckPoint stackCheckPoint;982 const VMStackBounds vmStackBounds(vm, wtfThreadData().stack());983 if (!vmStackBounds.isSafeToRecurse())984 return checkedReturn(throwStackOverflowError(callFrame));985 986 978 bool isJSConstruct = (constructType == ConstructTypeJS); 987 979 JSScope* scope; … … 996 988 } 997 989 998 DynamicGlobalObjectScope globalObjectScope(vm, scope->globalObject()); 990 VMEntryScope entryScope(vm, scope->globalObject()); 991 if (!vm.isSafeToRecurse()) 992 return checkedReturn(throwStackOverflowError(callFrame)); 999 993 1000 994 if (isJSConstruct) { … … 1066 1060 return CallFrameClosure(); 1067 1061 1068 StackStats::CheckPoint stackCheckPoint;1069 const VMStackBounds vmStackBounds(vm, wtfThreadData().stack());1070 if (!vmStackBounds.isSafeToRecurse()) {1071 throwStackOverflowError(callFrame);1072 return CallFrameClosure();1073 }1074 1075 1062 // Compile the callee: 1076 1063 JSObject* error = functionExecutable->prepareForExecution(callFrame, scope, CodeForCall); … … 1166 1153 return jsNull(); 1167 1154 1168 DynamicGlobalObjectScope globalObjectScope(vm, scope->globalObject()); 1169 1170 StackStats::CheckPoint stackCheckPoint; 1171 const VMStackBounds vmStackBounds(vm, wtfThreadData().stack()); 1172 if (!vmStackBounds.isSafeToRecurse()) 1173 return checkedReturn(throwStackOverflowError(callFrame)); 1155 VMEntryScope entryScope(vm, scope->globalObject()); 1156 if (!vm.isSafeToRecurse()) 1157 return checkedReturn(throwStackOverflowError(callFrame)); 1174 1158 1175 1159 unsigned numVariables = eval->numVariables(); … … 1252 1236 NEVER_INLINE void Interpreter::debug(CallFrame* callFrame, DebugHookID debugHookID) 1253 1237 { 1254 Debugger* debugger = callFrame-> dynamicGlobalObject()->debugger();1238 Debugger* debugger = callFrame->vmEntryGlobalObject()->debugger(); 1255 1239 if (!debugger || !debugger->needsOpDebugCallbacks()) 1256 1240 return;
Note:
See TracChangeset
for help on using the changeset viewer.