diff options
author | 2023-09-16 00:44:07 -0700 | |
---|---|---|
committer | 2023-09-16 00:44:07 -0700 | |
commit | b651b16fdd959b349c09ec5d5056229dcd12c86b (patch) | |
tree | dcc65ee9608ecdd316d48b3994ff41b2e215b760 /src/bun.js | |
parent | caa192480cf81460e6ff4bc8311366d9bf862971 (diff) | |
download | bun-b651b16fdd959b349c09ec5d5056229dcd12c86b.tar.gz bun-b651b16fdd959b349c09ec5d5056229dcd12c86b.tar.zst bun-b651b16fdd959b349c09ec5d5056229dcd12c86b.zip |
webkit upgrade (#5535)
* update files
* Update cold-jsc-start.cpp
* bump webkit
Diffstat (limited to 'src/bun.js')
-rw-r--r-- | src/bun.js/bindings/ErrorStackTrace.cpp | 16 | ||||
-rw-r--r-- | src/bun.js/bindings/InternalModuleRegistry.cpp | 4 | ||||
-rw-r--r-- | src/bun.js/bindings/NodeVMScript.cpp | 7 | ||||
-rw-r--r-- | src/bun.js/bindings/ZigGlobalObject.cpp | 2 | ||||
-rw-r--r-- | src/bun.js/bindings/ZigSourceProvider.cpp | 1 | ||||
-rw-r--r-- | src/bun.js/bindings/ZigSourceProvider.h | 3 | ||||
-rw-r--r-- | src/bun.js/bindings/bindings.cpp | 3 | ||||
-rw-r--r-- | src/bun.js/bindings/napi.cpp | 2 |
8 files changed, 28 insertions, 10 deletions
diff --git a/src/bun.js/bindings/ErrorStackTrace.cpp b/src/bun.js/bindings/ErrorStackTrace.cpp index a8c5b65d8..be20f7737 100644 --- a/src/bun.js/bindings/ErrorStackTrace.cpp +++ b/src/bun.js/bindings/ErrorStackTrace.cpp @@ -12,6 +12,7 @@ #include <JavaScriptCore/JSCInlines.h> #include <JavaScriptCore/ErrorInstance.h> #include <JavaScriptCore/StackVisitor.h> +#include <JavaScriptCore/NativeCallee.h> #include <wtf/IterationStatus.h> using namespace JSC; @@ -139,9 +140,18 @@ JSCStackFrame::JSCStackFrame(JSC::VM& vm, JSC::StackVisitor& visitor) m_callFrame = visitor->callFrame(); // Based on JSC's GetStackTraceFunctor (Interpreter.cpp) - if (visitor->isWasmFrame()) { - m_wasmFunctionIndexOrName = visitor->wasmFunctionIndexOrName(); - m_isWasmFrame = true; + if (visitor->isNativeCalleeFrame()) { + auto* nativeCallee = visitor->callee().asNativeCallee(); + switch (nativeCallee->category()) { + case NativeCallee::Category::Wasm: { + m_wasmFunctionIndexOrName = visitor->wasmFunctionIndexOrName(); + m_isWasmFrame = true; + break; + } + case NativeCallee::Category::InlineCache: { + break; + } + } } else if (!!visitor->codeBlock() && !visitor->codeBlock()->unlinkedCodeBlock()->isBuiltinFunction()) { m_codeBlock = visitor->codeBlock(); m_bytecodeIndex = visitor->bytecodeIndex(); diff --git a/src/bun.js/bindings/InternalModuleRegistry.cpp b/src/bun.js/bindings/InternalModuleRegistry.cpp index 8dbf42a02..8a81b87cd 100644 --- a/src/bun.js/bindings/InternalModuleRegistry.cpp +++ b/src/bun.js/bindings/InternalModuleRegistry.cpp @@ -33,7 +33,9 @@ static void maybeAddCodeCoverage(JSC::VM& vm, const JSC::SourceCode& code) #define INTERNAL_MODULE_REGISTRY_GENERATE_(globalObject, vm, SOURCE, moduleName, urlString) \ auto throwScope = DECLARE_THROW_SCOPE(vm); \ auto&& origin = SourceOrigin(WTF::URL(urlString)); \ - SourceCode source = JSC::makeSource(SOURCE, origin, moduleName); \ + SourceCode source = JSC::makeSource(SOURCE, origin, \ + JSC::SourceTaintedOrigin::Untainted, \ + moduleName); \ maybeAddCodeCoverage(vm, source); \ JSFunction* func \ = JSFunction::create( \ diff --git a/src/bun.js/bindings/NodeVMScript.cpp b/src/bun.js/bindings/NodeVMScript.cpp index 05921dd8d..16ae9e92c 100644 --- a/src/bun.js/bindings/NodeVMScript.cpp +++ b/src/bun.js/bindings/NodeVMScript.cpp @@ -19,6 +19,7 @@ #include "JavaScriptCore/JSWeakMap.h" #include "JavaScriptCore/JSWeakMapInlines.h" #include "JavaScriptCore/JSWithScope.h" +#include "JavaScriptCore/JSGlobalProxyInlines.h" #include "Buffer.h" #include "GCDefferalContext.h" #include "Buffer.h" @@ -120,7 +121,7 @@ constructScript(JSGlobalObject* globalObject, CallFrame* callFrame, JSValue newT auto scope = DECLARE_THROW_SCOPE(vm); SourceCode source( - JSC::StringSourceProvider::create(sourceString, JSC::SourceOrigin(WTF::URL::fileURLWithFileSystemPath(options.filename)), options.filename, TextPosition(options.lineOffset, options.columnOffset)), + JSC::StringSourceProvider::create(sourceString, JSC::SourceOrigin(WTF::URL::fileURLWithFileSystemPath(options.filename)), options.filename, JSC::SourceTaintedOrigin::Untainted, TextPosition(options.lineOffset, options.columnOffset)), options.lineOffset.zeroBasedInt(), options.columnOffset.zeroBasedInt()); RETURN_IF_EXCEPTION(scope, {}); NodeVMScript* script = NodeVMScript::create(vm, globalObject, structure, source); @@ -263,7 +264,7 @@ JSC_DEFINE_HOST_FUNCTION(vmModuleRunInNewContext, (JSGlobalObject * globalObject } } SourceCode source( - JSC::StringSourceProvider::create(sourceString, JSC::SourceOrigin(WTF::URL::fileURLWithFileSystemPath(options.filename)), options.filename, TextPosition(options.lineOffset, options.columnOffset)), + JSC::StringSourceProvider::create(sourceString, JSC::SourceOrigin(WTF::URL::fileURLWithFileSystemPath(options.filename)), options.filename, JSC::SourceTaintedOrigin::Untainted, TextPosition(options.lineOffset, options.columnOffset)), options.lineOffset.zeroBasedInt(), options.columnOffset.zeroBasedInt()); auto* zigGlobal = reinterpret_cast<Zig::GlobalObject*>(globalObject); @@ -332,7 +333,7 @@ JSC_DEFINE_HOST_FUNCTION(vmModuleRunInThisContext, (JSGlobalObject * globalObjec } } SourceCode source( - JSC::StringSourceProvider::create(sourceString, JSC::SourceOrigin(WTF::URL::fileURLWithFileSystemPath(options.filename)), options.filename, TextPosition(options.lineOffset, options.columnOffset)), + JSC::StringSourceProvider::create(sourceString, JSC::SourceOrigin(WTF::URL::fileURLWithFileSystemPath(options.filename)), options.filename, JSC::SourceTaintedOrigin::Untainted, TextPosition(options.lineOffset, options.columnOffset)), options.lineOffset.zeroBasedInt(), options.columnOffset.zeroBasedInt()); auto* zigGlobal = reinterpret_cast<Zig::GlobalObject*>(globalObject); JSObject* context = asObject(contextObjectValue); diff --git a/src/bun.js/bindings/ZigGlobalObject.cpp b/src/bun.js/bindings/ZigGlobalObject.cpp index 2f75a7f55..815d6a206 100644 --- a/src/bun.js/bindings/ZigGlobalObject.cpp +++ b/src/bun.js/bindings/ZigGlobalObject.cpp @@ -23,6 +23,7 @@ #include "JavaScriptCore/InitializeThreading.h" #include "JavaScriptCore/IteratorOperations.h" #include "JavaScriptCore/JSArray.h" +#include "JavaScriptCore/JSGlobalProxyInlines.h" #include "JavaScriptCore/JSCallbackConstructor.h" #include "JavaScriptCore/JSCallbackObject.h" @@ -38,6 +39,7 @@ #include "JavaScriptCore/JSMap.h" #include "JavaScriptCore/JSModuleLoader.h" #include "JavaScriptCore/JSModuleNamespaceObject.h" +#include "JavaScriptCore/JSModuleNamespaceObjectInlines.h" #include "JavaScriptCore/JSModuleRecord.h" #include "JavaScriptCore/JSNativeStdFunction.h" #include "JavaScriptCore/JSObject.h" diff --git a/src/bun.js/bindings/ZigSourceProvider.cpp b/src/bun.js/bindings/ZigSourceProvider.cpp index d11c748da..960e577b9 100644 --- a/src/bun.js/bindings/ZigSourceProvider.cpp +++ b/src/bun.js/bindings/ZigSourceProvider.cpp @@ -104,6 +104,7 @@ Ref<SourceProvider> SourceProvider::create(Zig::GlobalObject* globalObject, Reso auto provider = adoptRef(*new SourceProvider( globalObject->isThreadLocalDefaultGlobalObject ? globalObject : nullptr, resolvedSource, stringImpl.releaseImpl().releaseNonNull(), + JSC::SourceTaintedOrigin::Untainted, toSourceOrigin(sourceURLString, isBuiltin), sourceURLString.impl(), TextPosition(), sourceType)); diff --git a/src/bun.js/bindings/ZigSourceProvider.h b/src/bun.js/bindings/ZigSourceProvider.h index 364e6ee23..b7574c7a4 100644 --- a/src/bun.js/bindings/ZigSourceProvider.h +++ b/src/bun.js/bindings/ZigSourceProvider.h @@ -69,9 +69,10 @@ public: private: SourceProvider(Zig::GlobalObject* globalObject, ResolvedSource resolvedSource, Ref<WTF::StringImpl>&& sourceImpl, + JSC::SourceTaintedOrigin taintedness, const SourceOrigin& sourceOrigin, WTF::String&& sourceURL, const TextPosition& startPosition, JSC::SourceProviderSourceType sourceType) - : Base(sourceOrigin, WTFMove(sourceURL), String(), startPosition, sourceType) + : Base(sourceOrigin, WTFMove(sourceURL), String(), taintedness, startPosition, sourceType) , m_source(sourceImpl) { diff --git a/src/bun.js/bindings/bindings.cpp b/src/bun.js/bindings/bindings.cpp index e46982aad..173a454a1 100644 --- a/src/bun.js/bindings/bindings.cpp +++ b/src/bun.js/bindings/bindings.cpp @@ -19,6 +19,7 @@ #include "JavaScriptCore/JSArray.h" #include "JavaScriptCore/JSArrayBuffer.h" #include "JavaScriptCore/JSArrayInlines.h" +#include "JavaScriptCore/ErrorInstanceInlines.h" #include "JavaScriptCore/JSCallbackObject.h" #include "JavaScriptCore/JSClassRef.h" @@ -2063,7 +2064,7 @@ JSC__JSValue JSC__JSModuleLoader__evaluate(JSC__JSGlobalObject* globalObject, co JSC::VM& vm = globalObject->vm(); JSC::SourceCode sourceCode = JSC::makeSource( - src, JSC::SourceOrigin { origin }, origin.fileSystemPath(), + src, JSC::SourceOrigin { origin }, JSC::SourceTaintedOrigin::Untainted, origin.fileSystemPath(), WTF::TextPosition(), JSC::SourceProviderSourceType::Module); globalObject->moduleLoader()->provideFetch(globalObject, jsString(vm, origin.fileSystemPath()), WTFMove(sourceCode)); auto* promise = JSC::importModule(globalObject, JSC::Identifier::fromString(vm, origin.fileSystemPath()), JSValue(jsString(vm, referrer.fileSystemPath())), JSValue(), JSValue()); diff --git a/src/bun.js/bindings/napi.cpp b/src/bun.js/bindings/napi.cpp index e500fae38..9b6d5c853 100644 --- a/src/bun.js/bindings/napi.cpp +++ b/src/bun.js/bindings/napi.cpp @@ -83,7 +83,7 @@ JSC::SourceCode generateSourceCode(WTF::String keyString, JSC::VM& vm, JSC::JSOb sourceCodeBuilder.append(";\n"_s); } globalObject->putDirect(vm, ident, object, JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::DontEnum); - return JSC::makeSource(sourceCodeBuilder.toString(), JSC::SourceOrigin(), keyString, WTF::TextPosition(), JSC::SourceProviderSourceType::Module); + return JSC::makeSource(sourceCodeBuilder.toString(), JSC::SourceOrigin(), JSC::SourceTaintedOrigin::Untainted, keyString, WTF::TextPosition(), JSC::SourceProviderSourceType::Module); } } |