aboutsummaryrefslogtreecommitdiff
path: root/src/javascript/jsc/bindings/ZigGlobalObject.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/javascript/jsc/bindings/ZigGlobalObject.h')
-rw-r--r--src/javascript/jsc/bindings/ZigGlobalObject.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/javascript/jsc/bindings/ZigGlobalObject.h b/src/javascript/jsc/bindings/ZigGlobalObject.h
index 64ece0c64..3d5d389e0 100644
--- a/src/javascript/jsc/bindings/ZigGlobalObject.h
+++ b/src/javascript/jsc/bindings/ZigGlobalObject.h
@@ -9,11 +9,13 @@ class Identifier;
} // namespace JSC
+#include "Process.h"
#include "ZigConsoleClient.h"
#include <JavaScriptCore/CatchScope.h>
#include <JavaScriptCore/JSGlobalObject.h>
#include <JavaScriptCore/JSTypeInfo.h>
#include <JavaScriptCore/Structure.h>
+
namespace Zig {
class GlobalObject : public JSC::JSGlobalObject {
@@ -22,7 +24,7 @@ class GlobalObject : public JSC::JSGlobalObject {
public:
DECLARE_EXPORT_INFO;
static const JSC::GlobalObjectMethodTable s_globalObjectMethodTable;
-
+ Zig::Process *m_process;
static constexpr bool needsDestruction = true;
template <typename CellType, JSC::SubspaceAccess mode>
static JSC::IsoSubspace *subspaceFor(JSC::VM &vm) {
@@ -74,17 +76,14 @@ class JSMicrotaskCallback : public RefCounted<JSMicrotaskCallback> {
public:
static Ref<JSMicrotaskCallback> create(JSC::JSGlobalObject &globalObject,
Ref<JSC::Microtask> &&task) {
- return adoptRef(*new JSMicrotaskCallback(globalObject, WTFMove(task)));
+ return adoptRef(*new JSMicrotaskCallback(globalObject, WTFMove(task).leakRef()));
}
void call() {
auto protectedThis{makeRef(*this)};
JSC::VM &vm = m_globalObject->vm();
- JSC::JSLockHolder lock(vm);
- auto scope = DECLARE_CATCH_SCOPE(vm);
auto task = &m_task.get();
task->run(m_globalObject.get());
- scope.assertNoExceptionExceptTermination();
}
private: