mirror of
https://github.com/oven-sh/bun
synced 2026-02-11 11:29:02 +00:00
only initialize snapshotSerializersSerializeFunction once
This commit is contained in:
@@ -146,7 +146,8 @@ JSValue SnapshotSerializers::serialize(JSGlobalObject* globalObject, JSValue val
|
||||
RETURN_IF_EXCEPTION(scope, {});
|
||||
|
||||
// Use JavaScript builtin for iteration to avoid deoptimization at boundaries
|
||||
JSFunction* serializeBuiltin = JSFunction::create(vm, globalObject, snapshotSerializersSerializeCodeGenerator(vm), globalObject->globalScope());
|
||||
// Get the cached function from the global object
|
||||
JSFunction* serializeBuiltin = jsCast<Zig::GlobalObject*>(globalObject)->snapshotSerializersSerializeFunction();
|
||||
|
||||
MarkedArgumentBuffer args;
|
||||
args.append(testCallbacks);
|
||||
|
||||
@@ -2287,6 +2287,10 @@ void GlobalObject::finishCreation(VM& vm)
|
||||
init.set(JSC::JSFunction::create(init.vm, init.owner, WebCore::ipcSerializeCodeGenerator(init.vm), init.owner));
|
||||
});
|
||||
|
||||
m_snapshotSerializersSerializeFunction.initLater([](const LazyProperty<JSC::JSGlobalObject, JSC::JSFunction>::Initializer& init) {
|
||||
init.set(JSC::JSFunction::create(init.vm, init.owner, WebCore::snapshotSerializersSerializeCodeGenerator(init.vm), init.owner));
|
||||
});
|
||||
|
||||
m_JSFileSinkClassStructure.initLater(
|
||||
[](LazyClassStructure::Initializer& init) {
|
||||
auto* prototype = createJSSinkPrototype(init.vm, init.global, WebCore::SinkID::FileSink);
|
||||
|
||||
@@ -278,6 +278,8 @@ public:
|
||||
|
||||
JSC::JSFunction* wasmStreamingConsumeStreamFunction() const { return m_wasmStreamingConsumeStreamFunction.getInitializedOnMainThread(this); }
|
||||
|
||||
JSC::JSFunction* snapshotSerializersSerializeFunction() const { return m_snapshotSerializersSerializeFunction.getInitializedOnMainThread(this); }
|
||||
|
||||
JSObject* requireFunctionUnbound() const { return m_requireFunctionUnbound.getInitializedOnMainThread(this); }
|
||||
JSObject* requireResolveFunctionUnbound() const { return m_requireResolveFunctionUnbound.getInitializedOnMainThread(this); }
|
||||
Bun::InternalModuleRegistry* internalModuleRegistry() const { return m_internalModuleRegistry.getInitializedOnMainThread(this); }
|
||||
@@ -633,7 +635,8 @@ public:
|
||||
V(public, LazyPropertyOfGlobalObject<Symbol>, m_nodeVMDontContextify) \
|
||||
V(public, LazyPropertyOfGlobalObject<Symbol>, m_nodeVMUseMainContextDefaultLoader) \
|
||||
V(public, LazyPropertyOfGlobalObject<JSFunction>, m_ipcSerializeFunction) \
|
||||
V(public, LazyPropertyOfGlobalObject<JSFunction>, m_ipcParseHandleFunction)
|
||||
V(public, LazyPropertyOfGlobalObject<JSFunction>, m_ipcParseHandleFunction) \
|
||||
V(private, LazyPropertyOfGlobalObject<JSFunction>, m_snapshotSerializersSerializeFunction)
|
||||
|
||||
#define DECLARE_GLOBALOBJECT_GC_MEMBER(visibility, T, name) \
|
||||
visibility: \
|
||||
|
||||
Reference in New Issue
Block a user