[bun.js] Fix segfault when running many bun.js instances

This commit is contained in:
Jarred Sumner
2022-02-16 04:01:13 -08:00
parent 3ab56cee8a
commit 5a80a2e216
2 changed files with 9 additions and 4 deletions

View File

@@ -872,8 +872,9 @@ pub fn NewClass(
var property_name_refs_set: bool = false;
const property_name_literals = property_names;
pub var ref: js.JSClassRef = null;
pub var loaded = false;
pub threadlocal var ref: js.JSClassRef = null;
pub threadlocal var loaded = false;
pub var defined: bool = false;
pub var definition: js.JSClassDefinition = .{
.version = 0,
.attributes = js.JSClassAttributes.kJSClassAttributeNone,
@@ -926,9 +927,13 @@ pub fn NewClass(
pub const Constructor = ConstructorWrapper.rfn;
pub fn get() callconv(.C) [*c]js.JSClassRef {
if (!defined) {
definition = define();
defined = true;
}
if (!loaded) {
loaded = true;
definition = define();
ref = js.JSClassCreate(&definition);
}

View File

@@ -8104,7 +8104,7 @@ pub fn NewParser(
}
pub fn storeNameInRef(p: *P, name: string) !Ref {
if (comptime ParsePassSymbolUsageType != void) {
if (comptime track_symbol_usage_during_parse_pass) {
if (p.parse_pass_symbol_uses.getPtr(name)) |res| {
res.used = true;
}