X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/9bcd318d5fa2a38139c9651d263a06c797529333..ba379fdc102753d6be2c4d937058fe40257329fe:/jsc.cpp diff --git a/jsc.cpp b/jsc.cpp index 666bd58..efe3fa5 100644 --- a/jsc.cpp +++ b/jsc.cpp @@ -26,6 +26,7 @@ #include "Completion.h" #include "InitializeThreading.h" #include "JSArray.h" +#include "JSFunction.h" #include "JSLock.h" #include "PrototypeFunction.h" #include "SamplingTool.h" @@ -47,13 +48,14 @@ #include #endif -#if PLATFORM(UNIX) +#if HAVE(SIGNAL_H) #include #endif -#if COMPILER(MSVC) && !PLATFORM(WIN_CE) +#if COMPILER(MSVC) && !PLATFORM(WINCE) #include #include +#include #endif #if PLATFORM(QT) @@ -67,14 +69,31 @@ using namespace WTF; static void cleanupGlobalData(JSGlobalData*); static bool fillBufferWithContentsOfFile(const UString& fileName, Vector& buffer); -static JSValuePtr functionPrint(ExecState*, JSObject*, JSValuePtr, const ArgList&); -static JSValuePtr functionDebug(ExecState*, JSObject*, JSValuePtr, const ArgList&); -static JSValuePtr functionGC(ExecState*, JSObject*, JSValuePtr, const ArgList&); -static JSValuePtr functionVersion(ExecState*, JSObject*, JSValuePtr, const ArgList&); -static JSValuePtr functionRun(ExecState*, JSObject*, JSValuePtr, const ArgList&); -static JSValuePtr functionLoad(ExecState*, JSObject*, JSValuePtr, const ArgList&); -static JSValuePtr functionReadline(ExecState*, JSObject*, JSValuePtr, const ArgList&); -static NO_RETURN JSValuePtr functionQuit(ExecState*, JSObject*, JSValuePtr, const ArgList&); +static JSValue JSC_HOST_CALL functionPrint(ExecState*, JSObject*, JSValue, const ArgList&); +static JSValue JSC_HOST_CALL functionDebug(ExecState*, JSObject*, JSValue, const ArgList&); +static JSValue JSC_HOST_CALL functionGC(ExecState*, JSObject*, JSValue, const ArgList&); +static JSValue JSC_HOST_CALL functionVersion(ExecState*, JSObject*, JSValue, const ArgList&); +static JSValue JSC_HOST_CALL functionRun(ExecState*, JSObject*, JSValue, const ArgList&); +static JSValue JSC_HOST_CALL functionLoad(ExecState*, JSObject*, JSValue, const ArgList&); +static JSValue JSC_HOST_CALL functionCheckSyntax(ExecState*, JSObject*, JSValue, const ArgList&); +static JSValue JSC_HOST_CALL functionReadline(ExecState*, JSObject*, JSValue, const ArgList&); +static NO_RETURN JSValue JSC_HOST_CALL functionQuit(ExecState*, JSObject*, JSValue, const ArgList&); + +#if ENABLE(SAMPLING_FLAGS) +static JSValue JSC_HOST_CALL functionSetSamplingFlags(ExecState*, JSObject*, JSValue, const ArgList&); +static JSValue JSC_HOST_CALL functionClearSamplingFlags(ExecState*, JSObject*, JSValue, const ArgList&); +#endif + +struct Script { + bool isFile; + char *argument; + + Script(bool isFile, char *argument) + : isFile(isFile) + , argument(argument) + { + } +}; struct Options { Options() @@ -85,7 +104,7 @@ struct Options { bool interactive; bool dump; - Vector fileNames; + Vector