]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - runtime/CallData.h
JavaScriptCore-1097.3.3.tar.gz
[apple/javascriptcore.git] / runtime / CallData.h
index b8d84cd5f6ab8f9b318a213e7cbb5b2f52748166..15a6a0a48fb8641bd98e7f59ca85f3fcb3e65968 100644 (file)
 #ifndef CallData_h
 #define CallData_h
 
 #ifndef CallData_h
 #define CallData_h
 
+#include "JSValue.h"
+
 namespace JSC {
 
     class ArgList;
     class ExecState;
 namespace JSC {
 
     class ArgList;
     class ExecState;
-    class FunctionBodyNode;
+    class FunctionExecutable;
     class JSObject;
     class JSObject;
-    class JSValuePtr;
     class ScopeChainNode;
 
     enum CallType {
     class ScopeChainNode;
 
     enum CallType {
@@ -44,19 +45,19 @@ namespace JSC {
         CallTypeJS
     };
 
         CallTypeJS
     };
 
-    typedef JSValuePtr (*NativeFunction)(ExecState*, JSObject*, JSValuePtr thisValue, const ArgList&);
+    typedef EncodedJSValue (JSC_HOST_CALL *NativeFunction)(ExecState*);
 
     union CallData {
         struct {
             NativeFunction function;
         } native;
         struct {
 
     union CallData {
         struct {
             NativeFunction function;
         } native;
         struct {
-            FunctionBodyNode* functionBody;
+            FunctionExecutable* functionExecutable;
             ScopeChainNode* scopeChain;
         } js;
     };
 
             ScopeChainNode* scopeChain;
         } js;
     };
 
-    JSValuePtr call(ExecState*, JSValuePtr functionObject, CallType, const CallData&, JSValuePtr thisValue, const ArgList&);
+    JS_EXPORT_PRIVATE JSValue call(ExecState*, JSValue functionObject, CallType, const CallData&, JSValue thisValue, const ArgList&);
 
 } // namespace JSC
 
 
 } // namespace JSC