]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - runtime/CallData.cpp
JavaScriptCore-7600.1.4.15.12.tar.gz
[apple/javascriptcore.git] / runtime / CallData.cpp
index 018e2ca34b516be6bc691d31fac9a91f17c707e1..6d00109c3ddba5f13facd496f1027a0c2e37da8c 100644 (file)
@@ -29,6 +29,7 @@
 #include "Executable.h"
 #include "Interpreter.h"
 #include "JSFunction.h"
+#include "JSCInlines.h"
 
 namespace JSC {
 
@@ -38,4 +39,17 @@ JSValue call(ExecState* exec, JSValue functionObject, CallType callType, const C
     return exec->interpreter()->executeCall(exec, asObject(functionObject), callType, callData, thisValue, args);
 }
 
+JSValue call(ExecState* exec, JSValue functionObject, CallType callType, const CallData& callData, JSValue thisValue, const ArgList& args, JSValue* exception)
+{
+    JSValue result = call(exec, functionObject, callType, callData, thisValue, args);
+    if (exec->hadException()) {
+        if (exception)
+            *exception = exec->exception();
+        exec->clearException();
+        return jsUndefined();
+    }
+    RELEASE_ASSERT(result);
+    return result;
+}
+
 } // namespace JSC