Skip to content

Commit ff04a69

Browse files
committed
Revert "[wasi] Stop using V8 fast API"
This reverts commit 0d5d171.
1 parent 0d5d171 commit ff04a69

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/node_wasi.cc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -209,14 +209,16 @@ void WASI::New(const FunctionCallbackInfo<Value>& args) {
209209
template <typename FT, FT F, typename R, typename... Args>
210210
void WASI::WasiFunction<FT, F, R, Args...>::SetFunction(
211211
Environment* env, const char* name, Local<FunctionTemplate> tmpl) {
212+
auto c_function = CFunction::Make(FastCallback);
212213
Local<FunctionTemplate> t =
213214
FunctionTemplate::New(env->isolate(),
214215
SlowCallback,
215216
Local<Value>(),
216217
Local<Signature>(),
217218
sizeof...(Args),
218219
v8::ConstructorBehavior::kThrow,
219-
v8::SideEffectType::kHasSideEffect);
220+
v8::SideEffectType::kHasSideEffect,
221+
&c_function);
220222
const v8::NewStringType type = v8::NewStringType::kInternalized;
221223
Local<String> name_string =
222224
String::NewFromUtf8(env->isolate(), name, type).ToLocalChecked();
@@ -249,7 +251,7 @@ R WASI::WasiFunction<FT, F, R, Args...>::FastCallback(
249251
v8::Isolate* isolate = receiver->GetIsolate();
250252
if (wasi->memory_.IsEmpty()) {
251253
THROW_ERR_WASI_NOT_STARTED(isolate);
252-
return EinvalError<R>();
254+
return;
253255
}
254256
Local<ArrayBuffer> ab = wasi->memory_.Get(isolate)->Buffer();
255257
size_t mem_size = ab->ByteLength();

0 commit comments

Comments
 (0)