Skip to content

Commit 2df2818

Browse files
authored
refactor: rename nogc to basic (#125)
1 parent 96ffffb commit 2df2818

File tree

14 files changed

+98
-91
lines changed

14 files changed

+98
-91
lines changed

packages/emnapi/include/node/js_native_api.h

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
EXTERN_C_START
5757

5858
NAPI_EXTERN napi_status NAPI_CDECL napi_get_last_error_info(
59-
node_api_nogc_env env, const napi_extended_error_info** result);
59+
node_api_basic_env env, const napi_extended_error_info** result);
6060

6161
// Getters for defined singletons
6262
NAPI_EXTERN napi_status NAPI_CDECL napi_get_undefined(napi_env env,
@@ -100,19 +100,19 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_create_string_utf16(napi_env env,
100100
napi_value* result);
101101
#ifdef NAPI_EXPERIMENTAL
102102
#define NODE_API_EXPERIMENTAL_HAS_EXTERNAL_STRINGS
103-
NAPI_EXTERN napi_status NAPI_CDECL
104-
node_api_create_external_string_latin1(napi_env env,
105-
char* str,
106-
size_t length,
107-
node_api_nogc_finalize finalize_callback,
108-
void* finalize_hint,
109-
napi_value* result,
110-
bool* copied);
103+
NAPI_EXTERN napi_status NAPI_CDECL node_api_create_external_string_latin1(
104+
napi_env env,
105+
char* str,
106+
size_t length,
107+
node_api_basic_finalize finalize_callback,
108+
void* finalize_hint,
109+
napi_value* result,
110+
bool* copied);
111111
NAPI_EXTERN napi_status NAPI_CDECL
112112
node_api_create_external_string_utf16(napi_env env,
113113
char16_t* str,
114114
size_t length,
115-
node_api_nogc_finalize finalize_callback,
115+
node_api_basic_finalize finalize_callback,
116116
void* finalize_hint,
117117
napi_value* result,
118118
bool* copied);
@@ -324,12 +324,13 @@ napi_define_class(napi_env env,
324324
napi_value* result);
325325

326326
// Methods to work with external data objects
327-
NAPI_EXTERN napi_status NAPI_CDECL napi_wrap(napi_env env,
328-
napi_value js_object,
329-
void* native_object,
330-
node_api_nogc_finalize finalize_cb,
331-
void* finalize_hint,
332-
napi_ref* result);
327+
NAPI_EXTERN napi_status NAPI_CDECL
328+
napi_wrap(napi_env env,
329+
napi_value js_object,
330+
void* native_object,
331+
node_api_basic_finalize finalize_cb,
332+
void* finalize_hint,
333+
napi_ref* result);
333334
NAPI_EXTERN napi_status NAPI_CDECL napi_unwrap(napi_env env,
334335
napi_value js_object,
335336
void** result);
@@ -339,7 +340,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_remove_wrap(napi_env env,
339340
NAPI_EXTERN napi_status NAPI_CDECL
340341
napi_create_external(napi_env env,
341342
void* data,
342-
node_api_nogc_finalize finalize_cb,
343+
node_api_basic_finalize finalize_cb,
343344
void* finalize_hint,
344345
napi_value* result);
345346
NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_external(napi_env env,
@@ -438,7 +439,7 @@ NAPI_EXTERN napi_status NAPI_CDECL
438439
napi_create_external_arraybuffer(napi_env env,
439440
void* external_data,
440441
size_t byte_length,
441-
node_api_nogc_finalize finalize_cb,
442+
node_api_basic_finalize finalize_cb,
442443
void* finalize_hint,
443444
napi_value* result);
444445
#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED
@@ -480,7 +481,7 @@ napi_get_dataview_info(napi_env env,
480481
size_t* byte_offset);
481482

482483
// version management
483-
NAPI_EXTERN napi_status NAPI_CDECL napi_get_version(node_api_nogc_env env,
484+
NAPI_EXTERN napi_status NAPI_CDECL napi_get_version(node_api_basic_env env,
484485
uint32_t* result);
485486

486487
// Promises
@@ -504,7 +505,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_run_script(napi_env env,
504505

505506
// Memory management
506507
NAPI_EXTERN napi_status NAPI_CDECL napi_adjust_external_memory(
507-
node_api_nogc_env env, int64_t change_in_bytes, int64_t* adjusted_value);
508+
node_api_basic_env env, int64_t change_in_bytes, int64_t* adjusted_value);
508509

509510
#if NAPI_VERSION >= 5
510511

@@ -526,7 +527,7 @@ NAPI_EXTERN napi_status NAPI_CDECL
526527
napi_add_finalizer(napi_env env,
527528
napi_value js_object,
528529
void* finalize_data,
529-
node_api_nogc_finalize finalize_cb,
530+
node_api_basic_finalize finalize_cb,
530531
void* finalize_hint,
531532
napi_ref* result);
532533

@@ -536,7 +537,7 @@ napi_add_finalizer(napi_env env,
536537
#define NODE_API_EXPERIMENTAL_HAS_POST_FINALIZER
537538

538539
NAPI_EXTERN napi_status NAPI_CDECL
539-
node_api_post_finalizer(node_api_nogc_env env,
540+
node_api_post_finalizer(node_api_basic_env env,
540541
napi_finalize finalize_cb,
541542
void* finalize_data,
542543
void* finalize_hint);
@@ -581,13 +582,13 @@ napi_get_all_property_names(napi_env env,
581582

582583
// Instance data
583584
NAPI_EXTERN napi_status NAPI_CDECL
584-
napi_set_instance_data(node_api_nogc_env env,
585+
napi_set_instance_data(node_api_basic_env env,
585586
void* data,
586587
napi_finalize finalize_cb,
587588
void* finalize_hint);
588589

589-
NAPI_EXTERN napi_status NAPI_CDECL napi_get_instance_data(node_api_nogc_env env,
590-
void** data);
590+
NAPI_EXTERN napi_status NAPI_CDECL
591+
napi_get_instance_data(node_api_basic_env env, void** data);
591592
#endif // NAPI_VERSION >= 6
592593

593594
#if NAPI_VERSION >= 7

packages/emnapi/include/node/js_native_api_types.h

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ typedef struct napi_env__* napi_env;
2727
// meaning that they do not affect the state of the JS engine, and can
2828
// therefore be called synchronously from a finalizer that itself runs
2929
// synchronously during GC. Such APIs can receive either a `napi_env` or a
30-
// `node_api_nogc_env` as their first parameter, because we should be able to
30+
// `node_api_basic_env` as their first parameter, because we should be able to
3131
// also call them during normal, non-garbage-collecting operations, whereas
3232
// APIs that affect the state of the JS engine can only receive a `napi_env` as
3333
// their first parameter, because we must not call them during GC. In lieu of
@@ -37,19 +37,21 @@ typedef struct napi_env__* napi_env;
3737
// expecting a non-const value.
3838
//
3939
// In conjunction with appropriate CFLAGS to warn us if we're passing a const
40-
// (nogc) environment into an API that expects a non-const environment, and the
41-
// definition of nogc finalizer function pointer types below, which receive a
42-
// nogc environment as their first parameter, and can thus only call nogc APIs
43-
// (unless the user explicitly casts the environment), we achieve the ability
44-
// to ensure at compile time that we do not call APIs that affect the state of
45-
// the JS engine from a synchronous (nogc) finalizer.
40+
// (basic) environment into an API that expects a non-const environment, and
41+
// the definition of basic finalizer function pointer types below, which
42+
// receive a basic environment as their first parameter, and can thus only call
43+
// basic APIs (unless the user explicitly casts the environment), we achieve
44+
// the ability to ensure at compile time that we do not call APIs that affect
45+
// the state of the JS engine from a synchronous (basic) finalizer.
4646
#if !defined(NAPI_EXPERIMENTAL) || \
4747
(defined(NAPI_EXPERIMENTAL) && \
48-
defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT))
48+
(defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT) || \
49+
defined(NODE_API_EXPERIMENTAL_BASIC_ENV_OPT_OUT)))
4950
typedef struct napi_env__* node_api_nogc_env;
5051
#else
5152
typedef const struct napi_env__* node_api_nogc_env;
5253
#endif
54+
typedef node_api_nogc_env node_api_basic_env;
5355

5456
typedef struct napi_value__* napi_value;
5557
typedef struct napi_ref__* napi_ref;
@@ -147,13 +149,15 @@ typedef void(NAPI_CDECL* napi_finalize)(napi_env env,
147149

148150
#if !defined(NAPI_EXPERIMENTAL) || \
149151
(defined(NAPI_EXPERIMENTAL) && \
150-
defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT))
152+
(defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT) || \
153+
defined(NODE_API_EXPERIMENTAL_BASIC_ENV_OPT_OUT)))
151154
typedef napi_finalize node_api_nogc_finalize;
152155
#else
153156
typedef void(NAPI_CDECL* node_api_nogc_finalize)(node_api_nogc_env env,
154157
void* finalize_data,
155158
void* finalize_hint);
156159
#endif
160+
typedef node_api_nogc_finalize node_api_basic_finalize;
157161

158162
typedef struct {
159163
// One of utf8name or name should be NULL.

packages/emnapi/include/node/node_api.h

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ NAPI_EXTERN napi_status NAPI_CDECL
141141
napi_create_external_buffer(napi_env env,
142142
size_t length,
143143
void* data,
144-
node_api_nogc_finalize finalize_cb,
144+
node_api_basic_finalize finalize_cb,
145145
void* finalize_hint,
146146
napi_value* result);
147147
#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED
@@ -169,20 +169,20 @@ napi_create_async_work(napi_env env,
169169
napi_async_work* result);
170170
NAPI_EXTERN napi_status NAPI_CDECL napi_delete_async_work(napi_env env,
171171
napi_async_work work);
172-
NAPI_EXTERN napi_status NAPI_CDECL napi_queue_async_work(node_api_nogc_env env,
172+
NAPI_EXTERN napi_status NAPI_CDECL napi_queue_async_work(node_api_basic_env env,
173173
napi_async_work work);
174-
NAPI_EXTERN napi_status NAPI_CDECL napi_cancel_async_work(node_api_nogc_env env,
175-
napi_async_work work);
174+
NAPI_EXTERN napi_status NAPI_CDECL
175+
napi_cancel_async_work(node_api_basic_env env, napi_async_work work);
176176

177177
// version management
178-
NAPI_EXTERN napi_status NAPI_CDECL
179-
napi_get_node_version(node_api_nogc_env env, const napi_node_version** version);
178+
NAPI_EXTERN napi_status NAPI_CDECL napi_get_node_version(
179+
node_api_basic_env env, const napi_node_version** version);
180180

181181
#if NAPI_VERSION >= 2
182182

183183
// Return the current libuv event loop for a given environment
184184
NAPI_EXTERN napi_status NAPI_CDECL
185-
napi_get_uv_event_loop(node_api_nogc_env env, struct uv_loop_s** loop);
185+
napi_get_uv_event_loop(node_api_basic_env env, struct uv_loop_s** loop);
186186

187187
#endif // NAPI_VERSION >= 2
188188

@@ -192,10 +192,10 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_fatal_exception(napi_env env,
192192
napi_value err);
193193

194194
NAPI_EXTERN napi_status NAPI_CDECL napi_add_env_cleanup_hook(
195-
node_api_nogc_env env, napi_cleanup_hook fun, void* arg);
195+
node_api_basic_env env, napi_cleanup_hook fun, void* arg);
196196

197197
NAPI_EXTERN napi_status NAPI_CDECL napi_remove_env_cleanup_hook(
198-
node_api_nogc_env env, napi_cleanup_hook fun, void* arg);
198+
node_api_basic_env env, napi_cleanup_hook fun, void* arg);
199199

200200
NAPI_EXTERN napi_status NAPI_CDECL
201201
napi_open_callback_scope(napi_env env,
@@ -239,17 +239,17 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_release_threadsafe_function(
239239
napi_threadsafe_function func, napi_threadsafe_function_release_mode mode);
240240

241241
NAPI_EXTERN napi_status NAPI_CDECL napi_unref_threadsafe_function(
242-
node_api_nogc_env env, napi_threadsafe_function func);
242+
node_api_basic_env env, napi_threadsafe_function func);
243243

244244
NAPI_EXTERN napi_status NAPI_CDECL napi_ref_threadsafe_function(
245-
node_api_nogc_env env, napi_threadsafe_function func);
245+
node_api_basic_env env, napi_threadsafe_function func);
246246

247247
#endif // NAPI_VERSION >= 4
248248

249249
#if NAPI_VERSION >= 8
250250

251251
NAPI_EXTERN napi_status NAPI_CDECL
252-
napi_add_async_cleanup_hook(node_api_nogc_env env,
252+
napi_add_async_cleanup_hook(node_api_basic_env env,
253253
napi_async_cleanup_hook hook,
254254
void* arg,
255255
napi_async_cleanup_hook_handle* remove_handle);
@@ -262,7 +262,7 @@ napi_remove_async_cleanup_hook(napi_async_cleanup_hook_handle remove_handle);
262262
#if NAPI_VERSION >= 9
263263

264264
NAPI_EXTERN napi_status NAPI_CDECL
265-
node_api_get_module_file_name(node_api_nogc_env env, const char** result);
265+
node_api_get_module_file_name(node_api_basic_env env, const char** result);
266266

267267
#endif // NAPI_VERSION >= 9
268268

packages/emnapi/src/async_cleanup_hook.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ _emnapi_ach_handle_delete(napi_async_cleanup_hook_handle handle) {
101101
}
102102

103103
napi_status
104-
napi_add_async_cleanup_hook(napi_env env,
104+
napi_add_async_cleanup_hook(node_api_basic_env env,
105105
napi_async_cleanup_hook hook,
106106
void* arg,
107107
napi_async_cleanup_hook_handle* remove_handle) {

packages/emnapi/src/async_work.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ napi_status napi_delete_async_work(napi_env env, napi_async_work work) {
198198
#endif
199199
}
200200

201-
napi_status napi_queue_async_work(napi_env env, napi_async_work work) {
201+
napi_status napi_queue_async_work(node_api_basic_env env, napi_async_work work) {
202202
#if EMNAPI_HAVE_THREADS
203203
CHECK_ENV(env);
204204
CHECK_ARG(env, work);
@@ -220,7 +220,7 @@ napi_status napi_queue_async_work(napi_env env, napi_async_work work) {
220220
} \
221221
} while (0)
222222

223-
napi_status napi_cancel_async_work(napi_env env, napi_async_work work) {
223+
napi_status napi_cancel_async_work(node_api_basic_env env, napi_async_work work) {
224224
#if EMNAPI_HAVE_THREADS
225225
CHECK_ENV(env);
226226
CHECK_ARG(env, work);

packages/emnapi/src/emnapi_internal.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,11 @@ EXTERN_C_END
7272

7373
EXTERN_C_START
7474

75-
EMNAPI_INTERNAL_EXTERN napi_status napi_set_last_error(node_api_nogc_env env,
75+
EMNAPI_INTERNAL_EXTERN napi_status napi_set_last_error(node_api_basic_env env,
7676
napi_status error_code,
7777
uint32_t engine_error_code,
7878
void* engine_reserved);
79-
EMNAPI_INTERNAL_EXTERN napi_status napi_clear_last_error(node_api_nogc_env env);
79+
EMNAPI_INTERNAL_EXTERN napi_status napi_clear_last_error(node_api_basic_env env);
8080

8181
#ifdef __EMSCRIPTEN__
8282
#if __EMSCRIPTEN_major__ * 10000 + __EMSCRIPTEN_minor__ * 100 + __EMSCRIPTEN_tiny__ >= 30114 // NOLINT

packages/emnapi/src/js_native_api.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ EMNAPI_INTERNAL_EXTERN void _emnapi_get_last_error_info(napi_env env,
3535
void** engine_reserved);
3636

3737
napi_status napi_get_last_error_info(
38-
napi_env env, const napi_extended_error_info** result) {
38+
node_api_basic_env basic_env, const napi_extended_error_info** result) {
3939
static napi_extended_error_info last_error;
40+
napi_env env = (napi_env) basic_env;
4041
CHECK_ENV(env);
4142
CHECK_ARG(env, result);
4243

packages/emnapi/src/node_api.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ EMNAPI_INTERNAL_EXTERN void _emnapi_get_node_version(uint32_t* major,
1212
uint32_t* patch);
1313

1414
napi_status
15-
napi_get_node_version(napi_env env,
15+
napi_get_node_version(node_api_basic_env env,
1616
const napi_node_version** version) {
1717
CHECK_ENV(env);
1818
CHECK_ARG(env, version);
@@ -29,7 +29,7 @@ napi_get_node_version(napi_env env,
2929
return napi_clear_last_error(env);
3030
}
3131

32-
napi_status napi_get_uv_event_loop(napi_env env,
32+
napi_status napi_get_uv_event_loop(node_api_basic_env env,
3333
struct uv_loop_s** loop) {
3434
#if EMNAPI_HAVE_THREADS
3535
CHECK_ENV(env);
@@ -44,7 +44,7 @@ napi_status napi_get_uv_event_loop(napi_env env,
4444

4545
EMNAPI_INTERNAL_EXTERN int _emnapi_get_filename(napi_env env, char* buf, int len);
4646

47-
napi_status node_api_get_module_file_name(napi_env env,
47+
napi_status node_api_get_module_file_name(node_api_basic_env env,
4848
const char** result) {
4949
CHECK_ENV(env);
5050
CHECK_ARG(env, result);

packages/emnapi/src/threadsafe_function.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -584,7 +584,7 @@ napi_release_threadsafe_function(napi_threadsafe_function func,
584584
}
585585

586586
napi_status
587-
napi_unref_threadsafe_function(napi_env env, napi_threadsafe_function func) {
587+
napi_unref_threadsafe_function(node_api_basic_env env, napi_threadsafe_function func) {
588588
#if EMNAPI_HAVE_THREADS
589589
if (func->async_ref) {
590590
EMNAPI_KEEPALIVE_POP();
@@ -598,7 +598,7 @@ napi_unref_threadsafe_function(napi_env env, napi_threadsafe_function func) {
598598
}
599599

600600
napi_status
601-
napi_ref_threadsafe_function(napi_env env, napi_threadsafe_function func) {
601+
napi_ref_threadsafe_function(node_api_basic_env env, napi_threadsafe_function func) {
602602
#if EMNAPI_HAVE_THREADS
603603
if (!func->async_ref) {
604604
EMNAPI_KEEPALIVE_PUSH();

0 commit comments

Comments
 (0)