aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-06-29 07:12:13 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-06-29 07:12:13 -0700
commit856589bd989a796691ef9721797efe278fbf7d96 (patch)
tree84894208bb12de95bfbc40f728f1d92fabeee681
parent2fa51493c512df66d1b9e76e38530aedfbf07ecf (diff)
downloadbun-856589bd989a796691ef9721797efe278fbf7d96.tar.gz
bun-856589bd989a796691ef9721797efe278fbf7d96.tar.zst
bun-856589bd989a796691ef9721797efe278fbf7d96.zip
[misc] Add `generate-sink`
Diffstat (limited to '')
-rw-r--r--Makefile12
-rw-r--r--src/bun.js/generate-jssink.js6
2 files changed, 12 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index cc95d66ac..e4ae25005 100644
--- a/Makefile
+++ b/Makefile
@@ -408,7 +408,8 @@ generate-builtins:
mkdir -p src/bun.js/builtins/cpp
$(shell which python || which python2) $(realpath $(WEBKIT_DIR)/Source/JavaScriptCore/Scripts/generate-js-builtins.py) -i $(realpath src)/bun.js/builtins/js -o $(realpath src)/bun.js/builtins/cpp --framework WebCore --force
$(shell which python || which python2) $(realpath $(WEBKIT_DIR)/Source/JavaScriptCore/Scripts/generate-js-builtins.py) -i $(realpath src)/bun.js/builtins/js -o $(realpath src)/bun.js/builtins/cpp --framework WebCore --wrappers-only
- echo 'namespace Zig { class GlobalObject; }' >> /tmp/1.h
+ rm -rf /tmp/1.h src/bun.js/builtins/cpp/WebCoreJSBuiltinInternals.h.1
+ echo -e '// clang-format off\nnamespace Zig { class GlobalObject; }' >> /tmp/1.h
cat /tmp/1.h src/bun.js/builtins/cpp/WebCoreJSBuiltinInternals.h > src/bun.js/builtins/cpp/WebCoreJSBuiltinInternals.h.1
mv src/bun.js/builtins/cpp/WebCoreJSBuiltinInternals.h.1 src/bun.js/builtins/cpp/WebCoreJSBuiltinInternals.h
$(SED) -i -e 's/class JSDOMGlobalObject/using JSDOMGlobalObject = Zig::GlobalObject/' src/bun.js/builtins/cpp/WebCoreJSBuiltinInternals.h
@@ -1208,11 +1209,16 @@ bun-relink: bun-relink-copy bun-link-lld-release bun-link-lld-release-dsym
wasm-return1:
zig build-lib -OReleaseSmall test/bun.js/wasm-return-1-test.zig -femit-bin=test/bun.js/wasm-return-1-test.wasm -target wasm32-freestanding
-
+generate-sink:
+ bun src/bun.js/generate-jssink.js
+ $(WEBKIT_DIR)/Source/JavaScriptCore/create_hash_table src/bun.js/bindings/JSSink.cpp > src/bun.js/bindings/JSSinkLookupTable.h
+ $(SED) -i -e 's/#include "Lookup.h"//' src/bun.js/bindings/JSSinkLookupTable.h
+ $(SED) -i -e 's/namespace JSC {//' src/bun.js/bindings/JSSinkLookupTable.h
+ $(SED) -i -e 's/} \/\/ namespace JSC//' src/bun.js/bindings/JSSinkLookupTable.h
EMIT_LLVM_FOR_RELEASE=-emit-llvm -flto="full"
EMIT_LLVM_FOR_DEBUG=
-EMIT_LLVM=$(EMIT_LLVM_FOR_DEBUG)
+EMIT_LLVM=$(EMIT_LLVM_FOR_RELEASE)
# We do this outside of build.zig for performance reasons
# The C compilation stuff with build.zig is really slow and we don't need to run this as often as the rest
diff --git a/src/bun.js/generate-jssink.js b/src/bun.js/generate-jssink.js
index d272f60a6..3195c6be1 100644
--- a/src/bun.js/generate-jssink.js
+++ b/src/bun.js/generate-jssink.js
@@ -165,7 +165,7 @@ JSC_DECLARE_CUSTOM_GETTER(function${name}__getter);
const outer = `
// AUTO-GENERATED FILE. DO NOT EDIT.
-// Generated by ${import.meta.path} at ${new Date().toISOString()}
+// Generated by 'make generate-sink' at ${new Date().toISOString()}
//
#pragma once
@@ -201,10 +201,10 @@ JSObject* createJSSinkControllerPrototype(JSC::VM& vm, JSC::JSGlobalObject* glob
async function implementation() {
const head = `
// AUTO-GENERATED FILE. DO NOT EDIT.
-// Generated by ${import.meta.path} at ${new Date().toISOString()}
+// Generated by 'make generate-sink' at ${new Date().toISOString()}
// To regenerate this file, run:
//
-// bun src/bun.js/generate-jssink.js
+// make generate-sink
//
#include "root.h"
#include "JSSink.h"