Skip to content

Commit

Permalink
Export 4 missing napi symbols on macOS
Browse files Browse the repository at this point in the history
  • Loading branch information
Jarred-Sumner committed Apr 29, 2023
1 parent 96e113f commit 229f5f7
Show file tree
Hide file tree
Showing 2 changed files with 86 additions and 82 deletions.
163 changes: 81 additions & 82 deletions src/napi/napi.zig
Original file line number Diff line number Diff line change
Expand Up @@ -1579,111 +1579,110 @@ pub const NAPI_MODULE_VERSION = @as(c_int, 1);

pub fn fixDeadCodeElimination() void {
JSC.markBinding(@src());
std.mem.doNotOptimizeAway(&napi_get_undefined);
std.mem.doNotOptimizeAway(&napi_get_null);
std.mem.doNotOptimizeAway(&napi_get_boolean);
std.mem.doNotOptimizeAway(&napi_create_object);

std.mem.doNotOptimizeAway(&napi_acquire_threadsafe_function);
std.mem.doNotOptimizeAway(&napi_add_async_cleanup_hook);
std.mem.doNotOptimizeAway(&napi_add_env_cleanup_hook);
std.mem.doNotOptimizeAway(&napi_add_finalizer);
std.mem.doNotOptimizeAway(&napi_async_destroy);
std.mem.doNotOptimizeAway(&napi_async_init);
std.mem.doNotOptimizeAway(&napi_call_function);
std.mem.doNotOptimizeAway(&napi_call_threadsafe_function);
std.mem.doNotOptimizeAway(&napi_cancel_async_work);
std.mem.doNotOptimizeAway(&napi_check_object_type_tag);
std.mem.doNotOptimizeAway(&napi_close_callback_scope);
std.mem.doNotOptimizeAway(&napi_close_escapable_handle_scope);
std.mem.doNotOptimizeAway(&napi_close_handle_scope);
std.mem.doNotOptimizeAway(&napi_coerce_to_bool);
std.mem.doNotOptimizeAway(&napi_coerce_to_number);
std.mem.doNotOptimizeAway(&napi_coerce_to_object);
std.mem.doNotOptimizeAway(&napi_create_array);
std.mem.doNotOptimizeAway(&napi_create_array_with_length);
std.mem.doNotOptimizeAway(&napi_create_arraybuffer);
std.mem.doNotOptimizeAway(&napi_create_async_work);
std.mem.doNotOptimizeAway(&napi_create_bigint_int64);
std.mem.doNotOptimizeAway(&napi_create_bigint_uint64);
std.mem.doNotOptimizeAway(&napi_create_bigint_words);
std.mem.doNotOptimizeAway(&napi_create_buffer);
std.mem.doNotOptimizeAway(&napi_create_buffer_copy);
std.mem.doNotOptimizeAway(&napi_create_date);
std.mem.doNotOptimizeAway(&napi_create_double);
std.mem.doNotOptimizeAway(&napi_create_error);
std.mem.doNotOptimizeAway(&napi_create_external);
std.mem.doNotOptimizeAway(&napi_create_external_arraybuffer);
std.mem.doNotOptimizeAway(&napi_create_external_buffer);
std.mem.doNotOptimizeAway(&napi_create_int32);
std.mem.doNotOptimizeAway(&napi_create_uint32);
std.mem.doNotOptimizeAway(&napi_create_int64);
std.mem.doNotOptimizeAway(&napi_create_object);
std.mem.doNotOptimizeAway(&napi_create_promise);
std.mem.doNotOptimizeAway(&napi_create_string_latin1);
std.mem.doNotOptimizeAway(&napi_create_string_utf8);
std.mem.doNotOptimizeAway(&napi_create_string_utf16);
std.mem.doNotOptimizeAway(&napi_create_string_utf8);
std.mem.doNotOptimizeAway(&napi_create_symbol);
std.mem.doNotOptimizeAway(&napi_create_error);
std.mem.doNotOptimizeAway(&napi_typeof);
std.mem.doNotOptimizeAway(&napi_create_threadsafe_function);
std.mem.doNotOptimizeAway(&napi_create_typedarray);
std.mem.doNotOptimizeAway(&napi_create_uint32);
std.mem.doNotOptimizeAway(&napi_delete_async_work);
std.mem.doNotOptimizeAway(&napi_escape_handle);
std.mem.doNotOptimizeAway(&napi_fatal_error);
std.mem.doNotOptimizeAway(&napi_fatal_exception);
std.mem.doNotOptimizeAway(&napi_get_array_length);
std.mem.doNotOptimizeAway(&napi_get_arraybuffer_info);
std.mem.doNotOptimizeAway(&napi_get_boolean);
std.mem.doNotOptimizeAway(&napi_get_buffer_info);
std.mem.doNotOptimizeAway(&napi_get_dataview_info);
std.mem.doNotOptimizeAway(&napi_get_date_value);
std.mem.doNotOptimizeAway(&napi_get_element);
std.mem.doNotOptimizeAway(&napi_get_instance_data);
std.mem.doNotOptimizeAway(&napi_get_node_version);
std.mem.doNotOptimizeAway(&napi_get_null);
std.mem.doNotOptimizeAway(&napi_get_prototype);
std.mem.doNotOptimizeAway(&napi_get_threadsafe_function_context);
std.mem.doNotOptimizeAway(&napi_get_typedarray_info);
std.mem.doNotOptimizeAway(&napi_get_undefined);
std.mem.doNotOptimizeAway(&napi_get_uv_event_loop);
std.mem.doNotOptimizeAway(&napi_get_value_bigint_int64);
std.mem.doNotOptimizeAway(&napi_get_value_bigint_uint64);
std.mem.doNotOptimizeAway(&napi_get_value_bigint_words);
std.mem.doNotOptimizeAway(&napi_get_value_bool);
std.mem.doNotOptimizeAway(&napi_get_value_double);
std.mem.doNotOptimizeAway(&napi_get_value_external);
std.mem.doNotOptimizeAway(&napi_get_value_int32);
std.mem.doNotOptimizeAway(&napi_get_value_uint32);
std.mem.doNotOptimizeAway(&napi_get_value_int64);
std.mem.doNotOptimizeAway(&napi_get_value_bool);
std.mem.doNotOptimizeAway(&napi_get_value_string_latin1);
std.mem.doNotOptimizeAway(&napi_get_value_string_utf8);
std.mem.doNotOptimizeAway(&napi_get_value_string_utf16);
std.mem.doNotOptimizeAway(&napi_coerce_to_bool);
std.mem.doNotOptimizeAway(&napi_coerce_to_number);
std.mem.doNotOptimizeAway(&napi_coerce_to_object);
// std.mem.doNotOptimizeAway(&napi_coerce_to_string);
std.mem.doNotOptimizeAway(&napi_get_prototype);
// std.mem.doNotOptimizeAway(&napi_get_property_names);
std.mem.doNotOptimizeAway(&napi_set_element);
std.mem.doNotOptimizeAway(&napi_get_value_string_utf8);
std.mem.doNotOptimizeAway(&napi_get_value_uint32);
std.mem.doNotOptimizeAway(&napi_get_version);
std.mem.doNotOptimizeAway(&napi_has_element);
std.mem.doNotOptimizeAway(&napi_get_element);
// std.mem.doNotOptimizeAway(&napi_delete_element);
std.mem.doNotOptimizeAway(&napi_is_array);
std.mem.doNotOptimizeAway(&napi_get_array_length);
std.mem.doNotOptimizeAway(&napi_strict_equals);
std.mem.doNotOptimizeAway(&napi_call_function);
std.mem.doNotOptimizeAway(&napi_new_instance);
std.mem.doNotOptimizeAway(&napi_instanceof);
std.mem.doNotOptimizeAway(&napi_open_handle_scope);
std.mem.doNotOptimizeAway(&napi_close_handle_scope);
std.mem.doNotOptimizeAway(&napi_is_error);
std.mem.doNotOptimizeAway(&napi_is_array);
std.mem.doNotOptimizeAway(&napi_is_arraybuffer);
std.mem.doNotOptimizeAway(&napi_create_arraybuffer);
std.mem.doNotOptimizeAway(&napi_create_external_arraybuffer);
std.mem.doNotOptimizeAway(&napi_get_arraybuffer_info);
std.mem.doNotOptimizeAway(&napi_is_typedarray);
std.mem.doNotOptimizeAway(&napi_create_typedarray);
std.mem.doNotOptimizeAway(&napi_get_typedarray_info);
std.mem.doNotOptimizeAway(&napi_is_buffer);
std.mem.doNotOptimizeAway(&napi_is_dataview);
std.mem.doNotOptimizeAway(&napi_get_dataview_info);
std.mem.doNotOptimizeAway(&napi_get_version);
std.mem.doNotOptimizeAway(&napi_create_promise);
std.mem.doNotOptimizeAway(&napi_resolve_deferred);
std.mem.doNotOptimizeAway(&napi_reject_deferred);
std.mem.doNotOptimizeAway(&napi_is_promise);
std.mem.doNotOptimizeAway(&napi_run_script);
std.mem.doNotOptimizeAway(&napi_create_date);
std.mem.doNotOptimizeAway(&napi_is_date);
std.mem.doNotOptimizeAway(&napi_get_date_value);
std.mem.doNotOptimizeAway(&napi_create_bigint_int64);
std.mem.doNotOptimizeAway(&napi_create_bigint_uint64);
std.mem.doNotOptimizeAway(&napi_get_value_bigint_int64);
std.mem.doNotOptimizeAway(&napi_get_value_bigint_uint64);
std.mem.doNotOptimizeAway(&napi_get_value_bigint_words);
std.mem.doNotOptimizeAway(&napi_fatal_error);
std.mem.doNotOptimizeAway(&napi_fatal_exception);
std.mem.doNotOptimizeAway(&napi_create_buffer);
std.mem.doNotOptimizeAway(&napi_create_external_buffer);
std.mem.doNotOptimizeAway(&napi_create_buffer_copy);
std.mem.doNotOptimizeAway(&napi_is_buffer);
std.mem.doNotOptimizeAway(&napi_get_buffer_info);
std.mem.doNotOptimizeAway(&napi_create_async_work);
std.mem.doNotOptimizeAway(&napi_delete_async_work);
std.mem.doNotOptimizeAway(&napi_is_error);
std.mem.doNotOptimizeAway(&napi_is_promise);
std.mem.doNotOptimizeAway(&napi_is_typedarray);
std.mem.doNotOptimizeAway(&napi_make_callback);
std.mem.doNotOptimizeAway(&napi_new_instance);
std.mem.doNotOptimizeAway(&napi_open_callback_scope);
std.mem.doNotOptimizeAway(&napi_open_escapable_handle_scope);
std.mem.doNotOptimizeAway(&napi_open_handle_scope);
std.mem.doNotOptimizeAway(&napi_queue_async_work);
std.mem.doNotOptimizeAway(&napi_cancel_async_work);
std.mem.doNotOptimizeAway(&napi_get_node_version);
std.mem.doNotOptimizeAway(&napi_get_uv_event_loop);
std.mem.doNotOptimizeAway(&napi_add_env_cleanup_hook);
std.mem.doNotOptimizeAway(&napi_remove_env_cleanup_hook);
std.mem.doNotOptimizeAway(&napi_create_threadsafe_function);
std.mem.doNotOptimizeAway(&napi_get_threadsafe_function_context);
std.mem.doNotOptimizeAway(&napi_call_threadsafe_function);
std.mem.doNotOptimizeAway(&napi_acquire_threadsafe_function);
std.mem.doNotOptimizeAway(&napi_release_threadsafe_function);
std.mem.doNotOptimizeAway(&napi_unref_threadsafe_function);
std.mem.doNotOptimizeAway(&napi_ref_threadsafe_function);
std.mem.doNotOptimizeAway(&napi_add_async_cleanup_hook);
std.mem.doNotOptimizeAway(&napi_reject_deferred);
std.mem.doNotOptimizeAway(&napi_release_threadsafe_function);
std.mem.doNotOptimizeAway(&napi_remove_async_cleanup_hook);
std.mem.doNotOptimizeAway(&napi_add_finalizer);
std.mem.doNotOptimizeAway(&napi_create_external);
std.mem.doNotOptimizeAway(&napi_get_value_external);
std.mem.doNotOptimizeAway(&napi_get_instance_data);
std.mem.doNotOptimizeAway(&napi_remove_env_cleanup_hook);
std.mem.doNotOptimizeAway(&napi_resolve_deferred);
std.mem.doNotOptimizeAway(&napi_run_script);
std.mem.doNotOptimizeAway(&napi_set_element);
std.mem.doNotOptimizeAway(&napi_set_instance_data);
std.mem.doNotOptimizeAway(&napi_create_bigint_words);
std.mem.doNotOptimizeAway(&napi_async_init);
std.mem.doNotOptimizeAway(&napi_async_destroy);
std.mem.doNotOptimizeAway(&napi_make_callback);
std.mem.doNotOptimizeAway(&napi_open_escapable_handle_scope);
std.mem.doNotOptimizeAway(&napi_close_escapable_handle_scope);
std.mem.doNotOptimizeAway(&napi_escape_handle);
std.mem.doNotOptimizeAway(&napi_strict_equals);
std.mem.doNotOptimizeAway(&napi_type_tag_object);
std.mem.doNotOptimizeAway(&napi_check_object_type_tag);
std.mem.doNotOptimizeAway(&napi_open_callback_scope);
std.mem.doNotOptimizeAway(&napi_typeof);
std.mem.doNotOptimizeAway(&napi_unref_threadsafe_function);

std.mem.doNotOptimizeAway(&@import("../bun.js/node/buffer.zig").BufferVectorized.fill);
}
Expand Down
5 changes: 5 additions & 0 deletions src/symbols.dyn
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
_napi_call_threadsafe_function;
_napi_cancel_async_work;
_napi_check_object_type_tag;
_napi_close_callback_scope;
_napi_close_escapable_handle_scope;
_napi_close_handle_scope;
_napi_coerce_to_bool;
Expand Down Expand Up @@ -55,6 +56,7 @@
_napi_detach_arraybuffer;
_napi_escape_handle;
_napi_fatal_error;
_napi_fatal_exception;
_napi_get_all_property_names;
_napi_get_and_clear_last_exception;
_napi_get_array_length;
Expand All @@ -66,6 +68,7 @@
_napi_get_date_value;
_napi_get_element;
_napi_get_global;
_napi_get_instance_data;
_napi_get_last_error_info;
_napi_get_named_property;
_napi_get_new_target;
Expand All @@ -81,6 +84,7 @@
_napi_get_uv_event_loop;
_napi_get_value_bigint_int64;
_napi_get_value_bigint_uint64;
_napi_get_value_bigint_words;
_napi_get_value_bool;
_napi_get_value_double;
_napi_get_value_external;
Expand Down Expand Up @@ -126,6 +130,7 @@
_napi_resolve_deferred;
_napi_run_script;
_napi_set_element;
_napi_set_instance_data;
_napi_set_named_property;
_napi_set_property;
_napi_strict_equals;
Expand Down

0 comments on commit 229f5f7

Please sign in to comment.