@@ -265,17 +265,17 @@ FileHandle* FileHandle::New(BindingData* binding_data,
265265}
266266
267267void FileHandle::New(const FunctionCallbackInfo<Value>& args) {
268- BindingData* binding_data = Realm::GetBindingData<BindingData>(args);
269- Environment* env = binding_data->env();
270268 CHECK(args.IsConstructCall());
271269 CHECK(args[0]->IsInt32());
270+ Realm* realm = Realm::GetCurrent(args);
271+ BindingData* binding_data = realm->GetBindingData<BindingData>();
272272
273273 std::optional<int64_t> maybeOffset = std::nullopt;
274274 std::optional<int64_t> maybeLength = std::nullopt;
275275 if (args[1]->IsNumber())
276- maybeOffset = args[1]->IntegerValue(env ->context()).FromJust();
276+ maybeOffset = args[1]->IntegerValue(realm ->context()).FromJust();
277277 if (args[2]->IsNumber())
278- maybeLength = args[2]->IntegerValue(env ->context()).FromJust();
278+ maybeLength = args[2]->IntegerValue(realm ->context()).FromJust();
279279
280280 FileHandle::New(binding_data,
281281 args[0].As<Int32>()->Value(),
@@ -1143,13 +1143,14 @@ static void InternalModuleStat(const FunctionCallbackInfo<Value>& args) {
11431143}
11441144
11451145static void Stat(const FunctionCallbackInfo<Value>& args) {
1146- BindingData* binding_data = Realm::GetBindingData<BindingData>(args);
1147- Environment* env = binding_data->env();
1146+ Realm* realm = Realm::GetCurrent(args);
1147+ BindingData* binding_data = realm->GetBindingData<BindingData>();
1148+ Environment* env = realm->env();
11481149
11491150 const int argc = args.Length();
11501151 CHECK_GE(argc, 2);
11511152
1152- BufferValue path(env ->isolate(), args[0]);
1153+ BufferValue path(realm ->isolate(), args[0]);
11531154 CHECK_NOT_NULL(*path);
11541155 THROW_IF_INSUFFICIENT_PERMISSIONS(
11551156 env, permission::PermissionScope::kFileSystemRead, path.ToStringView());
@@ -1178,13 +1179,14 @@ static void Stat(const FunctionCallbackInfo<Value>& args) {
11781179}
11791180
11801181static void LStat(const FunctionCallbackInfo<Value>& args) {
1181- BindingData* binding_data = Realm::GetBindingData<BindingData>(args);
1182- Environment* env = binding_data->env();
1182+ Realm* realm = Realm::GetCurrent(args);
1183+ BindingData* binding_data = realm->GetBindingData<BindingData>();
1184+ Environment* env = realm->env();
11831185
11841186 const int argc = args.Length();
11851187 CHECK_GE(argc, 3);
11861188
1187- BufferValue path(env ->isolate(), args[0]);
1189+ BufferValue path(realm ->isolate(), args[0]);
11881190 CHECK_NOT_NULL(*path);
11891191
11901192 bool use_bigint = args[1]->IsTrue();
@@ -1212,8 +1214,9 @@ static void LStat(const FunctionCallbackInfo<Value>& args) {
12121214}
12131215
12141216static void FStat(const FunctionCallbackInfo<Value>& args) {
1215- BindingData* binding_data = Realm::GetBindingData<BindingData>(args);
1216- Environment* env = binding_data->env();
1217+ Realm* realm = Realm::GetCurrent(args);
1218+ BindingData* binding_data = realm->GetBindingData<BindingData>();
1219+ Environment* env = realm->env();
12171220
12181221 const int argc = args.Length();
12191222 CHECK_GE(argc, 2);
@@ -1244,13 +1247,14 @@ static void FStat(const FunctionCallbackInfo<Value>& args) {
12441247}
12451248
12461249static void StatFs(const FunctionCallbackInfo<Value>& args) {
1247- BindingData* binding_data = Realm::GetBindingData<BindingData>(args);
1248- Environment* env = binding_data->env();
1250+ Realm* realm = Realm::GetCurrent(args);
1251+ BindingData* binding_data = realm->GetBindingData<BindingData>();
1252+ Environment* env = realm->env();
12491253
12501254 const int argc = args.Length();
12511255 CHECK_GE(argc, 2);
12521256
1253- BufferValue path(env ->isolate(), args[0]);
1257+ BufferValue path(realm ->isolate(), args[0]);
12541258 CHECK_NOT_NULL(*path);
12551259 THROW_IF_INSUFFICIENT_PERMISSIONS(
12561260 env, permission::PermissionScope::kFileSystemRead, path.ToStringView());
0 commit comments