From c1d7ec9564aaa091f46e011f61c1591f9b471a63 Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Thu, 15 Dec 2022 16:28:30 -0800 Subject: [node:process] Implement `process.abort()` --- src/bun.js/bindings/Process.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/bun.js/bindings/Process.cpp') diff --git a/src/bun.js/bindings/Process.cpp b/src/bun.js/bindings/Process.cpp index 4371eb8df..a72990ed8 100644 --- a/src/bun.js/bindings/Process.cpp +++ b/src/bun.js/bindings/Process.cpp @@ -489,6 +489,12 @@ Process::~Process() } } +JSC_DEFINE_HOST_FUNCTION(Process_functionAbort, (JSGlobalObject * globalObject, CallFrame*)) +{ + abort(); + __builtin_unreachable(); +} + void Process::finishCreation(JSC::VM& vm) { Base::finishCreation(vm); @@ -598,6 +604,9 @@ void Process::finishCreation(JSC::VM& vm) this->putDirectCustomAccessor(vm, JSC::PropertyName(JSC::Identifier::fromString(vm, "stdin"_s)), JSC::CustomGetterSetter::create(vm, Process_lazyStdinGetter, Process_defaultSetter), 0); + + this->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(this->vm(), "abort"_s), + 0, Process_functionAbort, ImplementationVisibility::Public, NoIntrinsic, 0); } const JSC::ClassInfo Process::s_info = { "Process"_s, &Base::s_info, nullptr, nullptr, -- cgit v1.2.3