Skip to content

Commit 7382eef

Browse files
gabrielschulhofRafaelGSS
authored andcommitted
node-api: rename nogc to basic
Signed-off-by: Gabriel Schulhof <gabrielschulhof@gmail.com> PR-URL: #53830 Reviewed-By: Vladimir Morozov <vmorozov@microsoft.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com>
1 parent 2d982d3 commit 7382eef

File tree

13 files changed

+157
-147
lines changed

13 files changed

+157
-147
lines changed

benchmark/napi/ref/addon.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ SetCount(napi_env env, napi_callback_info info) {
3333
return NULL;
3434
}
3535

36-
static void IncrementCounter(node_api_nogc_env env, void* data, void* hint) {
36+
static void IncrementCounter(node_api_basic_env env, void* data, void* hint) {
3737
size_t* count = data;
3838
(*count) = (*count) + 1;
3939
}

doc/api/n-api.md

+31-31
Original file line numberDiff line numberDiff line change
@@ -477,7 +477,7 @@ napiVersion: 6
477477
-->
478478

479479
```c
480-
napi_status napi_set_instance_data(node_api_nogc_env env,
480+
napi_status napi_set_instance_data(node_api_basic_env env,
481481
void* data,
482482
napi_finalize finalize_cb,
483483
void* finalize_hint);
@@ -509,7 +509,7 @@ napiVersion: 6
509509
-->
510510

511511
```c
512-
napi_status napi_get_instance_data(node_api_nogc_env env,
512+
napi_status napi_get_instance_data(node_api_basic_env env,
513513
void** data);
514514
```
515515

@@ -611,16 +611,16 @@ when an instance of a native addon is unloaded. Notification of this event is
611611
delivered through the callbacks given to [`napi_add_env_cleanup_hook`][] and
612612
[`napi_set_instance_data`][].
613613

614-
### `node_api_nogc_env`
614+
### `node_api_basic_env`
615615

616616
> Stability: 1 - Experimental
617617

618618
This variant of `napi_env` is passed to synchronous finalizers
619-
([`node_api_nogc_finalize`][]). There is a subset of Node-APIs which accept
620-
a parameter of type `node_api_nogc_env` as their first argument. These APIs do
619+
([`node_api_basic_finalize`][]). There is a subset of Node-APIs which accept
620+
a parameter of type `node_api_basic_env` as their first argument. These APIs do
621621
not access the state of the JavaScript engine and are thus safe to call from
622622
synchronous finalizers. Passing a parameter of type `napi_env` to these APIs is
623-
allowed, however, passing a parameter of type `node_api_nogc_env` to APIs that
623+
allowed, however, passing a parameter of type `node_api_basic_env` to APIs that
624624
access the JavaScript engine state is not allowed. Attempting to do so without
625625
a cast will produce a compiler warning or an error when add-ons are compiled
626626
with flags which cause them to emit warnings and/or errors when incorrect
@@ -791,7 +791,7 @@ typedef napi_value (*napi_callback)(napi_env, napi_callback_info);
791791
Unless for reasons discussed in [Object Lifetime Management][], creating a
792792
handle and/or callback scope inside a `napi_callback` is not necessary.
793793

794-
#### `node_api_nogc_finalize`
794+
#### `node_api_basic_finalize`
795795

796796
<!-- YAML
797797
added:
@@ -806,11 +806,11 @@ Function pointer type for add-on provided functions that allow the user to be
806806
notified when externally-owned data is ready to be cleaned up because the
807807
object it was associated with has been garbage-collected. The user must provide
808808
a function satisfying the following signature which would get called upon the
809-
object's collection. Currently, `node_api_nogc_finalize` can be used for
809+
object's collection. Currently, `node_api_basic_finalize` can be used for
810810
finding out when objects that have external data are collected.
811811

812812
```c
813-
typedef void (*node_api_nogc_finalize)(node_api_nogc_env env,
813+
typedef void (*node_api_basic_finalize)(node_api_basic_env env,
814814
void* finalize_data,
815815
void* finalize_hint);
816816
```
@@ -820,7 +820,7 @@ handle and/or callback scope inside the function body is not necessary.
820820

821821
Since these functions may be called while the JavaScript engine is in a state
822822
where it cannot execute JavaScript code, only Node-APIs which accept a
823-
`node_api_nogc_env` as their first parameter may be called.
823+
`node_api_basic_env` as their first parameter may be called.
824824
[`node_api_post_finalizer`][] can be used to schedule Node-API calls that
825825
require access to the JavaScript engine's state to run after the current
826826
garbage collection cycle has completed.
@@ -834,10 +834,10 @@ Change History:
834834

835835
* experimental (`NAPI_EXPERIMENTAL`):
836836

837-
Only Node-API calls that accept a `node_api_nogc_env` as their first
837+
Only Node-API calls that accept a `node_api_basic_env` as their first
838838
parameter may be called, otherwise the application will be terminated with an
839839
appropriate error message. This feature can be turned off by defining
840-
`NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT`.
840+
`NODE_API_EXPERIMENTAL_BASIC_ENV_OPT_OUT`.
841841

842842
#### `napi_finalize`
843843

@@ -862,9 +862,9 @@ Change History:
862862
* experimental (`NAPI_EXPERIMENTAL` is defined):
863863

864864
A function of this type may no longer be used as a finalizer, except with
865-
[`node_api_post_finalizer`][]. [`node_api_nogc_finalize`][] must be used
865+
[`node_api_post_finalizer`][]. [`node_api_basic_finalize`][] must be used
866866
instead. This feature can be turned off by defining
867-
`NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT`.
867+
`NODE_API_EXPERIMENTAL_BASIC_ENV_OPT_OUT`.
868868

869869
#### `napi_async_execute_callback`
870870

@@ -1066,7 +1066,7 @@ napiVersion: 1
10661066

10671067
```c
10681068
napi_status
1069-
napi_get_last_error_info(node_api_nogc_env env,
1069+
napi_get_last_error_info(node_api_basic_env env,
10701070
const napi_extended_error_info** result);
10711071
```
10721072

@@ -1885,7 +1885,7 @@ napiVersion: 3
18851885
-->
18861886

18871887
```c
1888-
NODE_EXTERN napi_status napi_add_env_cleanup_hook(node_api_nogc_env env,
1888+
NODE_EXTERN napi_status napi_add_env_cleanup_hook(node_api_basic_env env,
18891889
napi_cleanup_hook fun,
18901890
void* arg);
18911891
```
@@ -1915,7 +1915,7 @@ napiVersion: 3
19151915
-->
19161916

19171917
```c
1918-
NAPI_EXTERN napi_status napi_remove_env_cleanup_hook(node_api_nogc_env env,
1918+
NAPI_EXTERN napi_status napi_remove_env_cleanup_hook(node_api_basic_env env,
19191919
void (*fun)(void* arg),
19201920
void* arg);
19211921
```
@@ -1944,7 +1944,7 @@ changes:
19441944

19451945
```c
19461946
NAPI_EXTERN napi_status napi_add_async_cleanup_hook(
1947-
node_api_nogc_env env,
1947+
node_api_basic_env env,
19481948
napi_async_cleanup_hook hook,
19491949
void* arg,
19501950
napi_async_cleanup_hook_handle* remove_handle);
@@ -5533,7 +5533,7 @@ napiVersion: 5
55335533
napi_status napi_add_finalizer(napi_env env,
55345534
napi_value js_object,
55355535
void* finalize_data,
5536-
node_api_nogc_finalize finalize_cb,
5536+
node_api_basic_finalize finalize_cb,
55375537
void* finalize_hint,
55385538
napi_ref* result);
55395539
```
@@ -5574,7 +5574,7 @@ added:
55745574
> Stability: 1 - Experimental
55755575

55765576
```c
5577-
napi_status node_api_post_finalizer(node_api_nogc_env env,
5577+
napi_status node_api_post_finalizer(node_api_basic_env env,
55785578
napi_finalize finalize_cb,
55795579
void* finalize_data,
55805580
void* finalize_hint);
@@ -5644,7 +5644,7 @@ Once created the async worker can be queued
56445644
for execution using the [`napi_queue_async_work`][] function:
56455645

56465646
```c
5647-
napi_status napi_queue_async_work(node_api_nogc_env env,
5647+
napi_status napi_queue_async_work(node_api_basic_env env,
56485648
napi_async_work work);
56495649
```
56505650

@@ -5736,7 +5736,7 @@ napiVersion: 1
57365736
-->
57375737

57385738
```c
5739-
napi_status napi_queue_async_work(node_api_nogc_env env,
5739+
napi_status napi_queue_async_work(node_api_basic_env env,
57405740
napi_async_work work);
57415741
```
57425742

@@ -5757,7 +5757,7 @@ napiVersion: 1
57575757
-->
57585758

57595759
```c
5760-
napi_status napi_cancel_async_work(node_api_nogc_env env,
5760+
napi_status napi_cancel_async_work(node_api_basic_env env,
57615761
napi_async_work work);
57625762
```
57635763

@@ -5961,7 +5961,7 @@ typedef struct {
59615961
const char* release;
59625962
} napi_node_version;
59635963

5964-
napi_status napi_get_node_version(node_api_nogc_env env,
5964+
napi_status napi_get_node_version(node_api_basic_env env,
59655965
const napi_node_version** version);
59665966
```
59675967

@@ -5984,7 +5984,7 @@ napiVersion: 1
59845984
-->
59855985

59865986
```c
5987-
napi_status napi_get_version(node_api_nogc_env env,
5987+
napi_status napi_get_version(node_api_basic_env env,
59885988
uint32_t* result);
59895989
```
59905990

@@ -6017,7 +6017,7 @@ napiVersion: 1
60176017
-->
60186018

60196019
```c
6020-
NAPI_EXTERN napi_status napi_adjust_external_memory(node_api_nogc_env env,
6020+
NAPI_EXTERN napi_status napi_adjust_external_memory(node_api_basic_env env,
60216021
int64_t change_in_bytes,
60226022
int64_t* result);
60236023
```
@@ -6234,7 +6234,7 @@ napiVersion: 2
62346234
-->
62356235

62366236
```c
6237-
NAPI_EXTERN napi_status napi_get_uv_event_loop(node_api_nogc_env env,
6237+
NAPI_EXTERN napi_status napi_get_uv_event_loop(node_api_basic_env env,
62386238
struct uv_loop_s** loop);
62396239
```
62406240

@@ -6554,7 +6554,7 @@ napiVersion: 4
65546554

65556555
```c
65566556
NAPI_EXTERN napi_status
6557-
napi_ref_threadsafe_function(node_api_nogc_env env, napi_threadsafe_function func);
6557+
napi_ref_threadsafe_function(node_api_basic_env env, napi_threadsafe_function func);
65586558
```
65596559

65606560
* `[in] env`: The environment that the API is invoked under.
@@ -6580,7 +6580,7 @@ napiVersion: 4
65806580

65816581
```c
65826582
NAPI_EXTERN napi_status
6583-
napi_unref_threadsafe_function(node_api_nogc_env env, napi_threadsafe_function func);
6583+
napi_unref_threadsafe_function(node_api_basic_env env, napi_threadsafe_function func);
65846584
```
65856585

65866586
* `[in] env`: The environment that the API is invoked under.
@@ -6606,7 +6606,7 @@ napiVersion: 9
66066606

66076607
```c
66086608
NAPI_EXTERN napi_status
6609-
node_api_get_module_file_name(node_api_nogc_env env, const char** result);
6609+
node_api_get_module_file_name(node_api_basic_env env, const char** result);
66106610

66116611
```
66126612

@@ -6731,10 +6731,10 @@ the add-on's file name during loading.
67316731
[`napi_wrap`]: #napi_wrap
67326732
[`node-addon-api`]: https://github.com/nodejs/node-addon-api
67336733
[`node_api.h`]: https://github.com/nodejs/node/blob/HEAD/src/node_api.h
6734+
[`node_api_basic_finalize`]: #node_api_basic_finalize
67346735
[`node_api_create_external_string_latin1`]: #node_api_create_external_string_latin1
67356736
[`node_api_create_external_string_utf16`]: #node_api_create_external_string_utf16
67366737
[`node_api_create_syntax_error`]: #node_api_create_syntax_error
6737-
[`node_api_nogc_finalize`]: #node_api_nogc_finalize
67386738
[`node_api_post_finalizer`]: #node_api_post_finalizer
67396739
[`node_api_throw_syntax_error`]: #node_api_throw_syntax_error
67406740
[`process.release`]: process.md#processrelease

src/js_native_api.h

+26-25
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
EXTERN_C_START
5151

5252
NAPI_EXTERN napi_status NAPI_CDECL napi_get_last_error_info(
53-
node_api_nogc_env env, const napi_extended_error_info** result);
53+
node_api_basic_env env, const napi_extended_error_info** result);
5454

5555
// Getters for defined singletons
5656
NAPI_EXTERN napi_status NAPI_CDECL napi_get_undefined(napi_env env,
@@ -94,19 +94,19 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_create_string_utf16(napi_env env,
9494
napi_value* result);
9595
#ifdef NAPI_EXPERIMENTAL
9696
#define NODE_API_EXPERIMENTAL_HAS_EXTERNAL_STRINGS
97-
NAPI_EXTERN napi_status NAPI_CDECL
98-
node_api_create_external_string_latin1(napi_env env,
99-
char* str,
100-
size_t length,
101-
node_api_nogc_finalize finalize_callback,
102-
void* finalize_hint,
103-
napi_value* result,
104-
bool* copied);
97+
NAPI_EXTERN napi_status NAPI_CDECL node_api_create_external_string_latin1(
98+
napi_env env,
99+
char* str,
100+
size_t length,
101+
node_api_basic_finalize finalize_callback,
102+
void* finalize_hint,
103+
napi_value* result,
104+
bool* copied);
105105
NAPI_EXTERN napi_status NAPI_CDECL
106106
node_api_create_external_string_utf16(napi_env env,
107107
char16_t* str,
108108
size_t length,
109-
node_api_nogc_finalize finalize_callback,
109+
node_api_basic_finalize finalize_callback,
110110
void* finalize_hint,
111111
napi_value* result,
112112
bool* copied);
@@ -318,12 +318,13 @@ napi_define_class(napi_env env,
318318
napi_value* result);
319319

320320
// Methods to work with external data objects
321-
NAPI_EXTERN napi_status NAPI_CDECL napi_wrap(napi_env env,
322-
napi_value js_object,
323-
void* native_object,
324-
node_api_nogc_finalize finalize_cb,
325-
void* finalize_hint,
326-
napi_ref* result);
321+
NAPI_EXTERN napi_status NAPI_CDECL
322+
napi_wrap(napi_env env,
323+
napi_value js_object,
324+
void* native_object,
325+
node_api_basic_finalize finalize_cb,
326+
void* finalize_hint,
327+
napi_ref* result);
327328
NAPI_EXTERN napi_status NAPI_CDECL napi_unwrap(napi_env env,
328329
napi_value js_object,
329330
void** result);
@@ -333,7 +334,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_remove_wrap(napi_env env,
333334
NAPI_EXTERN napi_status NAPI_CDECL
334335
napi_create_external(napi_env env,
335336
void* data,
336-
node_api_nogc_finalize finalize_cb,
337+
node_api_basic_finalize finalize_cb,
337338
void* finalize_hint,
338339
napi_value* result);
339340
NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_external(napi_env env,
@@ -432,7 +433,7 @@ NAPI_EXTERN napi_status NAPI_CDECL
432433
napi_create_external_arraybuffer(napi_env env,
433434
void* external_data,
434435
size_t byte_length,
435-
node_api_nogc_finalize finalize_cb,
436+
node_api_basic_finalize finalize_cb,
436437
void* finalize_hint,
437438
napi_value* result);
438439
#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED
@@ -474,7 +475,7 @@ napi_get_dataview_info(napi_env env,
474475
size_t* byte_offset);
475476

476477
// version management
477-
NAPI_EXTERN napi_status NAPI_CDECL napi_get_version(node_api_nogc_env env,
478+
NAPI_EXTERN napi_status NAPI_CDECL napi_get_version(node_api_basic_env env,
478479
uint32_t* result);
479480

480481
// Promises
@@ -498,7 +499,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_run_script(napi_env env,
498499

499500
// Memory management
500501
NAPI_EXTERN napi_status NAPI_CDECL napi_adjust_external_memory(
501-
node_api_nogc_env env, int64_t change_in_bytes, int64_t* adjusted_value);
502+
node_api_basic_env env, int64_t change_in_bytes, int64_t* adjusted_value);
502503

503504
#if NAPI_VERSION >= 5
504505

@@ -520,7 +521,7 @@ NAPI_EXTERN napi_status NAPI_CDECL
520521
napi_add_finalizer(napi_env env,
521522
napi_value js_object,
522523
void* finalize_data,
523-
node_api_nogc_finalize finalize_cb,
524+
node_api_basic_finalize finalize_cb,
524525
void* finalize_hint,
525526
napi_ref* result);
526527

@@ -530,7 +531,7 @@ napi_add_finalizer(napi_env env,
530531
#define NODE_API_EXPERIMENTAL_HAS_POST_FINALIZER
531532

532533
NAPI_EXTERN napi_status NAPI_CDECL
533-
node_api_post_finalizer(node_api_nogc_env env,
534+
node_api_post_finalizer(node_api_basic_env env,
534535
napi_finalize finalize_cb,
535536
void* finalize_data,
536537
void* finalize_hint);
@@ -575,13 +576,13 @@ napi_get_all_property_names(napi_env env,
575576

576577
// Instance data
577578
NAPI_EXTERN napi_status NAPI_CDECL
578-
napi_set_instance_data(node_api_nogc_env env,
579+
napi_set_instance_data(node_api_basic_env env,
579580
void* data,
580581
napi_finalize finalize_cb,
581582
void* finalize_hint);
582583

583-
NAPI_EXTERN napi_status NAPI_CDECL napi_get_instance_data(node_api_nogc_env env,
584-
void** data);
584+
NAPI_EXTERN napi_status NAPI_CDECL
585+
napi_get_instance_data(node_api_basic_env env, void** data);
585586
#endif // NAPI_VERSION >= 6
586587

587588
#if NAPI_VERSION >= 7

0 commit comments

Comments
 (0)