Changeset 51512 in webkit for trunk/JavaScriptCore/API
- Timestamp:
- Nov 30, 2009, 1:48:23 PM (16 years ago)
- Location:
- trunk/JavaScriptCore/API
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/API/JSBase.cpp
r51333 r51512 47 47 JSLock lock(exec); 48 48 49 if (JSGlobalData::ClientData* clientData = exec->globalData().clientData)50 clientData->willExecute(exec);51 52 49 JSObject* jsThisObject = toJS(thisObject); 53 50 … … 57 54 Completion completion = evaluate(globalObject->globalExec(), globalObject->globalScopeChain(), source, jsThisObject); 58 55 59 JSValueRef result = 0;60 56 if (completion.complType() == Throw) { 61 57 if (exception) 62 58 *exception = toRef(exec, completion.value()); 63 } else if (completion.value()) 64 result = toRef(exec, completion.value()); 65 else // happens, for example, when the only statement is an empty (';') statement 66 result = toRef(exec, jsUndefined()); 59 return 0; 60 } 67 61 68 if (JSGlobalData::ClientData* clientData = exec->globalData().clientData) 69 clientData->didExecute(exec); 70 return result; 62 if (completion.value()) 63 return toRef(exec, completion.value()); 64 65 // happens, for example, when the only statement is an empty (';') statement 66 return toRef(exec, jsUndefined()); 71 67 } 72 68 -
trunk/JavaScriptCore/API/JSObjectRef.cpp
r51333 r51512 393 393 JSLock lock(exec); 394 394 395 if (JSGlobalData::ClientData* clientData = exec->globalData().clientData)396 clientData->willExecute(exec);397 398 395 JSObject* jsObject = toJS(object); 399 396 JSObject* jsThisObject = toJS(thisObject); … … 406 403 argList.append(toJS(exec, arguments[i])); 407 404 408 JSValueRef result = 0;409 410 405 CallData callData; 411 406 CallType callType = jsObject->getCallData(callData); 412 if (callType != CallTypeNone) { 413 result = toRef(exec, call(exec, jsObject, callType, callData, jsThisObject, argList)); 414 if (exec->hadException()) { 415 if (exception) 416 *exception = toRef(exec, exec->exception()); 417 exec->clearException(); 418 result = 0; 419 } 420 } 421 422 if (JSGlobalData::ClientData* clientData = exec->globalData().clientData) 423 clientData->didExecute(exec); 407 if (callType == CallTypeNone) 408 return 0; 409 410 JSValueRef result = toRef(exec, call(exec, jsObject, callType, callData, jsThisObject, argList)); 411 if (exec->hadException()) { 412 if (exception) 413 *exception = toRef(exec, exec->exception()); 414 exec->clearException(); 415 result = 0; 416 } 424 417 return result; 425 418 }
Note:
See TracChangeset
for help on using the changeset viewer.