fix(runtime): make some things more stable (partial jsc debug build) (#5881)

* make our debug assertions work

* install bun-webkit-debug

* more progress

* ok

* progress...

* more debug build stuff

* ok

* a

* asdfghjkl

* fix(runtime): fix bad assertion failure in JSBufferList

* ok

* stuff

* upgrade webkit

* Update src/bun.js/bindings/JSDOMWrapperCache.h

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>

* fix message for colin's changes

* okay

* fix cjs prototype

* implement mainModule

* i think this fixes it all

---------

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
This commit is contained in:
dave caruso
2023-10-16 21:22:43 -07:00
committed by GitHub
parent a3958190e8
commit 98d19fa624
116 changed files with 1827 additions and 1443 deletions

View File

@@ -92,13 +92,20 @@ generateInternalModuleSourceCode(JSC::JSGlobalObject* globalObject, InternalModu
exportNames.reserveCapacity(len);
exportValues.ensureCapacity(len);
exportNames.append(vm.propertyNames->defaultKeyword);
exportValues.append(object);
bool hasDefault = false;
for (auto& entry : properties) {
if (UNLIKELY(entry == vm.propertyNames->defaultKeyword)) {
hasDefault = true;
}
exportNames.append(entry);
exportValues.append(object->get(globalObject, entry));
}
if (!hasDefault) {
exportNames.append(vm.propertyNames->defaultKeyword);
exportValues.append(object);
}
};
}
@@ -138,7 +145,7 @@ PendingVirtualModuleResult* PendingVirtualModuleResult::create(VM& vm, Structure
}
Structure* PendingVirtualModuleResult::createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
{
return Structure::create(vm, globalObject, prototype, TypeInfo(CellType, StructureFlags), info());
return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
}
PendingVirtualModuleResult::PendingVirtualModuleResult(VM& vm, Structure* structure)
@@ -533,7 +540,7 @@ JSValue fetchCommonJSModule(
RELEASE_AND_RETURN(scope, {});
}
target->putDirect(vm, WebCore::clientData(vm)->builtinNames().exportsPublicName(), value, value.isCell() && value.isCallable() ? JSC::PropertyAttribute::Function | 0 : 0);
target->putDirect(vm, WebCore::clientData(vm)->builtinNames().exportsPublicName(), value, 0);
target->hasEvaluated = true;
RELEASE_AND_RETURN(scope, target);
}