aboutsummaryrefslogtreecommitdiff
path: root/src/javascript/jsc/bindings/bindings.cpp
diff options
context:
space:
mode:
authorGravatar Jarred SUmner <jarred@jarredsumner.com> 2022-04-04 23:25:54 -0700
committerGravatar Jarred SUmner <jarred@jarredsumner.com> 2022-04-04 23:25:54 -0700
commit30542225c6e140c900078538a6a563561005411b (patch)
tree9a2c4d1b9b09441df9712d8d410e0810421f5a53 /src/javascript/jsc/bindings/bindings.cpp
parent759b6c18fdbaa3788dad0ccde0115e4dce1a6470 (diff)
downloadbun-30542225c6e140c900078538a6a563561005411b.tar.gz
bun-30542225c6e140c900078538a6a563561005411b.tar.zst
bun-30542225c6e140c900078538a6a563561005411b.zip
fix bug with io sometimes sleeping permanetly
Diffstat (limited to 'src/javascript/jsc/bindings/bindings.cpp')
-rw-r--r--src/javascript/jsc/bindings/bindings.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/javascript/jsc/bindings/bindings.cpp b/src/javascript/jsc/bindings/bindings.cpp
index c3684e2bd..a0e5fe4a9 100644
--- a/src/javascript/jsc/bindings/bindings.cpp
+++ b/src/javascript/jsc/bindings/bindings.cpp
@@ -2410,13 +2410,19 @@ void JSC__JSValue__getNameProperty(JSC__JSValue JSValue0, JSC__JSGlobalObject* a
{
JSC::JSObject* obj = JSC::JSValue::decode(JSValue0).getObject();
+ JSC::VM &vm = arg1->vm();
if (obj == nullptr) {
arg2->len = 0;
return;
}
- JSC::JSValue name = obj->getDirect(arg1->vm(), arg1->vm().propertyNames->name);
+ JSC::JSValue name = obj->getDirect(vm, vm.propertyNames->toStringTagSymbol);
+ if (name == JSC::JSValue{}) {
+ name = obj->getDirect(vm, vm.propertyNames->name);
+ }
+
+
if (name && name.isString()) {
auto str = name.toWTFString(arg1);
if (!str.isEmpty()) {
@@ -2425,9 +2431,9 @@ void JSC__JSValue__getNameProperty(JSC__JSValue JSValue0, JSC__JSGlobalObject* a
}
}
- if (JSC::JSFunction* function = JSC::jsDynamicCast<JSC::JSFunction*>(arg1->vm(), obj)) {
+ if (JSC::JSFunction* function = JSC::jsDynamicCast<JSC::JSFunction*>(vm, obj)) {
- WTF::String actualName = function->name(arg1->vm());
+ WTF::String actualName = function->name(vm);
if (!actualName.isEmpty() || function->isHostOrBuiltinFunction()) {
*arg2 = Zig::toZigString(actualName);
return;
@@ -2439,7 +2445,7 @@ void JSC__JSValue__getNameProperty(JSC__JSValue JSValue0, JSC__JSGlobalObject* a
return;
}
- if (JSC::InternalFunction* function = JSC::jsDynamicCast<JSC::InternalFunction*>(arg1->vm(), obj)) {
+ if (JSC::InternalFunction* function = JSC::jsDynamicCast<JSC::InternalFunction*>(vm, obj)) {
auto view = WTF::StringView(function->name());
*arg2 = Zig::toZigString(view);
return;