diff options
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | bench/ffi/bun.js | 11 | ||||
-rw-r--r-- | src/bun.js/bindings/BunJSCModule.cpp | 13 | ||||
-rw-r--r-- | src/bun.js/bindings/ZigGeneratedClasses.cpp | 2 | ||||
-rw-r--r-- | src/bun.js/bindings/ZigGeneratedClasses.h | 2 | ||||
-rw-r--r-- | src/bun.js/bindings/ZigGlobalObject.cpp | 24 | ||||
-rw-r--r-- | test/bun.js/reactdom-bun.js | 2 |
7 files changed, 40 insertions, 17 deletions
@@ -336,7 +336,6 @@ CLANG_FLAGS = $(INCLUDE_DIRS) \ -DNDEBUG=1 \ -DNOMINMAX \ -DIS_BUILD \ - -DENABLE_INSPECTOR_ALTERNATE_DISPATCHERS=1 \ -DBUILDING_JSCONLY__ \ -DASSERT_ENABLED=0 \ -fvisibility=hidden \ @@ -1178,7 +1177,6 @@ jsc-build-mac-compile: $(CMAKE_FLAGS_WITHOUT_RELEASE) \ -DPTHREAD_JIT_PERMISSIONS_API=1 \ -DUSE_PTHREAD_JIT_PERMISSIONS_API=ON \ - -DENABLE_REMOTE_INSPECTOR=ON \ $(WEBKIT_DIR) \ $(WEBKIT_RELEASE_DIR) && \ CFLAGS="$(CFLAGS) $(BITCODE_OR_SECTIONS) -ffat-lto-objects" CXXFLAGS="$(CXXFLAGS) $(BITCODE_OR_SECTIONS) -ffat-lto-objects" \ @@ -1202,7 +1200,6 @@ jsc-build-mac-compile-lto: $(CMAKE_FLAGS_WITHOUT_RELEASE) \ -DPTHREAD_JIT_PERMISSIONS_API=1 \ -DUSE_PTHREAD_JIT_PERMISSIONS_API=ON \ - -DENABLE_REMOTE_INSPECTOR=ON \ $(WEBKIT_DIR) \ $(WEBKIT_RELEASE_DIR_LTO) && \ CFLAGS="$(CFLAGS) -ffat-lto-objects" CXXFLAGS="$(CXXFLAGS) -ffat-lto-objects" \ diff --git a/bench/ffi/bun.js b/bench/ffi/bun.js index 033af76f5..ec086c73a 100644 --- a/bench/ffi/bun.js +++ b/bench/ffi/bun.js @@ -23,11 +23,12 @@ group("bun:ffi", () => { bench("c string", () => new CString(ffi_string())); }); -group("bun:napi", () => { - bench("noop", () => napiNoop()); - bench("hash", () => napiHash(bytes)); +if (process.env.SHOW_NAPI) + group("bun:napi", () => { + bench("noop", () => napiNoop()); + bench("hash", () => napiHash(bytes)); - bench("string", () => napiString()); -}); + bench("string", () => napiString()); + }); await run(); diff --git a/src/bun.js/bindings/BunJSCModule.cpp b/src/bun.js/bindings/BunJSCModule.cpp index 0515605e1..38e9b5618 100644 --- a/src/bun.js/bindings/BunJSCModule.cpp +++ b/src/bun.js/bindings/BunJSCModule.cpp @@ -10,7 +10,6 @@ #include "JavaScriptCore/APICast.h" #include "JavaScriptCore/JSBasePrivate.h" #include "JavaScriptCore/ObjectConstructor.h" -#include "JavaScriptCore/RemoteInspectorServer.h" #include "JavaScriptCore/AggregateError.h" #include "JavaScriptCore/BytecodeIndex.h" #include "JavaScriptCore/CallFrameInlines.h" @@ -25,6 +24,10 @@ #include "JavaScriptCore/DeferTermination.h" #include "JavaScriptCore/VMTrapsInlines.h" +#if ENABLE(REMOTE_INSPECTOR) +#include "JavaScriptCore/RemoteInspectorServer.h" +#endif + #include "mimalloc.h" using namespace JSC; @@ -33,7 +36,7 @@ using namespace WTF; JSC_DECLARE_HOST_FUNCTION(functionStartRemoteDebugger); JSC_DEFINE_HOST_FUNCTION(functionStartRemoteDebugger, (JSGlobalObject * globalObject, CallFrame* callFrame)) { - +#if ENABLE(REMOTE_INSPECTOR) static const char* defaultHost = "127.0.0.1\0"; static uint16_t defaultPort = 9230; // node + 1 auto& vm = globalObject->vm(); @@ -73,6 +76,12 @@ JSC_DEFINE_HOST_FUNCTION(functionStartRemoteDebugger, (JSGlobalObject * globalOb } RELEASE_AND_RETURN(scope, JSC::JSValue::encode(JSC::jsUndefined())); +#else + auto& vm = globalObject->vm(); + auto scope = DECLARE_THROW_SCOPE(vm); + throwVMError(globalObject, scope, createTypeError(globalObject, "Remote inspector is not enabled in this build of Bun"_s)); + return JSC::JSValue::encode(JSC::jsUndefined()); +#endif } JSC_DECLARE_HOST_FUNCTION(functionDescribe); diff --git a/src/bun.js/bindings/ZigGeneratedClasses.cpp b/src/bun.js/bindings/ZigGeneratedClasses.cpp index 881f0ba5b..25f2f42e7 100644 --- a/src/bun.js/bindings/ZigGeneratedClasses.cpp +++ b/src/bun.js/bindings/ZigGeneratedClasses.cpp @@ -1,6 +1,6 @@ // GENERATED CODE - DO NOT MODIFY BY HAND -// Generated by src/bun.js/generate-classes.js +// Generated by make codegen #include "root.h" #include "ZigGlobalObject.h" diff --git a/src/bun.js/bindings/ZigGeneratedClasses.h b/src/bun.js/bindings/ZigGeneratedClasses.h index b63081dd5..6b23611de 100644 --- a/src/bun.js/bindings/ZigGeneratedClasses.h +++ b/src/bun.js/bindings/ZigGeneratedClasses.h @@ -1,6 +1,6 @@ // GENERATED CODE - DO NOT MODIFY BY HAND -// Generated by src/bun.js/generate-classes.js +// Generated by make codegen #pragma once #include "root.h" diff --git a/src/bun.js/bindings/ZigGlobalObject.cpp b/src/bun.js/bindings/ZigGlobalObject.cpp index 8b1aa65ea..453e8851d 100644 --- a/src/bun.js/bindings/ZigGlobalObject.cpp +++ b/src/bun.js/bindings/ZigGlobalObject.cpp @@ -89,7 +89,6 @@ #include "Process.h" -#include "JavaScriptCore/RemoteInspectorServer.h" #include "WebCoreJSBuiltinInternals.h" #include "JSBuffer.h" #include "JSFFIFunction.h" @@ -104,6 +103,10 @@ #include "ZigGeneratedClasses.h" +#if ENABLE(REMOTE_INSPECTOR) +#include "JavaScriptCore/RemoteInspectorServer.h" +#endif + using JSGlobalObject = JSC::JSGlobalObject; using Exception = JSC::Exception; using JSValue = JSC::JSValue; @@ -946,9 +949,15 @@ JSC_DEFINE_HOST_FUNCTION(functionFileURLToPath, (JSC::JSGlobalObject * globalObj { auto& vm = globalObject->vm(); auto scope = DECLARE_THROW_SCOPE(vm); - auto path = JSC::JSValue::encode(callFrame->argument(0)); + JSValue arg0 = callFrame->argument(0); + auto path = JSC::JSValue::encode(arg0); auto* domURL = WebCoreCast<WebCore::JSDOMURL, WebCore__DOMURL>(path); if (!domURL) { + if (arg0.isString()) { + auto url = WTF::URL(arg0.toWTFString(globalObject)); + RETURN_IF_EXCEPTION(scope, JSC::JSValue::encode(JSC::jsUndefined())); + RETURN_AND_RELEASE_SCOPE(scope, jsString(vm, url.fileSystemPath())); + } throwTypeError(globalObject, scope, "Argument must be a URL"_s); return JSC::JSValue::encode(JSC::JSValue {}); } @@ -1586,8 +1595,8 @@ private: static const JSC::DOMJIT::Signature DOMJITSignatureForPerformanceNow( functionPerformanceNowWithoutTypeCheck, JSPerformanceObject::info(), - JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), - WebCore::DOMJIT::IDLResultTypeFilter<IDLUnsignedLong>::value); + JSC::DOMJIT::Effect::forWriteKinds(DFG::AbstractHeapKind::SideState), + SpecBytecodeDouble); JSFunction* function = JSFunction::create( vm, @@ -1909,7 +1918,10 @@ void GlobalObject::finishCreation(VM& vm) }); addBuiltinGlobals(vm); + +#if ENABLE(REMOTE_INSPECTOR) setRemoteDebuggingEnabled(false); +#endif RELEASE_ASSERT(classInfo()); } @@ -2342,9 +2354,13 @@ void GlobalObject::installAPIGlobals(JSClassRef* globals, int count, JSC::VM& vm extern "C" bool JSC__JSGlobalObject__startRemoteInspector(JSC__JSGlobalObject* globalObject, unsigned char* host, uint16_t arg1) { +#if !ENABLE(REMOTE_INSPECTOR) + return false; +#else globalObject->setRemoteDebuggingEnabled(true); auto& server = Inspector::RemoteInspectorServer::singleton(); return server.start(reinterpret_cast<const char*>(host), arg1); +#endif } template<typename Visitor> diff --git a/test/bun.js/reactdom-bun.js b/test/bun.js/reactdom-bun.js index 298d16cc7..c489314fb 100644 --- a/test/bun.js/reactdom-bun.js +++ b/test/bun.js/reactdom-bun.js @@ -34,7 +34,7 @@ function t(a, b) { return !0; } function ba(a) { - a.flush(false); + // a.flush(false); } var ca = new TextEncoder(); function u(a) { |