emnapi 0.41.0 → 0.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CMakeLists.txt +2 -0
- package/README.md +4 -4
- package/dist/library_napi.js +227 -66
- package/include/emnapi.h +2 -1
- package/include/js_native_api.h +10 -0
- package/include/node_api.h +2 -2
- package/include/uv.h +17 -0
- package/lib/wasm32/libdlmalloc-mt.a +0 -0
- package/lib/wasm32/libdlmalloc.a +0 -0
- package/lib/wasm32/libemmalloc-mt.a +0 -0
- package/lib/wasm32/libemmalloc.a +0 -0
- package/lib/wasm32/libemnapi-basic-mt.a +0 -0
- package/lib/wasm32/libemnapi-basic.a +0 -0
- package/lib/wasm32/libemnapi.a +0 -0
- package/lib/wasm32-emscripten/libemnapi-basic.a +0 -0
- package/lib/wasm32-emscripten/libemnapi-mt.a +0 -0
- package/lib/wasm32-emscripten/libemnapi.a +0 -0
- package/lib/wasm32-wasi/libemnapi-basic-mt.a +0 -0
- package/lib/wasm32-wasi/libemnapi-basic.a +0 -0
- package/lib/wasm32-wasi/libemnapi.a +0 -0
- package/lib/wasm32-wasi-threads/libemnapi-basic-mt.a +0 -0
- package/lib/wasm32-wasi-threads/libemnapi-basic.a +0 -0
- package/lib/wasm32-wasi-threads/libemnapi-mt.a +0 -0
- package/lib/wasm32-wasi-threads/libemnapi.a +0 -0
- package/package.json +1 -1
- package/src/async_cleanup_hook.c +1 -1
- package/src/async_context.c +2 -0
- package/src/async_work.c +2 -0
- package/src/emnapi_internal.h +3 -0
- package/src/malloc/dlmalloc/malloc.c +16 -21
- package/src/node_api.c +1 -1
- package/src/threadsafe_function.c +1 -0
- package/src/uv/threadpool.c +10 -3
- package/src/uv/unix/thread.c +62 -3
package/dist/library_napi.js
CHANGED
|
@@ -150,6 +150,7 @@ function _emnapi_create_memory_view(env, typedarray_type, external_data, byte_le
|
|
|
150
150
|
if (!env)
|
|
151
151
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
152
152
|
var envObject = emnapiCtx.envStore.get(env);
|
|
153
|
+
envObject.checkGCAccess();
|
|
153
154
|
if (envObject.tryCatch.hasCaught())
|
|
154
155
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
155
156
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -311,6 +312,7 @@ function emnapi_sync_memory(env, js_to_wasm, arraybuffer_or_view, offset, len) {
|
|
|
311
312
|
if (!env)
|
|
312
313
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
313
314
|
var envObject = emnapiCtx.envStore.get(env);
|
|
315
|
+
envObject.checkGCAccess();
|
|
314
316
|
if (envObject.tryCatch.hasCaught())
|
|
315
317
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
316
318
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -368,6 +370,7 @@ function emnapi_get_memory_address(env, arraybuffer_or_view, address, ownership,
|
|
|
368
370
|
if (!env)
|
|
369
371
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
370
372
|
var envObject = emnapiCtx.envStore.get(env);
|
|
373
|
+
envObject.checkGCAccess();
|
|
371
374
|
if (envObject.tryCatch.hasCaught())
|
|
372
375
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
373
376
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -457,6 +460,7 @@ function napi_throw(env, error) {
|
|
|
457
460
|
if (!env)
|
|
458
461
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
459
462
|
var envObject = emnapiCtx.envStore.get(env);
|
|
463
|
+
envObject.checkGCAccess();
|
|
460
464
|
if (envObject.tryCatch.hasCaught())
|
|
461
465
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
462
466
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -478,6 +482,7 @@ function napi_throw_error(env, code, msg) {
|
|
|
478
482
|
if (!env)
|
|
479
483
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
480
484
|
var envObject = emnapiCtx.envStore.get(env);
|
|
485
|
+
envObject.checkGCAccess();
|
|
481
486
|
if (envObject.tryCatch.hasCaught())
|
|
482
487
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
483
488
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -504,6 +509,7 @@ function napi_throw_type_error(env, code, msg) {
|
|
|
504
509
|
if (!env)
|
|
505
510
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
506
511
|
var envObject = emnapiCtx.envStore.get(env);
|
|
512
|
+
envObject.checkGCAccess();
|
|
507
513
|
if (envObject.tryCatch.hasCaught())
|
|
508
514
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
509
515
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -530,6 +536,7 @@ function napi_throw_range_error(env, code, msg) {
|
|
|
530
536
|
if (!env)
|
|
531
537
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
532
538
|
var envObject = emnapiCtx.envStore.get(env);
|
|
539
|
+
envObject.checkGCAccess();
|
|
533
540
|
if (envObject.tryCatch.hasCaught())
|
|
534
541
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
535
542
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -556,6 +563,7 @@ function node_api_throw_syntax_error(env, code, msg) {
|
|
|
556
563
|
if (!env)
|
|
557
564
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
558
565
|
var envObject = emnapiCtx.envStore.get(env);
|
|
566
|
+
envObject.checkGCAccess();
|
|
559
567
|
if (envObject.tryCatch.hasCaught())
|
|
560
568
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
561
569
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -582,6 +590,7 @@ function napi_is_exception_pending(env, result) {
|
|
|
582
590
|
if (!env)
|
|
583
591
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
584
592
|
var envObject = emnapiCtx.envStore.get(env);
|
|
593
|
+
envObject.checkGCAccess();
|
|
585
594
|
if (!result)
|
|
586
595
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
587
596
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -594,6 +603,7 @@ function napi_create_error(env, code, msg, result) {
|
|
|
594
603
|
if (!env)
|
|
595
604
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
596
605
|
var envObject = emnapiCtx.envStore.get(env);
|
|
606
|
+
envObject.checkGCAccess();
|
|
597
607
|
if (!msg)
|
|
598
608
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
599
609
|
if (!result)
|
|
@@ -620,6 +630,7 @@ function napi_create_type_error(env, code, msg, result) {
|
|
|
620
630
|
if (!env)
|
|
621
631
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
622
632
|
var envObject = emnapiCtx.envStore.get(env);
|
|
633
|
+
envObject.checkGCAccess();
|
|
623
634
|
if (!msg)
|
|
624
635
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
625
636
|
if (!result)
|
|
@@ -646,6 +657,7 @@ function napi_create_range_error(env, code, msg, result) {
|
|
|
646
657
|
if (!env)
|
|
647
658
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
648
659
|
var envObject = emnapiCtx.envStore.get(env);
|
|
660
|
+
envObject.checkGCAccess();
|
|
649
661
|
if (!msg)
|
|
650
662
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
651
663
|
if (!result)
|
|
@@ -672,6 +684,7 @@ function node_api_create_syntax_error(env, code, msg, result) {
|
|
|
672
684
|
if (!env)
|
|
673
685
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
674
686
|
var envObject = emnapiCtx.envStore.get(env);
|
|
687
|
+
envObject.checkGCAccess();
|
|
675
688
|
if (!msg)
|
|
676
689
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
677
690
|
if (!result)
|
|
@@ -698,6 +711,7 @@ function napi_get_and_clear_last_exception(env, result) {
|
|
|
698
711
|
if (!env)
|
|
699
712
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
700
713
|
var envObject = emnapiCtx.envStore.get(env);
|
|
714
|
+
envObject.checkGCAccess();
|
|
701
715
|
if (!result)
|
|
702
716
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
703
717
|
{{{ from64('result') }}};
|
|
@@ -732,6 +746,7 @@ function napi_fatal_exception(env, err) {
|
|
|
732
746
|
if (!env)
|
|
733
747
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
734
748
|
var envObject = emnapiCtx.envStore.get(env);
|
|
749
|
+
envObject.checkGCAccess();
|
|
735
750
|
if (envObject.tryCatch.hasCaught())
|
|
736
751
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
737
752
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -775,6 +790,7 @@ function napi_create_function(env, utf8name, length, cb, data, result) {
|
|
|
775
790
|
if (!env)
|
|
776
791
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
777
792
|
var envObject = emnapiCtx.envStore.get(env);
|
|
793
|
+
envObject.checkGCAccess();
|
|
778
794
|
if (envObject.tryCatch.hasCaught())
|
|
779
795
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
780
796
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -802,11 +818,13 @@ function napi_create_function(env, utf8name, length, cb, data, result) {
|
|
|
802
818
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
803
819
|
}
|
|
804
820
|
}
|
|
805
|
-
function napi_get_cb_info(env,
|
|
821
|
+
function napi_get_cb_info(env, cbinfo, argc, argv, this_arg, data) {
|
|
806
822
|
if (!env)
|
|
807
823
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
808
824
|
var envObject = emnapiCtx.envStore.get(env);
|
|
809
|
-
|
|
825
|
+
if (!cbinfo)
|
|
826
|
+
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
827
|
+
var cbinfoValue = emnapiCtx.cbinfoStack.get(cbinfo);
|
|
810
828
|
{{{ from64('argc') }}};
|
|
811
829
|
{{{ from64('argv') }}};
|
|
812
830
|
if (argv) {
|
|
@@ -850,6 +868,7 @@ function napi_call_function(env, recv, func, argc, argv, result) {
|
|
|
850
868
|
if (!env)
|
|
851
869
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
852
870
|
var envObject = emnapiCtx.envStore.get(env);
|
|
871
|
+
envObject.checkGCAccess();
|
|
853
872
|
if (envObject.tryCatch.hasCaught())
|
|
854
873
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
855
874
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -897,6 +916,7 @@ function napi_new_instance(env, constructor, argc, argv, result) {
|
|
|
897
916
|
if (!env)
|
|
898
917
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
899
918
|
var envObject = emnapiCtx.envStore.get(env);
|
|
919
|
+
envObject.checkGCAccess();
|
|
900
920
|
if (envObject.tryCatch.hasCaught())
|
|
901
921
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
902
922
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -949,14 +969,17 @@ function napi_new_instance(env, constructor, argc, argv, result) {
|
|
|
949
969
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
950
970
|
}
|
|
951
971
|
}
|
|
952
|
-
function napi_get_new_target(env,
|
|
972
|
+
function napi_get_new_target(env, cbinfo, result) {
|
|
953
973
|
if (!env)
|
|
954
974
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
955
975
|
var envObject = emnapiCtx.envStore.get(env);
|
|
976
|
+
if (!cbinfo)
|
|
977
|
+
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
956
978
|
if (!result)
|
|
957
979
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
980
|
+
envObject.checkGCAccess();
|
|
958
981
|
{{{ from64('result') }}};
|
|
959
|
-
var cbinfoValue = emnapiCtx.cbinfoStack.
|
|
982
|
+
var cbinfoValue = emnapiCtx.cbinfoStack.get(cbinfo);
|
|
960
983
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
961
984
|
var value = cbinfoValue.getNewTarget(envObject);
|
|
962
985
|
{{{ makeSetValue('result', 0, 'value', '*') }}};
|
|
@@ -976,11 +999,11 @@ function emnapiCreateFunction(envObject, utf8name, length, cb, data) {
|
|
|
976
999
|
var f;
|
|
977
1000
|
var makeFunction = function () { return function () {
|
|
978
1001
|
'use strict';
|
|
979
|
-
emnapiCtx.cbinfoStack.push(this, data, arguments, f);
|
|
1002
|
+
var cbinfo = emnapiCtx.cbinfoStack.push(this, data, arguments, f);
|
|
980
1003
|
var scope = emnapiCtx.openScope(envObject);
|
|
981
1004
|
try {
|
|
982
1005
|
return envObject.callIntoModule(function (envObject) {
|
|
983
|
-
var napiValue = {{{ makeDynCall('ppp', 'cb') }}}(envObject.id,
|
|
1006
|
+
var napiValue = {{{ makeDynCall('ppp', 'cb') }}}(envObject.id, cbinfo);
|
|
984
1007
|
return (!napiValue) ? undefined : emnapiCtx.handleStore.get(napiValue).value;
|
|
985
1008
|
});
|
|
986
1009
|
}
|
|
@@ -1079,6 +1102,7 @@ function emnapiWrap(env, js_object, native_object, finalize_cb, finalize_hint, r
|
|
|
1079
1102
|
if (!env)
|
|
1080
1103
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
1081
1104
|
var envObject = emnapiCtx.envStore.get(env);
|
|
1105
|
+
envObject.checkGCAccess();
|
|
1082
1106
|
if (envObject.tryCatch.hasCaught())
|
|
1083
1107
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
1084
1108
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -1130,6 +1154,7 @@ function emnapiUnwrap(env, js_object, result, action) {
|
|
|
1130
1154
|
if (!env)
|
|
1131
1155
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
1132
1156
|
var envObject = emnapiCtx.envStore.get(env);
|
|
1157
|
+
envObject.checkGCAccess();
|
|
1133
1158
|
if (envObject.tryCatch.hasCaught())
|
|
1134
1159
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
1135
1160
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -1184,6 +1209,7 @@ function napi_open_handle_scope(env, result) {
|
|
|
1184
1209
|
if (!env)
|
|
1185
1210
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
1186
1211
|
var envObject = emnapiCtx.envStore.get(env);
|
|
1212
|
+
envObject.checkGCAccess();
|
|
1187
1213
|
if (!result)
|
|
1188
1214
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
1189
1215
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -1196,6 +1222,7 @@ function napi_close_handle_scope(env, scope) {
|
|
|
1196
1222
|
if (!env)
|
|
1197
1223
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
1198
1224
|
var envObject = emnapiCtx.envStore.get(env);
|
|
1225
|
+
envObject.checkGCAccess();
|
|
1199
1226
|
if (!scope)
|
|
1200
1227
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
1201
1228
|
if ((envObject.openHandleScopes === 0)) {
|
|
@@ -1208,6 +1235,7 @@ function napi_open_escapable_handle_scope(env, result) {
|
|
|
1208
1235
|
if (!env)
|
|
1209
1236
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
1210
1237
|
var envObject = emnapiCtx.envStore.get(env);
|
|
1238
|
+
envObject.checkGCAccess();
|
|
1211
1239
|
if (!result)
|
|
1212
1240
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
1213
1241
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -1220,6 +1248,7 @@ function napi_close_escapable_handle_scope(env, scope) {
|
|
|
1220
1248
|
if (!env)
|
|
1221
1249
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
1222
1250
|
var envObject = emnapiCtx.envStore.get(env);
|
|
1251
|
+
envObject.checkGCAccess();
|
|
1223
1252
|
if (!scope)
|
|
1224
1253
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
1225
1254
|
if ((envObject.openHandleScopes === 0)) {
|
|
@@ -1232,6 +1261,7 @@ function napi_escape_handle(env, scope, escapee, result) {
|
|
|
1232
1261
|
if (!env)
|
|
1233
1262
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
1234
1263
|
var envObject = emnapiCtx.envStore.get(env);
|
|
1264
|
+
envObject.checkGCAccess();
|
|
1235
1265
|
if (!scope)
|
|
1236
1266
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
1237
1267
|
if (!escapee)
|
|
@@ -1254,6 +1284,7 @@ function napi_create_reference(env, value, initial_refcount, result) {
|
|
|
1254
1284
|
if (!env)
|
|
1255
1285
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
1256
1286
|
var envObject = emnapiCtx.envStore.get(env);
|
|
1287
|
+
envObject.checkGCAccess();
|
|
1257
1288
|
if (!value)
|
|
1258
1289
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
1259
1290
|
if (!result)
|
|
@@ -1274,6 +1305,7 @@ function napi_delete_reference(env, ref) {
|
|
|
1274
1305
|
if (!env)
|
|
1275
1306
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
1276
1307
|
var envObject = emnapiCtx.envStore.get(env);
|
|
1308
|
+
envObject.checkGCAccess();
|
|
1277
1309
|
if (!ref)
|
|
1278
1310
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
1279
1311
|
emnapiCtx.refStore.get(ref).dispose();
|
|
@@ -1283,6 +1315,7 @@ function napi_reference_ref(env, ref, result) {
|
|
|
1283
1315
|
if (!env)
|
|
1284
1316
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
1285
1317
|
var envObject = emnapiCtx.envStore.get(env);
|
|
1318
|
+
envObject.checkGCAccess();
|
|
1286
1319
|
if (!ref)
|
|
1287
1320
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
1288
1321
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -1297,6 +1330,7 @@ function napi_reference_unref(env, ref, result) {
|
|
|
1297
1330
|
if (!env)
|
|
1298
1331
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
1299
1332
|
var envObject = emnapiCtx.envStore.get(env);
|
|
1333
|
+
envObject.checkGCAccess();
|
|
1300
1334
|
if (!ref)
|
|
1301
1335
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
1302
1336
|
var reference = emnapiCtx.refStore.get(ref);
|
|
@@ -1316,6 +1350,7 @@ function napi_get_reference_value(env, ref, result) {
|
|
|
1316
1350
|
if (!env)
|
|
1317
1351
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
1318
1352
|
var envObject = emnapiCtx.envStore.get(env);
|
|
1353
|
+
envObject.checkGCAccess();
|
|
1319
1354
|
if (!ref)
|
|
1320
1355
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
1321
1356
|
if (!result)
|
|
@@ -1548,13 +1583,13 @@ function __emnapi_node_emit_async_destroy(async_id, trigger_async_id) {
|
|
|
1548
1583
|
})
|
|
1549
1584
|
|
|
1550
1585
|
{{{ from64('result') }}}
|
|
1551
|
-
|
|
1586
|
+
$_TODO_makeSetValue('result', 0, 'nativeCallbackScopePointer', 'i64')
|
|
1552
1587
|
}
|
|
1553
1588
|
|
|
1554
1589
|
function __emnapi_node_close_callback_scope (scope: Pointer<int64_t>): void {
|
|
1555
1590
|
if (!emnapiNodeBinding || !scope) return
|
|
1556
1591
|
{{{ from64('scope') }}}
|
|
1557
|
-
const nativeCallbackScopePointer =
|
|
1592
|
+
const nativeCallbackScopePointer = $_TODO_makeGetValue('scope', 0, 'i64')
|
|
1558
1593
|
emnapiNodeBinding.node.closeCallbackScope(BigInt(nativeCallbackScopePointer))
|
|
1559
1594
|
} */
|
|
1560
1595
|
function __emnapi_node_make_callback(env, async_resource, cb, argv, size, async_id, trigger_async_id, result) {
|
|
@@ -1640,6 +1675,7 @@ function napi_make_callback(env, async_context, recv, func, argc, argv, result)
|
|
|
1640
1675
|
if (!env)
|
|
1641
1676
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
1642
1677
|
var envObject = emnapiCtx.envStore.get(env);
|
|
1678
|
+
envObject.checkGCAccess();
|
|
1643
1679
|
if (envObject.tryCatch.hasCaught())
|
|
1644
1680
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
1645
1681
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -1685,13 +1721,17 @@ function napi_make_callback(env, async_context, recv, func, argc, argv, result)
|
|
|
1685
1721
|
v = envObject.ensureHandleId(ret.value);
|
|
1686
1722
|
{{{ makeSetValue('result', 0, 'v', '*') }}};
|
|
1687
1723
|
}
|
|
1688
|
-
return envObject.
|
|
1724
|
+
return envObject.getReturnStatus();
|
|
1689
1725
|
}
|
|
1690
1726
|
catch (err) {
|
|
1691
1727
|
envObject.tryCatch.setError(err);
|
|
1692
1728
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
1693
1729
|
}
|
|
1694
1730
|
}
|
|
1731
|
+
function __emnapi_env_check_gc_access(env) {
|
|
1732
|
+
var envObject = emnapiCtx.envStore.get(env);
|
|
1733
|
+
envObject.checkGCAccess();
|
|
1734
|
+
}
|
|
1695
1735
|
emnapiImplementInternal('_emnapi_node_emit_async_init', 'vppdp', __emnapi_node_emit_async_init);
|
|
1696
1736
|
emnapiImplementInternal('_emnapi_node_emit_async_destroy', 'vdd', __emnapi_node_emit_async_destroy);
|
|
1697
1737
|
// emnapiImplementInternal('_emnapi_node_open_callback_scope', 'vpddp', __emnapi_node_open_callback_scope)
|
|
@@ -1699,6 +1739,7 @@ emnapiImplementInternal('_emnapi_node_emit_async_destroy', 'vdd', __emnapi_node_
|
|
|
1699
1739
|
emnapiImplementInternal('_emnapi_node_make_callback', 'ipppppddp', __emnapi_node_make_callback);
|
|
1700
1740
|
emnapiImplementInternal('_emnapi_async_init_js', 'ippp', __emnapi_async_init_js);
|
|
1701
1741
|
emnapiImplementInternal('_emnapi_async_destroy_js', 'ip', __emnapi_async_destroy_js);
|
|
1742
|
+
emnapiImplementInternal('_emnapi_env_check_gc_access', 'vp', __emnapi_env_check_gc_access);
|
|
1702
1743
|
emnapiImplement('napi_open_callback_scope', 'ipppp', napi_open_callback_scope);
|
|
1703
1744
|
emnapiImplement('napi_close_callback_scope', 'ipp', napi_close_callback_scope);
|
|
1704
1745
|
emnapiImplement('napi_make_callback', 'ippppppp', napi_make_callback);
|
|
@@ -1708,6 +1749,7 @@ function napi_create_promise(env, deferred, promise) {
|
|
|
1708
1749
|
if (!env)
|
|
1709
1750
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
1710
1751
|
var envObject = emnapiCtx.envStore.get(env);
|
|
1752
|
+
envObject.checkGCAccess();
|
|
1711
1753
|
if (envObject.tryCatch.hasCaught())
|
|
1712
1754
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
1713
1755
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -1740,6 +1782,7 @@ function napi_resolve_deferred(env, deferred, resolution) {
|
|
|
1740
1782
|
if (!env)
|
|
1741
1783
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
1742
1784
|
var envObject = emnapiCtx.envStore.get(env);
|
|
1785
|
+
envObject.checkGCAccess();
|
|
1743
1786
|
if (envObject.tryCatch.hasCaught())
|
|
1744
1787
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
1745
1788
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -1764,6 +1807,7 @@ function napi_reject_deferred(env, deferred, resolution) {
|
|
|
1764
1807
|
if (!env)
|
|
1765
1808
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
1766
1809
|
var envObject = emnapiCtx.envStore.get(env);
|
|
1810
|
+
envObject.checkGCAccess();
|
|
1767
1811
|
if (envObject.tryCatch.hasCaught())
|
|
1768
1812
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
1769
1813
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -1788,6 +1832,7 @@ function napi_is_promise(env, value, is_promise) {
|
|
|
1788
1832
|
if (!env)
|
|
1789
1833
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
1790
1834
|
var envObject = emnapiCtx.envStore.get(env);
|
|
1835
|
+
envObject.checkGCAccess();
|
|
1791
1836
|
if (!value)
|
|
1792
1837
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
1793
1838
|
if (!is_promise)
|
|
@@ -1809,6 +1854,7 @@ function _napi_get_all_property_names(env, object, key_mode, key_filter, key_con
|
|
|
1809
1854
|
if (!env)
|
|
1810
1855
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
1811
1856
|
var envObject = emnapiCtx.envStore.get(env);
|
|
1857
|
+
envObject.checkGCAccess();
|
|
1812
1858
|
if (envObject.tryCatch.hasCaught())
|
|
1813
1859
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
1814
1860
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -1953,6 +1999,7 @@ function napi_set_property(env, object, key, value) {
|
|
|
1953
1999
|
if (!env)
|
|
1954
2000
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
1955
2001
|
var envObject = emnapiCtx.envStore.get(env);
|
|
2002
|
+
envObject.checkGCAccess();
|
|
1956
2003
|
if (envObject.tryCatch.hasCaught())
|
|
1957
2004
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
1958
2005
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -1984,6 +2031,7 @@ function napi_has_property(env, object, key, result) {
|
|
|
1984
2031
|
if (!env)
|
|
1985
2032
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
1986
2033
|
var envObject = emnapiCtx.envStore.get(env);
|
|
2034
|
+
envObject.checkGCAccess();
|
|
1987
2035
|
if (envObject.tryCatch.hasCaught())
|
|
1988
2036
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
1989
2037
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -2024,6 +2072,7 @@ function napi_get_property(env, object, key, result) {
|
|
|
2024
2072
|
if (!env)
|
|
2025
2073
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2026
2074
|
var envObject = emnapiCtx.envStore.get(env);
|
|
2075
|
+
envObject.checkGCAccess();
|
|
2027
2076
|
if (envObject.tryCatch.hasCaught())
|
|
2028
2077
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
2029
2078
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -2065,6 +2114,7 @@ function napi_delete_property(env, object, key, result) {
|
|
|
2065
2114
|
if (!env)
|
|
2066
2115
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2067
2116
|
var envObject = emnapiCtx.envStore.get(env);
|
|
2117
|
+
envObject.checkGCAccess();
|
|
2068
2118
|
if (envObject.tryCatch.hasCaught())
|
|
2069
2119
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
2070
2120
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -2109,6 +2159,7 @@ function napi_has_own_property(env, object, key, result) {
|
|
|
2109
2159
|
if (!env)
|
|
2110
2160
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2111
2161
|
var envObject = emnapiCtx.envStore.get(env);
|
|
2162
|
+
envObject.checkGCAccess();
|
|
2112
2163
|
if (envObject.tryCatch.hasCaught())
|
|
2113
2164
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
2114
2165
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -2151,6 +2202,7 @@ function napi_set_named_property(env, object, cname, value) {
|
|
|
2151
2202
|
if (!env)
|
|
2152
2203
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2153
2204
|
var envObject = emnapiCtx.envStore.get(env);
|
|
2205
|
+
envObject.checkGCAccess();
|
|
2154
2206
|
if (envObject.tryCatch.hasCaught())
|
|
2155
2207
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
2156
2208
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -2171,7 +2223,7 @@ function napi_set_named_property(env, object, cname, value) {
|
|
|
2171
2223
|
}
|
|
2172
2224
|
{{{ from64('cname') }}};
|
|
2173
2225
|
emnapiCtx.handleStore.get(object).value[emnapiString.UTF8ToString(cname, -1)] = emnapiCtx.handleStore.get(value).value;
|
|
2174
|
-
return
|
|
2226
|
+
return envObject.getReturnStatus();
|
|
2175
2227
|
}
|
|
2176
2228
|
catch (err) {
|
|
2177
2229
|
envObject.tryCatch.setError(err);
|
|
@@ -2184,6 +2236,7 @@ function napi_has_named_property(env, object, utf8name, result) {
|
|
|
2184
2236
|
if (!env)
|
|
2185
2237
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2186
2238
|
var envObject = emnapiCtx.envStore.get(env);
|
|
2239
|
+
envObject.checkGCAccess();
|
|
2187
2240
|
if (envObject.tryCatch.hasCaught())
|
|
2188
2241
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
2189
2242
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -2226,6 +2279,7 @@ function napi_get_named_property(env, object, utf8name, result) {
|
|
|
2226
2279
|
if (!env)
|
|
2227
2280
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2228
2281
|
var envObject = emnapiCtx.envStore.get(env);
|
|
2282
|
+
envObject.checkGCAccess();
|
|
2229
2283
|
if (envObject.tryCatch.hasCaught())
|
|
2230
2284
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
2231
2285
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -2267,6 +2321,7 @@ function napi_set_element(env, object, index, value) {
|
|
|
2267
2321
|
if (!env)
|
|
2268
2322
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2269
2323
|
var envObject = emnapiCtx.envStore.get(env);
|
|
2324
|
+
envObject.checkGCAccess();
|
|
2270
2325
|
if (envObject.tryCatch.hasCaught())
|
|
2271
2326
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
2272
2327
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -2296,6 +2351,7 @@ function napi_has_element(env, object, index, result) {
|
|
|
2296
2351
|
if (!env)
|
|
2297
2352
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2298
2353
|
var envObject = emnapiCtx.envStore.get(env);
|
|
2354
|
+
envObject.checkGCAccess();
|
|
2299
2355
|
if (envObject.tryCatch.hasCaught())
|
|
2300
2356
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
2301
2357
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -2334,6 +2390,7 @@ function napi_get_element(env, object, index, result) {
|
|
|
2334
2390
|
if (!env)
|
|
2335
2391
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2336
2392
|
var envObject = emnapiCtx.envStore.get(env);
|
|
2393
|
+
envObject.checkGCAccess();
|
|
2337
2394
|
if (envObject.tryCatch.hasCaught())
|
|
2338
2395
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
2339
2396
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -2373,6 +2430,7 @@ function napi_delete_element(env, object, index, result) {
|
|
|
2373
2430
|
if (!env)
|
|
2374
2431
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2375
2432
|
var envObject = emnapiCtx.envStore.get(env);
|
|
2433
|
+
envObject.checkGCAccess();
|
|
2376
2434
|
if (envObject.tryCatch.hasCaught())
|
|
2377
2435
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
2378
2436
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -2414,6 +2472,7 @@ function napi_define_properties(env, object, property_count, properties) {
|
|
|
2414
2472
|
if (!env)
|
|
2415
2473
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2416
2474
|
var envObject = emnapiCtx.envStore.get(env);
|
|
2475
|
+
envObject.checkGCAccess();
|
|
2417
2476
|
if (envObject.tryCatch.hasCaught())
|
|
2418
2477
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
2419
2478
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -2462,7 +2521,7 @@ function napi_define_properties(env, object, property_count, properties) {
|
|
|
2462
2521
|
}
|
|
2463
2522
|
emnapiDefineProperty(envObject, maybeObject, propertyName, method, getter, setter, value, attributes, data);
|
|
2464
2523
|
}
|
|
2465
|
-
return
|
|
2524
|
+
return envObject.getReturnStatus();
|
|
2466
2525
|
}
|
|
2467
2526
|
catch (err) {
|
|
2468
2527
|
envObject.tryCatch.setError(err);
|
|
@@ -2473,6 +2532,7 @@ function napi_object_freeze(env, object) {
|
|
|
2473
2532
|
if (!env)
|
|
2474
2533
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2475
2534
|
var envObject = emnapiCtx.envStore.get(env);
|
|
2535
|
+
envObject.checkGCAccess();
|
|
2476
2536
|
if (envObject.tryCatch.hasCaught())
|
|
2477
2537
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
2478
2538
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -2499,6 +2559,7 @@ function napi_object_seal(env, object) {
|
|
|
2499
2559
|
if (!env)
|
|
2500
2560
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2501
2561
|
var envObject = emnapiCtx.envStore.get(env);
|
|
2562
|
+
envObject.checkGCAccess();
|
|
2502
2563
|
if (envObject.tryCatch.hasCaught())
|
|
2503
2564
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
2504
2565
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -2540,12 +2601,14 @@ emnapiImplement('napi_object_freeze', 'ipp', napi_object_freeze);
|
|
|
2540
2601
|
emnapiImplement('napi_object_seal', 'ipp', napi_object_seal);
|
|
2541
2602
|
/* eslint-disable @typescript-eslint/indent */
|
|
2542
2603
|
function napi_run_script(env, script, result) {
|
|
2604
|
+
var status;
|
|
2543
2605
|
#if DYNAMIC_EXECUTION
|
|
2544
2606
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
2545
2607
|
var value;
|
|
2546
2608
|
if (!env)
|
|
2547
2609
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2548
2610
|
var envObject = emnapiCtx.envStore.get(env);
|
|
2611
|
+
envObject.checkGCAccess();
|
|
2549
2612
|
if (envObject.tryCatch.hasCaught())
|
|
2550
2613
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
2551
2614
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -2567,14 +2630,14 @@ function napi_run_script(env, script, result) {
|
|
|
2567
2630
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
2568
2631
|
value = envObject.ensureHandleId(ret);
|
|
2569
2632
|
{{{ makeSetValue('result', 0, 'value', '*') }}};
|
|
2570
|
-
|
|
2633
|
+
status = envObject.getReturnStatus();
|
|
2571
2634
|
}
|
|
2572
2635
|
catch (err) {
|
|
2573
2636
|
envObject.tryCatch.setError(err);
|
|
2574
2637
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
2575
2638
|
}
|
|
2576
2639
|
#else
|
|
2577
|
-
|
|
2640
|
+
status = _napi_set_last_error(env, 9 /* napi_status.napi_generic_failure */, 0, 0);
|
|
2578
2641
|
#endif
|
|
2579
2642
|
return status;
|
|
2580
2643
|
}
|
|
@@ -2836,6 +2899,7 @@ var emnapiString = {
|
|
|
2836
2899
|
if (!env)
|
|
2837
2900
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
2838
2901
|
var envObject = emnapiCtx.envStore.get(env);
|
|
2902
|
+
envObject.checkGCAccess();
|
|
2839
2903
|
{{{ from64('length') }}};
|
|
2840
2904
|
var autoLength = length === -1;
|
|
2841
2905
|
var sizelength = length >>> 0;
|
|
@@ -2857,14 +2921,16 @@ var emnapiString = {
|
|
|
2857
2921
|
return envObject.clearLastError();
|
|
2858
2922
|
},
|
|
2859
2923
|
newExternalString: function (env, str, length, finalize_callback, finalize_hint, result, copied, createApi, stringMaker) {
|
|
2924
|
+
var envObject = emnapiCtx.envStore.get(env);
|
|
2925
|
+
envObject.checkGCAccess();
|
|
2860
2926
|
var status = createApi(env, str, length, result);
|
|
2861
2927
|
if (status === 0 /* napi_status.napi_ok */) {
|
|
2862
2928
|
if (copied) {
|
|
2863
2929
|
{{{ makeSetValue('copied', 0, '1', 'i8') }}};
|
|
2864
2930
|
}
|
|
2865
2931
|
if (finalize_callback) {
|
|
2866
|
-
var
|
|
2867
|
-
|
|
2932
|
+
var envObject_1 = emnapiCtx.envStore.get(env);
|
|
2933
|
+
envObject_1.callFinalizer(finalize_callback, str, finalize_hint);
|
|
2868
2934
|
}
|
|
2869
2935
|
}
|
|
2870
2936
|
return status;
|
|
@@ -3419,10 +3485,10 @@ var emnapiTSFN = {
|
|
|
3419
3485
|
});
|
|
3420
3486
|
if (popped_value) {
|
|
3421
3487
|
var env = emnapiTSFN.getEnv(func);
|
|
3422
|
-
var
|
|
3423
|
-
emnapiCtx.openScope(
|
|
3488
|
+
var envObject_2 = emnapiCtx.envStore.get(env);
|
|
3489
|
+
emnapiCtx.openScope(envObject_2);
|
|
3424
3490
|
var f = function () {
|
|
3425
|
-
|
|
3491
|
+
envObject_2.callbackIntoModule(false, function () {
|
|
3426
3492
|
var callJsCb = emnapiTSFN.getCallJSCb(func);
|
|
3427
3493
|
var ref = emnapiTSFN.getRef(func);
|
|
3428
3494
|
var js_callback = ref ? emnapiCtx.refStore.get(ref).get() : 0;
|
|
@@ -3455,7 +3521,7 @@ var emnapiTSFN = {
|
|
|
3455
3521
|
}
|
|
3456
3522
|
}
|
|
3457
3523
|
finally {
|
|
3458
|
-
emnapiCtx.closeScope(
|
|
3524
|
+
emnapiCtx.closeScope(envObject_2);
|
|
3459
3525
|
}
|
|
3460
3526
|
}
|
|
3461
3527
|
return has_more;
|
|
@@ -3502,6 +3568,7 @@ function _napi_create_threadsafe_function(env, func, async_resource, async_resou
|
|
|
3502
3568
|
if (!env)
|
|
3503
3569
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
3504
3570
|
var envObject = emnapiCtx.envStore.get(env);
|
|
3571
|
+
envObject.checkGCAccess();
|
|
3505
3572
|
if (!async_resource_name)
|
|
3506
3573
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
3507
3574
|
{{{ from64('max_queue_size') }}};
|
|
@@ -3778,6 +3845,7 @@ function napi_typeof(env, value, result) {
|
|
|
3778
3845
|
if (!env)
|
|
3779
3846
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
3780
3847
|
var envObject = emnapiCtx.envStore.get(env);
|
|
3848
|
+
envObject.checkGCAccess();
|
|
3781
3849
|
if (!value)
|
|
3782
3850
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
3783
3851
|
if (!result)
|
|
@@ -3833,6 +3901,7 @@ function napi_coerce_to_bool(env, value, result) {
|
|
|
3833
3901
|
if (!env)
|
|
3834
3902
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
3835
3903
|
var envObject = emnapiCtx.envStore.get(env);
|
|
3904
|
+
envObject.checkGCAccess();
|
|
3836
3905
|
if (envObject.tryCatch.hasCaught())
|
|
3837
3906
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
3838
3907
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -3861,6 +3930,7 @@ function napi_coerce_to_number(env, value, result) {
|
|
|
3861
3930
|
if (!env)
|
|
3862
3931
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
3863
3932
|
var envObject = emnapiCtx.envStore.get(env);
|
|
3933
|
+
envObject.checkGCAccess();
|
|
3864
3934
|
if (envObject.tryCatch.hasCaught())
|
|
3865
3935
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
3866
3936
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -3893,6 +3963,7 @@ function napi_coerce_to_object(env, value, result) {
|
|
|
3893
3963
|
if (!env)
|
|
3894
3964
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
3895
3965
|
var envObject = emnapiCtx.envStore.get(env);
|
|
3966
|
+
envObject.checkGCAccess();
|
|
3896
3967
|
if (envObject.tryCatch.hasCaught())
|
|
3897
3968
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
3898
3969
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -3925,6 +3996,7 @@ function napi_coerce_to_string(env, value, result) {
|
|
|
3925
3996
|
if (!env)
|
|
3926
3997
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
3927
3998
|
var envObject = emnapiCtx.envStore.get(env);
|
|
3999
|
+
envObject.checkGCAccess();
|
|
3928
4000
|
if (envObject.tryCatch.hasCaught())
|
|
3929
4001
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
3930
4002
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -3957,6 +4029,7 @@ function napi_instanceof(env, object, constructor, result) {
|
|
|
3957
4029
|
if (!env)
|
|
3958
4030
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
3959
4031
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4032
|
+
envObject.checkGCAccess();
|
|
3960
4033
|
if (envObject.tryCatch.hasCaught())
|
|
3961
4034
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
3962
4035
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -3991,6 +4064,7 @@ function napi_is_array(env, value, result) {
|
|
|
3991
4064
|
if (!env)
|
|
3992
4065
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
3993
4066
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4067
|
+
envObject.checkGCAccess();
|
|
3994
4068
|
if (!value)
|
|
3995
4069
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
3996
4070
|
if (!result)
|
|
@@ -4006,6 +4080,7 @@ function napi_is_arraybuffer(env, value, result) {
|
|
|
4006
4080
|
if (!env)
|
|
4007
4081
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4008
4082
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4083
|
+
envObject.checkGCAccess();
|
|
4009
4084
|
if (!value)
|
|
4010
4085
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4011
4086
|
if (!result)
|
|
@@ -4021,6 +4096,7 @@ function napi_is_date(env, value, result) {
|
|
|
4021
4096
|
if (!env)
|
|
4022
4097
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4023
4098
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4099
|
+
envObject.checkGCAccess();
|
|
4024
4100
|
if (!value)
|
|
4025
4101
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4026
4102
|
if (!result)
|
|
@@ -4036,6 +4112,7 @@ function napi_is_error(env, value, result) {
|
|
|
4036
4112
|
if (!env)
|
|
4037
4113
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4038
4114
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4115
|
+
envObject.checkGCAccess();
|
|
4039
4116
|
if (!value)
|
|
4040
4117
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4041
4118
|
if (!result)
|
|
@@ -4051,6 +4128,7 @@ function napi_is_typedarray(env, value, result) {
|
|
|
4051
4128
|
if (!env)
|
|
4052
4129
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4053
4130
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4131
|
+
envObject.checkGCAccess();
|
|
4054
4132
|
if (!value)
|
|
4055
4133
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4056
4134
|
if (!result)
|
|
@@ -4066,6 +4144,7 @@ function napi_is_buffer(env, value, result) {
|
|
|
4066
4144
|
if (!env)
|
|
4067
4145
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4068
4146
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4147
|
+
envObject.checkGCAccess();
|
|
4069
4148
|
if (!value)
|
|
4070
4149
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4071
4150
|
if (!result)
|
|
@@ -4081,6 +4160,7 @@ function napi_is_dataview(env, value, result) {
|
|
|
4081
4160
|
if (!env)
|
|
4082
4161
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4083
4162
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4163
|
+
envObject.checkGCAccess();
|
|
4084
4164
|
if (!value)
|
|
4085
4165
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4086
4166
|
if (!result)
|
|
@@ -4098,6 +4178,7 @@ function napi_strict_equals(env, lhs, rhs, result) {
|
|
|
4098
4178
|
if (!env)
|
|
4099
4179
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4100
4180
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4181
|
+
envObject.checkGCAccess();
|
|
4101
4182
|
if (envObject.tryCatch.hasCaught())
|
|
4102
4183
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
4103
4184
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -4127,6 +4208,7 @@ function napi_detach_arraybuffer(env, arraybuffer) {
|
|
|
4127
4208
|
if (!env)
|
|
4128
4209
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4129
4210
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4211
|
+
envObject.checkGCAccess();
|
|
4130
4212
|
if (!arraybuffer)
|
|
4131
4213
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4132
4214
|
var value = emnapiCtx.handleStore.get(arraybuffer).value;
|
|
@@ -4141,9 +4223,8 @@ function napi_detach_arraybuffer(env, arraybuffer) {
|
|
|
4141
4223
|
var messageChannel = new MessageChannel_1();
|
|
4142
4224
|
messageChannel.port1.postMessage(value, [value]);
|
|
4143
4225
|
}
|
|
4144
|
-
catch (
|
|
4145
|
-
envObject.
|
|
4146
|
-
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
4226
|
+
catch (_) {
|
|
4227
|
+
return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
|
|
4147
4228
|
}
|
|
4148
4229
|
return envObject.clearLastError();
|
|
4149
4230
|
}
|
|
@@ -4151,6 +4232,7 @@ function napi_is_detached_arraybuffer(env, arraybuffer, result) {
|
|
|
4151
4232
|
if (!env)
|
|
4152
4233
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4153
4234
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4235
|
+
envObject.checkGCAccess();
|
|
4154
4236
|
if (envObject.tryCatch.hasCaught())
|
|
4155
4237
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
4156
4238
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -4158,6 +4240,7 @@ function napi_is_detached_arraybuffer(env, arraybuffer, result) {
|
|
|
4158
4240
|
}
|
|
4159
4241
|
envObject.clearLastError();
|
|
4160
4242
|
try {
|
|
4243
|
+
envObject.checkGCAccess();
|
|
4161
4244
|
if (!arraybuffer)
|
|
4162
4245
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4163
4246
|
if (!result)
|
|
@@ -4205,8 +4288,8 @@ function _napi_get_version(env, result) {
|
|
|
4205
4288
|
if (!result)
|
|
4206
4289
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4207
4290
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4208
|
-
var
|
|
4209
|
-
{{{ makeSetValue('result', 0, '
|
|
4291
|
+
var NODE_API_SUPPORTED_VERSION_MAX = 9 /* Version.NODE_API_SUPPORTED_VERSION_MAX */;
|
|
4292
|
+
{{{ makeSetValue('result', 0, 'NODE_API_SUPPORTED_VERSION_MAX', 'u32') }}};
|
|
4210
4293
|
return envObject.clearLastError();
|
|
4211
4294
|
}
|
|
4212
4295
|
emnapiImplement('napi_get_version', 'ipp', _napi_get_version, []);
|
|
@@ -4216,6 +4299,7 @@ function napi_define_class(env, utf8name, length, constructor, callback_data, pr
|
|
|
4216
4299
|
if (!env)
|
|
4217
4300
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4218
4301
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4302
|
+
envObject.checkGCAccess();
|
|
4219
4303
|
if (envObject.tryCatch.hasCaught())
|
|
4220
4304
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
4221
4305
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -4298,6 +4382,7 @@ function napi_type_tag_object(env, object, type_tag) {
|
|
|
4298
4382
|
if (!env)
|
|
4299
4383
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4300
4384
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4385
|
+
envObject.checkGCAccess();
|
|
4301
4386
|
if (envObject.tryCatch.hasCaught())
|
|
4302
4387
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
4303
4388
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -4339,6 +4424,7 @@ function napi_check_object_type_tag(env, object, type_tag, result) {
|
|
|
4339
4424
|
if (!env)
|
|
4340
4425
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4341
4426
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4427
|
+
envObject.checkGCAccess();
|
|
4342
4428
|
if (envObject.tryCatch.hasCaught())
|
|
4343
4429
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
4344
4430
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -4387,6 +4473,7 @@ function _napi_add_finalizer(env, js_object, finalize_data, finalize_cb, finaliz
|
|
|
4387
4473
|
if (!env)
|
|
4388
4474
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4389
4475
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4476
|
+
envObject.checkGCAccess();
|
|
4390
4477
|
if (!emnapiCtx.feature.supportFinalizer) {
|
|
4391
4478
|
return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
|
|
4392
4479
|
}
|
|
@@ -4412,6 +4499,13 @@ function _napi_add_finalizer(env, js_object, finalize_data, finalize_cb, finaliz
|
|
|
4412
4499
|
}
|
|
4413
4500
|
return envObject.clearLastError();
|
|
4414
4501
|
}
|
|
4502
|
+
function _node_api_post_finalizer(env, finalize_cb, finalize_data, finalize_hint) {
|
|
4503
|
+
if (!env)
|
|
4504
|
+
return 1 /* napi_status.napi_invalid_arg */;
|
|
4505
|
+
var envObject = emnapiCtx.envStore.get(env);
|
|
4506
|
+
envObject.enqueueFinalizer(emnapiCtx.createTrackedFinalizer(envObject, finalize_cb, finalize_data, finalize_hint));
|
|
4507
|
+
return envObject.clearLastError();
|
|
4508
|
+
}
|
|
4415
4509
|
emnapiImplement('napi_define_class', 'ipppppppp', napi_define_class, ['$emnapiCreateFunction', '$emnapiDefineProperty', '$emnapiString']);
|
|
4416
4510
|
emnapiImplement('napi_wrap', 'ipppppp', napi_wrap, ['$emnapiWrap']);
|
|
4417
4511
|
emnapiImplement('napi_unwrap', 'ippp', napi_unwrap, ['$emnapiUnwrap']);
|
|
@@ -4419,28 +4513,43 @@ emnapiImplement('napi_remove_wrap', 'ippp', napi_remove_wrap, ['$emnapiUnwrap'])
|
|
|
4419
4513
|
emnapiImplement('napi_type_tag_object', 'ippp', napi_type_tag_object);
|
|
4420
4514
|
emnapiImplement('napi_check_object_type_tag', 'ipppp', napi_check_object_type_tag);
|
|
4421
4515
|
emnapiImplement('napi_add_finalizer', 'ipppppp', _napi_add_finalizer, ['$emnapiGetHandle']);
|
|
4516
|
+
emnapiImplement('node_api_post_finalizer', 'ipppp', _node_api_post_finalizer);
|
|
4422
4517
|
function napi_get_array_length(env, value, result) {
|
|
4423
4518
|
if (!env)
|
|
4424
4519
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4425
4520
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4426
|
-
|
|
4427
|
-
|
|
4428
|
-
|
|
4429
|
-
|
|
4430
|
-
|
|
4431
|
-
|
|
4432
|
-
|
|
4521
|
+
envObject.checkGCAccess();
|
|
4522
|
+
if (envObject.tryCatch.hasCaught())
|
|
4523
|
+
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
4524
|
+
if (!envObject.canCallIntoJs()) {
|
|
4525
|
+
return envObject.setLastError(envObject.moduleApiVersion === 2147483647 /* Version.NAPI_VERSION_EXPERIMENTAL */ ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
|
|
4526
|
+
}
|
|
4527
|
+
envObject.clearLastError();
|
|
4528
|
+
try {
|
|
4529
|
+
if (!value)
|
|
4530
|
+
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4531
|
+
if (!result)
|
|
4532
|
+
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4533
|
+
var handle = emnapiCtx.handleStore.get(value);
|
|
4534
|
+
if (!handle.isArray()) {
|
|
4535
|
+
return envObject.setLastError(8 /* napi_status.napi_array_expected */);
|
|
4536
|
+
}
|
|
4537
|
+
{{{ from64('result') }}};
|
|
4538
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4539
|
+
var v = handle.value.length >>> 0;
|
|
4540
|
+
{{{ makeSetValue('result', 0, 'v', 'u32') }}};
|
|
4541
|
+
return envObject.getReturnStatus();
|
|
4542
|
+
}
|
|
4543
|
+
catch (err) {
|
|
4544
|
+
envObject.tryCatch.setError(err);
|
|
4545
|
+
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
4433
4546
|
}
|
|
4434
|
-
{{{ from64('result') }}};
|
|
4435
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4436
|
-
var v = handle.value.length >>> 0;
|
|
4437
|
-
{{{ makeSetValue('result', 0, 'v', 'u32') }}};
|
|
4438
|
-
return envObject.clearLastError();
|
|
4439
4547
|
}
|
|
4440
4548
|
function napi_get_arraybuffer_info(env, arraybuffer, data, byte_length) {
|
|
4441
4549
|
if (!env)
|
|
4442
4550
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4443
4551
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4552
|
+
envObject.checkGCAccess();
|
|
4444
4553
|
if (!arraybuffer)
|
|
4445
4554
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4446
4555
|
var handle = emnapiCtx.handleStore.get(arraybuffer);
|
|
@@ -4463,32 +4572,45 @@ function napi_get_prototype(env, value, result) {
|
|
|
4463
4572
|
if (!env)
|
|
4464
4573
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4465
4574
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4466
|
-
|
|
4467
|
-
|
|
4468
|
-
if (!result)
|
|
4469
|
-
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4470
|
-
var handle = emnapiCtx.handleStore.get(value);
|
|
4471
|
-
if (handle.value == null) {
|
|
4472
|
-
envObject.tryCatch.setError(new TypeError('Cannot convert undefined or null to object'));
|
|
4575
|
+
envObject.checkGCAccess();
|
|
4576
|
+
if (envObject.tryCatch.hasCaught())
|
|
4473
4577
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
4578
|
+
if (!envObject.canCallIntoJs()) {
|
|
4579
|
+
return envObject.setLastError(envObject.moduleApiVersion === 2147483647 /* Version.NAPI_VERSION_EXPERIMENTAL */ ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
|
|
4474
4580
|
}
|
|
4475
|
-
|
|
4581
|
+
envObject.clearLastError();
|
|
4476
4582
|
try {
|
|
4477
|
-
|
|
4583
|
+
if (!value)
|
|
4584
|
+
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4585
|
+
if (!result)
|
|
4586
|
+
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4587
|
+
var handle = emnapiCtx.handleStore.get(value);
|
|
4588
|
+
if (handle.value == null) {
|
|
4589
|
+
throw new TypeError('Cannot convert undefined or null to object');
|
|
4590
|
+
}
|
|
4591
|
+
var v = void 0;
|
|
4592
|
+
try {
|
|
4593
|
+
v = handle.isObject() || handle.isFunction() ? handle.value : Object(handle.value);
|
|
4594
|
+
}
|
|
4595
|
+
catch (_) {
|
|
4596
|
+
return envObject.setLastError(2 /* napi_status.napi_object_expected */);
|
|
4597
|
+
}
|
|
4598
|
+
{{{ from64('result') }}};
|
|
4599
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4600
|
+
var p = envObject.ensureHandleId(Object.getPrototypeOf(v));
|
|
4601
|
+
{{{ makeSetValue('result', 0, 'p', '*') }}};
|
|
4602
|
+
return envObject.getReturnStatus();
|
|
4478
4603
|
}
|
|
4479
|
-
catch (
|
|
4480
|
-
|
|
4604
|
+
catch (err) {
|
|
4605
|
+
envObject.tryCatch.setError(err);
|
|
4606
|
+
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
4481
4607
|
}
|
|
4482
|
-
{{{ from64('result') }}};
|
|
4483
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4484
|
-
var p = envObject.ensureHandleId(Object.getPrototypeOf(v));
|
|
4485
|
-
{{{ makeSetValue('result', 0, 'p', '*') }}};
|
|
4486
|
-
return envObject.clearLastError();
|
|
4487
4608
|
}
|
|
4488
4609
|
function _napi_get_typedarray_info(env, typedarray, type, length, data, arraybuffer, byte_offset) {
|
|
4489
4610
|
if (!env)
|
|
4490
4611
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4491
4612
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4613
|
+
envObject.checkGCAccess();
|
|
4492
4614
|
if (!typedarray)
|
|
4493
4615
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4494
4616
|
var handle = emnapiCtx.handleStore.get(typedarray);
|
|
@@ -4568,6 +4690,7 @@ function napi_get_buffer_info(env, buffer, data, length) {
|
|
|
4568
4690
|
if (!env)
|
|
4569
4691
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4570
4692
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4693
|
+
envObject.checkGCAccess();
|
|
4571
4694
|
if (!buffer)
|
|
4572
4695
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4573
4696
|
var handle = emnapiCtx.handleStore.get(buffer);
|
|
@@ -4580,6 +4703,7 @@ function napi_get_dataview_info(env, dataview, byte_length, data, arraybuffer, b
|
|
|
4580
4703
|
if (!env)
|
|
4581
4704
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4582
4705
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4706
|
+
envObject.checkGCAccess();
|
|
4583
4707
|
if (!dataview)
|
|
4584
4708
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4585
4709
|
var handle = emnapiCtx.handleStore.get(dataview);
|
|
@@ -4619,6 +4743,7 @@ function napi_get_date_value(env, value, result) {
|
|
|
4619
4743
|
if (!env)
|
|
4620
4744
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4621
4745
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4746
|
+
envObject.checkGCAccess();
|
|
4622
4747
|
if (envObject.tryCatch.hasCaught())
|
|
4623
4748
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
4624
4749
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -4626,6 +4751,7 @@ function napi_get_date_value(env, value, result) {
|
|
|
4626
4751
|
}
|
|
4627
4752
|
envObject.clearLastError();
|
|
4628
4753
|
try {
|
|
4754
|
+
envObject.checkGCAccess();
|
|
4629
4755
|
if (!value)
|
|
4630
4756
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4631
4757
|
if (!result)
|
|
@@ -4648,6 +4774,7 @@ function napi_get_value_bool(env, value, result) {
|
|
|
4648
4774
|
if (!env)
|
|
4649
4775
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4650
4776
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4777
|
+
envObject.checkGCAccess();
|
|
4651
4778
|
if (!value)
|
|
4652
4779
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4653
4780
|
if (!result)
|
|
@@ -4666,6 +4793,7 @@ function napi_get_value_double(env, value, result) {
|
|
|
4666
4793
|
if (!env)
|
|
4667
4794
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4668
4795
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4796
|
+
envObject.checkGCAccess();
|
|
4669
4797
|
if (!value)
|
|
4670
4798
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4671
4799
|
if (!result)
|
|
@@ -4684,9 +4812,9 @@ function napi_get_value_bigint_int64(env, value, result, lossless) {
|
|
|
4684
4812
|
if (!env)
|
|
4685
4813
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4686
4814
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4815
|
+
envObject.checkGCAccess();
|
|
4687
4816
|
if (!emnapiCtx.feature.supportBigInt) {
|
|
4688
|
-
envObject.
|
|
4689
|
-
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
4817
|
+
return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
|
|
4690
4818
|
}
|
|
4691
4819
|
if (!value)
|
|
4692
4820
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
@@ -4723,9 +4851,9 @@ function napi_get_value_bigint_uint64(env, value, result, lossless) {
|
|
|
4723
4851
|
if (!env)
|
|
4724
4852
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4725
4853
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4854
|
+
envObject.checkGCAccess();
|
|
4726
4855
|
if (!emnapiCtx.feature.supportBigInt) {
|
|
4727
|
-
envObject.
|
|
4728
|
-
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
4856
|
+
return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
|
|
4729
4857
|
}
|
|
4730
4858
|
if (!value)
|
|
4731
4859
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
@@ -4759,9 +4887,9 @@ function napi_get_value_bigint_words(env, value, sign_bit, word_count, words) {
|
|
|
4759
4887
|
if (!env)
|
|
4760
4888
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4761
4889
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4890
|
+
envObject.checkGCAccess();
|
|
4762
4891
|
if (!emnapiCtx.feature.supportBigInt) {
|
|
4763
|
-
envObject.
|
|
4764
|
-
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
4892
|
+
return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
|
|
4765
4893
|
}
|
|
4766
4894
|
if (!value)
|
|
4767
4895
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
@@ -4817,6 +4945,7 @@ function napi_get_value_external(env, value, result) {
|
|
|
4817
4945
|
if (!env)
|
|
4818
4946
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4819
4947
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4948
|
+
envObject.checkGCAccess();
|
|
4820
4949
|
if (!value)
|
|
4821
4950
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4822
4951
|
if (!result)
|
|
@@ -4835,6 +4964,7 @@ function napi_get_value_int32(env, value, result) {
|
|
|
4835
4964
|
if (!env)
|
|
4836
4965
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4837
4966
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4967
|
+
envObject.checkGCAccess();
|
|
4838
4968
|
if (!value)
|
|
4839
4969
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4840
4970
|
if (!result)
|
|
@@ -4851,6 +4981,7 @@ function napi_get_value_int64(env, value, result) {
|
|
|
4851
4981
|
if (!env)
|
|
4852
4982
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4853
4983
|
var envObject = emnapiCtx.envStore.get(env);
|
|
4984
|
+
envObject.checkGCAccess();
|
|
4854
4985
|
if (!value)
|
|
4855
4986
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4856
4987
|
if (!result)
|
|
@@ -4889,6 +5020,7 @@ function napi_get_value_string_latin1(env, value, buf, buf_size, result) {
|
|
|
4889
5020
|
if (!env)
|
|
4890
5021
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4891
5022
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5023
|
+
envObject.checkGCAccess();
|
|
4892
5024
|
if (!value)
|
|
4893
5025
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4894
5026
|
{{{ from64('result') }}};
|
|
@@ -4928,6 +5060,7 @@ function napi_get_value_string_utf8(env, value, buf, buf_size, result) {
|
|
|
4928
5060
|
if (!env)
|
|
4929
5061
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4930
5062
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5063
|
+
envObject.checkGCAccess();
|
|
4931
5064
|
if (!value)
|
|
4932
5065
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4933
5066
|
{{{ from64('result') }}};
|
|
@@ -4961,6 +5094,7 @@ function napi_get_value_string_utf16(env, value, buf, buf_size, result) {
|
|
|
4961
5094
|
if (!env)
|
|
4962
5095
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4963
5096
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5097
|
+
envObject.checkGCAccess();
|
|
4964
5098
|
if (!value)
|
|
4965
5099
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4966
5100
|
{{{ from64('result') }}};
|
|
@@ -4992,6 +5126,7 @@ function napi_get_value_uint32(env, value, result) {
|
|
|
4992
5126
|
if (!env)
|
|
4993
5127
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
4994
5128
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5129
|
+
envObject.checkGCAccess();
|
|
4995
5130
|
if (!value)
|
|
4996
5131
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
4997
5132
|
if (!result)
|
|
@@ -5028,6 +5163,7 @@ function napi_create_int32(env, value, result) {
|
|
|
5028
5163
|
if (!env)
|
|
5029
5164
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5030
5165
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5166
|
+
envObject.checkGCAccess();
|
|
5031
5167
|
if (!result)
|
|
5032
5168
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5033
5169
|
{{{ from64('result') }}};
|
|
@@ -5040,6 +5176,7 @@ function napi_create_uint32(env, value, result) {
|
|
|
5040
5176
|
if (!env)
|
|
5041
5177
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5042
5178
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5179
|
+
envObject.checkGCAccess();
|
|
5043
5180
|
if (!result)
|
|
5044
5181
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5045
5182
|
{{{ from64('result') }}};
|
|
@@ -5052,6 +5189,7 @@ function napi_create_int64(env, low, high, result) {
|
|
|
5052
5189
|
if (!env)
|
|
5053
5190
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5054
5191
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5192
|
+
envObject.checkGCAccess();
|
|
5055
5193
|
var value;
|
|
5056
5194
|
#if WASM_BIGINT
|
|
5057
5195
|
if (!high)
|
|
@@ -5075,6 +5213,7 @@ function napi_create_double(env, value, result) {
|
|
|
5075
5213
|
if (!env)
|
|
5076
5214
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5077
5215
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5216
|
+
envObject.checkGCAccess();
|
|
5078
5217
|
if (!result)
|
|
5079
5218
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5080
5219
|
{{{ from64('result') }}};
|
|
@@ -5129,9 +5268,9 @@ function napi_create_bigint_int64(env, low, high, result) {
|
|
|
5129
5268
|
if (!env)
|
|
5130
5269
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5131
5270
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5271
|
+
envObject.checkGCAccess();
|
|
5132
5272
|
if (!emnapiCtx.feature.supportBigInt) {
|
|
5133
|
-
envObject.
|
|
5134
|
-
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
5273
|
+
return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
|
|
5135
5274
|
}
|
|
5136
5275
|
var value;
|
|
5137
5276
|
#if WASM_BIGINT
|
|
@@ -5156,9 +5295,9 @@ function napi_create_bigint_uint64(env, low, high, result) {
|
|
|
5156
5295
|
if (!env)
|
|
5157
5296
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5158
5297
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5298
|
+
envObject.checkGCAccess();
|
|
5159
5299
|
if (!emnapiCtx.feature.supportBigInt) {
|
|
5160
|
-
envObject.
|
|
5161
|
-
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
5300
|
+
return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
|
|
5162
5301
|
}
|
|
5163
5302
|
var value;
|
|
5164
5303
|
#if WASM_BIGINT
|
|
@@ -5185,6 +5324,7 @@ function napi_create_bigint_words(env, sign_bit, word_count, words, result) {
|
|
|
5185
5324
|
if (!env)
|
|
5186
5325
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5187
5326
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5327
|
+
envObject.checkGCAccess();
|
|
5188
5328
|
if (envObject.tryCatch.hasCaught())
|
|
5189
5329
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
5190
5330
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -5193,8 +5333,9 @@ function napi_create_bigint_words(env, sign_bit, word_count, words, result) {
|
|
|
5193
5333
|
envObject.clearLastError();
|
|
5194
5334
|
try {
|
|
5195
5335
|
if (!emnapiCtx.feature.supportBigInt) {
|
|
5196
|
-
|
|
5336
|
+
return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
|
|
5197
5337
|
}
|
|
5338
|
+
envObject.checkGCAccess();
|
|
5198
5339
|
if (!result)
|
|
5199
5340
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5200
5341
|
{{{ from64('words') }}};
|
|
@@ -5217,7 +5358,7 @@ function napi_create_bigint_words(env, sign_bit, word_count, words, result) {
|
|
|
5217
5358
|
{{{ from64('result') }}};
|
|
5218
5359
|
v = emnapiCtx.addToCurrentScope(value).id;
|
|
5219
5360
|
{{{ makeSetValue('result', 0, 'v', '*') }}};
|
|
5220
|
-
return envObject.
|
|
5361
|
+
return envObject.getReturnStatus();
|
|
5221
5362
|
}
|
|
5222
5363
|
catch (err) {
|
|
5223
5364
|
envObject.tryCatch.setError(err);
|
|
@@ -5240,6 +5381,7 @@ function napi_create_array(env, result) {
|
|
|
5240
5381
|
if (!env)
|
|
5241
5382
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5242
5383
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5384
|
+
envObject.checkGCAccess();
|
|
5243
5385
|
if (!result)
|
|
5244
5386
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5245
5387
|
{{{ from64('result') }}};
|
|
@@ -5252,6 +5394,7 @@ function napi_create_array_with_length(env, length, result) {
|
|
|
5252
5394
|
if (!env)
|
|
5253
5395
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5254
5396
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5397
|
+
envObject.checkGCAccess();
|
|
5255
5398
|
if (!result)
|
|
5256
5399
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5257
5400
|
{{{ from64('length') }}};
|
|
@@ -5280,6 +5423,7 @@ function napi_create_arraybuffer(env, byte_length, data, result) {
|
|
|
5280
5423
|
if (!env)
|
|
5281
5424
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5282
5425
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5426
|
+
envObject.checkGCAccess();
|
|
5283
5427
|
if (envObject.tryCatch.hasCaught())
|
|
5284
5428
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
5285
5429
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -5306,6 +5450,7 @@ function napi_create_date(env, time, result) {
|
|
|
5306
5450
|
if (!env)
|
|
5307
5451
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5308
5452
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5453
|
+
envObject.checkGCAccess();
|
|
5309
5454
|
if (envObject.tryCatch.hasCaught())
|
|
5310
5455
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
5311
5456
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -5332,6 +5477,7 @@ function napi_create_external(env, data, finalize_cb, finalize_hint, result) {
|
|
|
5332
5477
|
if (!env)
|
|
5333
5478
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5334
5479
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5480
|
+
envObject.checkGCAccess();
|
|
5335
5481
|
if (envObject.tryCatch.hasCaught())
|
|
5336
5482
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
5337
5483
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -5364,6 +5510,7 @@ function napi_create_external_arraybuffer(env, external_data, byte_length, final
|
|
|
5364
5510
|
if (!env)
|
|
5365
5511
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5366
5512
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5513
|
+
envObject.checkGCAccess();
|
|
5367
5514
|
if (envObject.tryCatch.hasCaught())
|
|
5368
5515
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
5369
5516
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -5429,6 +5576,7 @@ function napi_create_object(env, result) {
|
|
|
5429
5576
|
if (!env)
|
|
5430
5577
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5431
5578
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5579
|
+
envObject.checkGCAccess();
|
|
5432
5580
|
if (!result)
|
|
5433
5581
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5434
5582
|
{{{ from64('result') }}};
|
|
@@ -5441,6 +5589,7 @@ function napi_create_symbol(env, description, result) {
|
|
|
5441
5589
|
if (!env)
|
|
5442
5590
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5443
5591
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5592
|
+
envObject.checkGCAccess();
|
|
5444
5593
|
if (!result)
|
|
5445
5594
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5446
5595
|
{{{ from64('result') }}};
|
|
@@ -5467,6 +5616,7 @@ function napi_create_typedarray(env, type, length, arraybuffer, byte_offset, res
|
|
|
5467
5616
|
if (!env)
|
|
5468
5617
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5469
5618
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5619
|
+
envObject.checkGCAccess();
|
|
5470
5620
|
if (envObject.tryCatch.hasCaught())
|
|
5471
5621
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
5472
5622
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -5560,6 +5710,7 @@ function napi_create_buffer(env, size, data, result) {
|
|
|
5560
5710
|
if (!env)
|
|
5561
5711
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5562
5712
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5713
|
+
envObject.checkGCAccess();
|
|
5563
5714
|
if (envObject.tryCatch.hasCaught())
|
|
5564
5715
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
5565
5716
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -5615,6 +5766,7 @@ function napi_create_buffer_copy(env, length, data, result_data, result) {
|
|
|
5615
5766
|
if (!env)
|
|
5616
5767
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5617
5768
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5769
|
+
envObject.checkGCAccess();
|
|
5618
5770
|
if (envObject.tryCatch.hasCaught())
|
|
5619
5771
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
5620
5772
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -5652,6 +5804,7 @@ function napi_create_dataview(env, byte_length, arraybuffer, byte_offset, result
|
|
|
5652
5804
|
if (!env)
|
|
5653
5805
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5654
5806
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5807
|
+
envObject.checkGCAccess();
|
|
5655
5808
|
if (envObject.tryCatch.hasCaught())
|
|
5656
5809
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
5657
5810
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -5675,8 +5828,7 @@ function napi_create_dataview(env, byte_length, arraybuffer, byte_offset, result
|
|
|
5675
5828
|
if ((byte_length + byte_offset) > buffer.byteLength) {
|
|
5676
5829
|
var err = new RangeError('byte_offset + byte_length should be less than or equal to the size in bytes of the array passed in');
|
|
5677
5830
|
err.code = 'ERR_NAPI_INVALID_DATAVIEW_ARGS';
|
|
5678
|
-
|
|
5679
|
-
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
5831
|
+
throw err;
|
|
5680
5832
|
}
|
|
5681
5833
|
var dataview = new DataView(buffer, byte_offset, byte_length);
|
|
5682
5834
|
if (buffer === wasmMemory.buffer) {
|
|
@@ -5705,6 +5857,7 @@ function node_api_symbol_for(env, utf8description, length, result) {
|
|
|
5705
5857
|
if (!env)
|
|
5706
5858
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5707
5859
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5860
|
+
envObject.checkGCAccess();
|
|
5708
5861
|
if (!result)
|
|
5709
5862
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5710
5863
|
{{{ from64('length') }}};
|
|
@@ -5744,6 +5897,7 @@ function napi_get_boolean(env, value, result) {
|
|
|
5744
5897
|
if (!env)
|
|
5745
5898
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5746
5899
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5900
|
+
envObject.checkGCAccess();
|
|
5747
5901
|
if (!result)
|
|
5748
5902
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5749
5903
|
{{{ from64('result') }}};
|
|
@@ -5756,6 +5910,7 @@ function napi_get_global(env, result) {
|
|
|
5756
5910
|
if (!env)
|
|
5757
5911
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5758
5912
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5913
|
+
envObject.checkGCAccess();
|
|
5759
5914
|
if (!result)
|
|
5760
5915
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5761
5916
|
{{{ from64('result') }}};
|
|
@@ -5768,6 +5923,7 @@ function napi_get_null(env, result) {
|
|
|
5768
5923
|
if (!env)
|
|
5769
5924
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5770
5925
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5926
|
+
envObject.checkGCAccess();
|
|
5771
5927
|
if (!result)
|
|
5772
5928
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5773
5929
|
{{{ from64('result') }}};
|
|
@@ -5780,6 +5936,7 @@ function napi_get_undefined(env, result) {
|
|
|
5780
5936
|
if (!env)
|
|
5781
5937
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5782
5938
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5939
|
+
envObject.checkGCAccess();
|
|
5783
5940
|
if (!result)
|
|
5784
5941
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5785
5942
|
{{{ from64('result') }}};
|
|
@@ -5796,6 +5953,7 @@ function _napi_create_async_work(env, resource, resource_name, execute, complete
|
|
|
5796
5953
|
if (!env)
|
|
5797
5954
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5798
5955
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5956
|
+
envObject.checkGCAccess();
|
|
5799
5957
|
if (!execute)
|
|
5800
5958
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5801
5959
|
if (!result)
|
|
@@ -5819,6 +5977,7 @@ function _napi_delete_async_work(env, work) {
|
|
|
5819
5977
|
if (!env)
|
|
5820
5978
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5821
5979
|
var envObject = emnapiCtx.envStore.get(env);
|
|
5980
|
+
envObject.checkGCAccess();
|
|
5822
5981
|
if (!work)
|
|
5823
5982
|
return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
|
|
5824
5983
|
emnapiAWST.remove(work);
|
|
@@ -5942,6 +6101,7 @@ function emnapi_get_module_object(env, result) {
|
|
|
5942
6101
|
if (!env)
|
|
5943
6102
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5944
6103
|
var envObject = emnapiCtx.envStore.get(env);
|
|
6104
|
+
envObject.checkGCAccess();
|
|
5945
6105
|
if (envObject.tryCatch.hasCaught())
|
|
5946
6106
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
5947
6107
|
if (!envObject.canCallIntoJs()) {
|
|
@@ -5968,6 +6128,7 @@ function emnapi_get_module_property(env, utf8name, result) {
|
|
|
5968
6128
|
if (!env)
|
|
5969
6129
|
return 1 /* napi_status.napi_invalid_arg */;
|
|
5970
6130
|
var envObject = emnapiCtx.envStore.get(env);
|
|
6131
|
+
envObject.checkGCAccess();
|
|
5971
6132
|
if (envObject.tryCatch.hasCaught())
|
|
5972
6133
|
return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
|
|
5973
6134
|
if (!envObject.canCallIntoJs()) {
|