MIRROR: javascript for ๐Ÿœ's, a tiny runtime with big ambitions
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

remove redundant check for ptr type

+34 -102
-1
src/ant.c
··· 2744 2744 } ant_arguments_state_t; 2745 2745 2746 2746 static inline ant_arguments_state_t *js_arguments_state(ant_value_t obj) { 2747 - if (!js_check_native_tag(obj, ANT_ARGUMENTS_NATIVE_TAG)) return NULL; 2748 2747 return (ant_arguments_state_t *)js_get_native(obj, ANT_ARGUMENTS_NATIVE_TAG); 2749 2748 } 2750 2749
-1
src/modules/abort.c
··· 52 52 } 53 53 54 54 static abort_signal_data_t *get_signal_data(ant_value_t obj) { 55 - if (!js_check_native_tag(obj, ABORT_SIGNAL_NATIVE_TAG)) return NULL; 56 55 return (abort_signal_data_t *)js_get_native(obj, ABORT_SIGNAL_NATIVE_TAG); 57 56 } 58 57
-1
src/modules/blob.c
··· 29 29 } 30 30 31 31 blob_data_t *blob_get_data(ant_value_t obj) { 32 - if (!js_check_native_tag(obj, BLOB_NATIVE_TAG)) return NULL; 33 32 return (blob_data_t *)js_get_native(obj, BLOB_NATIVE_TAG); 34 33 } 35 34
+7 -15
src/modules/buffer.c
··· 56 56 57 57 ArrayBufferData *buffer_get_arraybuffer_data(ant_value_t value) { 58 58 if (!is_object_type(value) || buffer_is_dataview(value)) return NULL; 59 - if (js_check_native_tag(value, BUFFER_ARRAYBUFFER_NATIVE_TAG)) 60 - return (ArrayBufferData *)js_get_native(value, BUFFER_ARRAYBUFFER_NATIVE_TAG); 61 - return NULL; 59 + return (ArrayBufferData *)js_get_native(value, BUFFER_ARRAYBUFFER_NATIVE_TAG); 62 60 } 63 61 64 62 TypedArrayData *buffer_get_typedarray_data(ant_value_t value) { 65 63 if (vtype(value) == T_TYPEDARRAY) 66 64 return (TypedArrayData *)js_gettypedarray(value); 67 65 if (!is_object_type(value)) return NULL; 68 - if (js_check_native_tag(value, BUFFER_TYPEDARRAY_NATIVE_TAG)) 69 - return (TypedArrayData *)js_get_native(value, BUFFER_TYPEDARRAY_NATIVE_TAG); 70 - return NULL; 66 + return (TypedArrayData *)js_get_native(value, BUFFER_TYPEDARRAY_NATIVE_TAG); 71 67 } 72 68 73 69 DataViewData *buffer_get_dataview_data(ant_value_t value) { 74 70 if (!is_object_type(value)) return NULL; 75 - if (js_check_native_tag(value, BUFFER_DATAVIEW_NATIVE_TAG)) 76 - return (DataViewData *)js_get_native(value, BUFFER_DATAVIEW_NATIVE_TAG); 77 - return NULL; 71 + return (DataViewData *)js_get_native(value, BUFFER_DATAVIEW_NATIVE_TAG); 78 72 } 79 73 80 74 static void arraybuffer_finalize(ant_t *js, ant_object_t *obj) { 81 75 ant_value_t value = js_obj_from_ptr(obj); 82 - if (!js_check_native_tag(value, BUFFER_ARRAYBUFFER_NATIVE_TAG)) return; 83 76 ArrayBufferData *data = (ArrayBufferData *)js_get_native(value, BUFFER_ARRAYBUFFER_NATIVE_TAG); 77 + if (!data) return; 84 78 js_clear_native(value, BUFFER_ARRAYBUFFER_NATIVE_TAG); 85 - if (data) free_array_buffer_data(data); 79 + free_array_buffer_data(data); 86 80 } 87 81 88 82 static void typedarray_finalize(ant_t *js, ant_object_t *obj) { 89 83 ant_value_t value = js_obj_from_ptr(obj); 90 - if (!js_check_native_tag(value, BUFFER_TYPEDARRAY_NATIVE_TAG)) return; 91 84 TypedArrayData *ta_data = (TypedArrayData *)js_get_native(value, BUFFER_TYPEDARRAY_NATIVE_TAG); 92 - js_clear_native(value, BUFFER_TYPEDARRAY_NATIVE_TAG); 93 85 if (!ta_data) return; 86 + js_clear_native(value, BUFFER_TYPEDARRAY_NATIVE_TAG); 94 87 95 88 if (ta_data->buffer) free_array_buffer_data(ta_data->buffer); 96 89 ta_meta_free(ta_data, sizeof(*ta_data)); ··· 98 91 99 92 static void dataview_finalize(ant_t *js, ant_object_t *obj) { 100 93 ant_value_t value = js_obj_from_ptr(obj); 101 - if (!js_check_native_tag(value, BUFFER_DATAVIEW_NATIVE_TAG)) return; 102 94 DataViewData *dv_data = (DataViewData *)js_get_native(value, BUFFER_DATAVIEW_NATIVE_TAG); 95 + if (!dv_data) return; 103 96 js_clear_native(value, BUFFER_DATAVIEW_NATIVE_TAG); 104 - if (!dv_data) return; 105 97 106 98 if (dv_data->buffer) free_array_buffer_data(dv_data->buffer); 107 99 ta_meta_free(dv_data, sizeof(*dv_data));
-2
src/modules/child_process.c
··· 116 116 }; 117 117 118 118 static child_process_t *get_child_process(ant_value_t obj) { 119 - if (!js_check_native_tag(obj, CHILD_PROCESS_NATIVE_TAG)) return NULL; 120 119 return (child_process_t *)js_get_native(obj, CHILD_PROCESS_NATIVE_TAG); 121 120 } 122 121 123 122 static child_stream_ctx_t *get_child_stream_ctx(ant_value_t obj) { 124 - if (!js_check_native_tag(obj, CHILD_STREAM_NATIVE_TAG)) return NULL; 125 123 return (child_stream_ctx_t *)js_get_native(obj, CHILD_STREAM_NATIVE_TAG); 126 124 } 127 125 static child_process_t *pending_children_tail = NULL;
-6
src/modules/collections.c
··· 309 309 map_entry_t **get_map_from_obj(ant_value_t obj) { 310 310 ant_object_t *ptr = js_obj_ptr(obj); 311 311 if (!ptr || ptr->type_tag != T_MAP) return NULL; 312 - if (!js_check_native_tag(obj, MAP_NATIVE_TAG)) return NULL; 313 312 return (map_entry_t **)js_get_native(obj, MAP_NATIVE_TAG); 314 313 } 315 314 316 315 set_entry_t **get_set_from_obj(ant_value_t obj) { 317 316 ant_object_t *ptr = js_obj_ptr(obj); 318 317 if (!ptr || ptr->type_tag != T_SET) return NULL; 319 - if (!js_check_native_tag(obj, SET_NATIVE_TAG)) return NULL; 320 318 return (set_entry_t **)js_get_native(obj, SET_NATIVE_TAG); 321 319 } 322 320 323 321 static weakmap_entry_t **get_weakmap_from_obj(ant_value_t obj) { 324 322 ant_object_t *ptr = js_obj_ptr(obj); 325 323 if (!ptr || ptr->type_tag != T_WEAKMAP) return NULL; 326 - if (!js_check_native_tag(obj, WEAKMAP_NATIVE_TAG)) return NULL; 327 324 return (weakmap_entry_t **)js_get_native(obj, WEAKMAP_NATIVE_TAG); 328 325 } 329 326 330 327 static weakset_entry_t **get_weakset_from_obj(ant_value_t obj) { 331 328 ant_object_t *ptr = js_obj_ptr(obj); 332 329 if (!ptr || ptr->type_tag != T_WEAKSET) return NULL; 333 - if (!js_check_native_tag(obj, WEAKSET_NATIVE_TAG)) return NULL; 334 330 return (weakset_entry_t **)js_get_native(obj, WEAKSET_NATIVE_TAG); 335 331 } 336 332 337 333 map_iterator_state_t *get_map_iter_state(ant_value_t obj) { 338 - if (!js_check_native_tag(obj, MAP_ITER_NATIVE_TAG)) return NULL; 339 334 return (map_iterator_state_t *)js_get_native(obj, MAP_ITER_NATIVE_TAG); 340 335 } 341 336 342 337 set_iterator_state_t *get_set_iter_state(ant_value_t obj) { 343 - if (!js_check_native_tag(obj, SET_ITER_NATIVE_TAG)) return NULL; 344 338 return (set_iterator_state_t *)js_get_native(obj, SET_ITER_NATIVE_TAG); 345 339 } 346 340
-1
src/modules/crypto.c
··· 222 222 } 223 223 224 224 static ant_hash_state_t *crypto_get_hash_state(ant_value_t value) { 225 - if (!js_check_native_tag(value, CRYPTO_HASH_NATIVE_TAG)) return NULL; 226 225 ant_hash_state_t *state = (ant_hash_state_t *)js_get_native(value, CRYPTO_HASH_NATIVE_TAG); 227 226 return (state && state->ctx) ? state : NULL; 228 227 }
+4 -5
src/modules/events.c
··· 41 41 }; 42 42 43 43 static event_data_t *get_event_data(ant_value_t obj) { 44 - if (!js_check_native_tag(obj, EVENT_NATIVE_TAG)) return NULL; 45 44 return (event_data_t *)js_get_native(obj, EVENT_NATIVE_TAG); 46 45 } 47 46 ··· 155 154 } 156 155 157 156 static EventType **get_or_create_emitter_events(ant_t *js, ant_value_t this_obj) { 158 - if (!js_check_native_tag(this_obj, EVENT_EMITTER_NATIVE_TAG)) { 159 - EventType **events = ant_calloc(sizeof(EventType *)); 157 + EventType **events = (EventType **)js_get_native(this_obj, EVENT_EMITTER_NATIVE_TAG); 158 + if (!events) { 159 + events = ant_calloc(sizeof(EventType *)); 160 160 if (!events) return NULL; 161 161 *events = NULL; 162 162 ··· 167 167 emitter_registry = reg; 168 168 169 169 js_set_native(this_obj, events, EVENT_EMITTER_NATIVE_TAG); 170 - return events; 171 170 } 172 - return (EventType **)js_get_native(this_obj, EVENT_EMITTER_NATIVE_TAG); 171 + return events; 173 172 } 174 173 175 174 static EventType *find_or_create_global_event_type(ant_t *js, ant_value_t js_key) {
+3 -9
src/modules/fetch.c
··· 657 657 } 658 658 659 659 static ant_value_t fetch_upload_on_reject(ant_t *js, ant_value_t *args, int nargs) { 660 - fetch_request_t *req = js_check_native_tag(js->current_func, FETCH_REQUEST_NATIVE_TAG) 661 - ? (fetch_request_t *)js_get_native(js->current_func, FETCH_REQUEST_NATIVE_TAG) 662 - : NULL; 660 + fetch_request_t *req = (fetch_request_t *)js_get_native(js->current_func, FETCH_REQUEST_NATIVE_TAG); 663 661 ant_value_t reason = (nargs > 0) ? args[0] : js_mkundef(); 664 662 665 663 if (!req) return js_mkundef(); ··· 677 675 678 676 static void fetch_upload_schedule_next_read(fetch_request_t *req); 679 677 static ant_value_t fetch_upload_on_read(ant_t *js, ant_value_t *args, int nargs) { 680 - fetch_request_t *req = js_check_native_tag(js->current_func, FETCH_REQUEST_NATIVE_TAG) 681 - ? (fetch_request_t *)js_get_native(js->current_func, FETCH_REQUEST_NATIVE_TAG) 682 - : NULL; 678 + fetch_request_t *req = (fetch_request_t *)js_get_native(js->current_func, FETCH_REQUEST_NATIVE_TAG); 683 679 684 680 ant_value_t result = (nargs > 0) ? args[0] : js_mkundef(); 685 681 ant_value_t done = 0; ··· 838 834 } 839 835 840 836 static ant_value_t fetch_abort_listener(ant_t *js, ant_value_t *args, int nargs) { 841 - fetch_request_t *req = js_check_native_tag(js->current_func, FETCH_REQUEST_NATIVE_TAG) 842 - ? (fetch_request_t *)js_get_native(js->current_func, FETCH_REQUEST_NATIVE_TAG) 843 - : NULL; 837 + fetch_request_t *req = (fetch_request_t *)js_get_native(js->current_func, FETCH_REQUEST_NATIVE_TAG); 844 838 ant_value_t signal = 0; 845 839 ant_value_t reason = 0; 846 840
-4
src/modules/ffi.c
··· 346 346 } 347 347 348 348 static ffi_library_handle_t *ffi_library_data(ant_value_t value) { 349 - if (!js_check_native_tag(value, FFI_LIBRARY_NATIVE_TAG)) return NULL; 350 349 return (ffi_library_handle_t *)js_get_native(value, FFI_LIBRARY_NATIVE_TAG); 351 350 } 352 351 353 352 static ffi_function_handle_t *ffi_function_data(ant_value_t value) { 354 - if (!js_check_native_tag(value, FFI_FUNCTION_NATIVE_TAG)) return NULL; 355 353 return (ffi_function_handle_t *)js_get_native(value, FFI_FUNCTION_NATIVE_TAG); 356 354 } 357 355 358 356 static ffi_pointer_handle_t *ffi_pointer_data(ant_value_t value) { 359 - if (!js_check_native_tag(value, FFI_POINTER_NATIVE_TAG)) return NULL; 360 357 return (ffi_pointer_handle_t *)js_get_native(value, FFI_POINTER_NATIVE_TAG); 361 358 } 362 359 363 360 static ffi_callback_handle_t *ffi_callback_data(ant_value_t value) { 364 - if (!js_check_native_tag(value, FFI_CALLBACK_NATIVE_TAG)) return NULL; 365 361 return (ffi_callback_handle_t *)js_get_native(value, FFI_CALLBACK_NATIVE_TAG); 366 362 } 367 363
+1 -4
src/modules/formdata.c
··· 70 70 } 71 71 72 72 static fd_data_t *get_fd_data(ant_value_t obj) { 73 - if (!js_check_native_tag(obj, FORMDATA_NATIVE_TAG)) return NULL; 74 73 return (fd_data_t *)js_get_native(obj, FORMDATA_NATIVE_TAG); 75 74 } 76 75 ··· 379 378 } 380 379 381 380 static ant_value_t formdata_iter_next(ant_t *js, ant_value_t *args, int nargs) { 382 - if (!js_check_native_tag(js->this_val, FORMDATA_ITER_NATIVE_TAG)) 383 - return js_iter_result(js, false, js_mkundef()); 384 - 385 381 fd_iter_t *st = (fd_iter_t *)js_get_native(js->this_val, FORMDATA_ITER_NATIVE_TAG); 382 + if (!st) return js_iter_result(js, false, js_mkundef()); 386 383 ant_value_t fd_obj = js_get_slot(js->this_val, SLOT_DATA); 387 384 fd_data_t *d = get_fd_data(fd_obj); 388 385 if (!d) return js_iter_result(js, false, js_mkundef());
-1
src/modules/fs.c
··· 157 157 }; 158 158 159 159 static fs_watcher_t *fs_watcher_data(ant_value_t value) { 160 - if (!js_check_native_tag(value, FS_WATCHER_NATIVE_TAG)) return NULL; 161 160 return (fs_watcher_t *)js_get_native(value, FS_WATCHER_NATIVE_TAG); 162 161 } 163 162
-1
src/modules/generator.c
··· 51 51 } 52 52 53 53 static generator_data_t *generator_data(ant_value_t gen) { 54 - if (!js_check_native_tag(gen, GENERATOR_NATIVE_TAG)) return NULL; 55 54 return (generator_data_t *)js_get_native(gen, GENERATOR_NATIVE_TAG); 56 55 } 57 56
+1 -2
src/modules/headers.c
··· 70 70 } 71 71 72 72 static hdr_list_t *get_list(ant_value_t obj) { 73 - if (!js_check_native_tag(obj, HEADERS_NATIVE_TAG)) return NULL; 74 73 return (hdr_list_t *)js_get_native(obj, HEADERS_NATIVE_TAG); 75 74 } 76 75 ··· 479 478 } 480 479 481 480 bool advance_headers(ant_t *js, js_iter_t *it, ant_value_t *out) { 482 - if (!js_check_native_tag(it->iterator, HEADERS_ITER_NATIVE_TAG)) return false; 483 481 hdr_iter_t *st = (hdr_iter_t *)js_get_native(it->iterator, HEADERS_ITER_NATIVE_TAG); 482 + if (!st) return false; 484 483 485 484 size_t count = 0; 486 485 sorted_pair_t *view = build_sorted_view(st->list, &count);
-1
src/modules/iterator.c
··· 890 890 } 891 891 892 892 static inline async_terminal_state_t *async_terminal_state(ant_value_t state) { 893 - if (!js_check_native_tag(state, ASYNC_TERMINAL_STATE_TAG)) return NULL; 894 893 return (async_terminal_state_t *)js_get_native(state, ASYNC_TERMINAL_STATE_TAG); 895 894 } 896 895
-2
src/modules/napi.c
··· 481 481 482 482 static ant_value_t napi_callback_trampoline(ant_t *js, ant_value_t *args, int nargs) { 483 483 ant_value_t current = js_getcurrentfunc(js); 484 - if (!js_check_native_tag(current, NAPI_CALLBACK_NATIVE_TAG)) return js_mkundef(); 485 - 486 484 napi_callback_binding_t *binding = (napi_callback_binding_t *)js_get_native(current, NAPI_CALLBACK_NATIVE_TAG); 487 485 if (!binding || !binding->cb) return js_mkundef(); 488 486
-2
src/modules/net.c
··· 101 101 static ant_value_t net_not_implemented(ant_t *js, const char *what); 102 102 103 103 static net_server_t *net_server_data(ant_value_t value) { 104 - if (!js_check_native_tag(value, NET_SERVER_NATIVE_TAG)) return NULL; 105 104 return (net_server_t *)js_get_native(value, NET_SERVER_NATIVE_TAG); 106 105 } 107 106 108 107 static net_socket_t *net_socket_data(ant_value_t value) { 109 - if (!js_check_native_tag(value, NET_SOCKET_NATIVE_TAG)) return NULL; 110 108 return (net_socket_t *)js_get_native(value, NET_SOCKET_NATIVE_TAG); 111 109 } 112 110
-1
src/modules/request.c
··· 31 31 enum { REQUEST_NATIVE_TAG = 0x52455153u }; // REQS 32 32 33 33 static request_data_t *get_data(ant_value_t obj) { 34 - if (!js_check_native_tag(obj, REQUEST_NATIVE_TAG)) return NULL; 35 34 return (request_data_t *)js_get_native(obj, REQUEST_NATIVE_TAG); 36 35 } 37 36
-1
src/modules/response.c
··· 31 31 enum { RESPONSE_NATIVE_TAG = 0x52455350u }; // RESP 32 32 33 33 static response_data_t *get_data(ant_value_t obj) { 34 - if (!js_check_native_tag(obj, RESPONSE_NATIVE_TAG)) return NULL; 35 34 return (response_data_t *)js_get_native(obj, RESPONSE_NATIVE_TAG); 36 35 } 37 36
-1
src/modules/string_decoder.c
··· 34 34 enum { STRING_DECODER_NATIVE_TAG = 0x53444543u }; // SDEC 35 35 36 36 static sd_state_t *sd_get_state(ant_value_t obj) { 37 - if (!js_check_native_tag(obj, STRING_DECODER_NATIVE_TAG)) return NULL; 38 37 return (sd_state_t *)js_get_native(obj, STRING_DECODER_NATIVE_TAG); 39 38 } 40 39
-1
src/modules/textcodec.c
··· 29 29 } 30 30 31 31 static td_state_t *td_get_state(ant_value_t obj) { 32 - if (!js_check_native_tag(obj, TEXT_DECODER_NATIVE_TAG)) return NULL; 33 32 return (td_state_t *)js_get_native(obj, TEXT_DECODER_NATIVE_TAG); 34 33 } 35 34
-1
src/modules/tls.c
··· 40 40 } 41 41 42 42 static ant_tls_context_wrap_t *tls_context_data(ant_value_t value) { 43 - if (!js_check_native_tag(value, TLS_CONTEXT_NATIVE_TAG)) return NULL; 44 43 return (ant_tls_context_wrap_t *)js_get_native(value, TLS_CONTEXT_NATIVE_TAG); 45 44 } 46 45
-1
src/modules/url.c
··· 30 30 }; 31 31 32 32 url_state_t *url_get_state(ant_value_t obj) { 33 - if (!js_check_native_tag(obj, URL_NATIVE_TAG)) return NULL; 34 33 return (url_state_t *)js_get_native(obj, URL_NATIVE_TAG); 35 34 } 36 35
+1 -2
src/modules/wasi.c
··· 222 222 } 223 223 224 224 static ant_value_t wasi_exported_func_call(ant_t *js, ant_value_t *args, int nargs) { 225 - if (!js_check_native_tag(js->current_func, WASI_FUNC_TAG)) 226 - return js_mkerr(js, "Invalid WASI function"); 227 225 wasi_func_env_t *env = (wasi_func_env_t *)js_get_native(js->current_func, WASI_FUNC_TAG); 226 + if (!env) return js_mkerr(js, "Invalid WASI function"); 228 227 229 228 uint32_t param_count = wasm_func_get_param_count(env->func, env->inst); 230 229 uint32_t result_count = wasm_func_get_result_count(env->func, env->inst);
+7 -13
src/modules/wasm.c
··· 178 178 179 179 static wasm_module_handle_t *wasm_module_handle(ant_value_t value) { 180 180 if (!js_check_brand(value, BRAND_WASM_MODULE)) return NULL; 181 - if (!js_check_native_tag(value, WASM_MODULE_NATIVE_TAG)) return NULL; 182 181 return (wasm_module_handle_t *)js_get_native(value, WASM_MODULE_NATIVE_TAG); 183 182 } 184 183 185 184 static wasm_instance_handle_t *wasm_instance_handle(ant_value_t value) { 186 185 if (!js_check_brand(value, BRAND_WASM_INSTANCE)) return NULL; 187 - if (!js_check_native_tag(value, WASM_INSTANCE_NATIVE_TAG)) return NULL; 188 186 return (wasm_instance_handle_t *)js_get_native(value, WASM_INSTANCE_NATIVE_TAG); 189 187 } 190 188 ··· 195 193 return NULL; 196 194 } 197 195 198 - if (!js_check_native_tag(value, WASM_EXTERN_NATIVE_TAG)) return NULL; 199 196 wasm_extern_handle_t *handle = (wasm_extern_handle_t *)js_get_native(value, WASM_EXTERN_NATIVE_TAG); 200 197 return handle && handle->kind == kind ? handle : NULL; 201 198 } ··· 323 320 } 324 321 if (!is_callable(value)) return false; 325 322 state = js_get_slot(value, SLOT_DATA); 326 - if (!is_object_type(state) || !js_check_native_tag(state, WASM_FUNC_STATE_TAG)) 327 - return false; 323 + if (!is_object_type(state)) return false; 328 324 handle = (wasm_func_handle_t *)js_get_native(state, WASM_FUNC_STATE_TAG); 329 325 if (!handle || !handle->func) return false; 330 326 out->of.ref = wasm_func_as_ref(handle->func); ··· 459 455 wasm_func_handle_t *handle; 460 456 wasm_func_t *func; 461 457 462 - if (!is_object_type(state) || !js_check_native_tag(state, WASM_FUNC_STATE_TAG)) 463 - return js_mkerr(js, "Invalid WebAssembly function"); 464 - 465 - handle = (wasm_func_handle_t *)js_get_native(state, WASM_FUNC_STATE_TAG); 458 + handle = is_object_type(state) 459 + ? (wasm_func_handle_t *)js_get_native(state, WASM_FUNC_STATE_TAG) 460 + : NULL; 466 461 func = handle ? handle->func : NULL; 467 462 if (!func) return js_mkerr(js, "Invalid WebAssembly function"); 468 463 ··· 1212 1207 return js_mkerr_typed(js, JS_ERR_TYPE, "WebAssembly.Table.set expects a WebAssembly function or null"); 1213 1208 1214 1209 state = js_get_slot(args[1], SLOT_DATA); 1215 - if (!is_object_type(state) || !js_check_native_tag(state, WASM_FUNC_STATE_TAG)) 1216 - return js_mkerr_typed(js, JS_ERR_TYPE, "WebAssembly.Table.set expects a WebAssembly function or null"); 1217 - 1218 - func_handle = (wasm_func_handle_t *)js_get_native(state, WASM_FUNC_STATE_TAG); 1210 + func_handle = is_object_type(state) 1211 + ? (wasm_func_handle_t *)js_get_native(state, WASM_FUNC_STATE_TAG) 1212 + : NULL; 1219 1213 if (!func_handle || !func_handle->func) 1220 1214 return js_mkerr_typed(js, JS_ERR_TYPE, "WebAssembly.Table.set expects a WebAssembly function or null"); 1221 1215
-1
src/modules/worker_threads.c
··· 93 93 94 94 static ant_worker_thread_t *wt_get_worker(ant_t *js, ant_value_t this_obj) { 95 95 if (!is_object_type(this_obj)) return NULL; 96 - if (!js_check_native_tag(this_obj, WORKER_NATIVE_TAG)) return NULL; 97 96 return (ant_worker_thread_t *)js_get_native(this_obj, WORKER_NATIVE_TAG); 98 97 } 99 98
-1
src/modules/zlib.c
··· 75 75 } 76 76 77 77 static zlib_stream_t *zlib_stream_ptr(ant_value_t obj) { 78 - if (!js_check_native_tag(obj, ZLIB_STREAM_TAG)) return NULL; 79 78 return (zlib_stream_t *)js_get_native(obj, ZLIB_STREAM_TAG); 80 79 } 81 80
+4 -12
src/streams/codec.c
··· 84 84 } 85 85 86 86 static ant_value_t tes_transform(ant_t *js, ant_value_t *args, int nargs) { 87 - tes_state_t *st = js_check_native_tag(js->current_func, TES_NATIVE_TAG) 88 - ? (tes_state_t *)js_get_native(js->current_func, TES_NATIVE_TAG) 89 - : NULL; 87 + tes_state_t *st = (tes_state_t *)js_get_native(js->current_func, TES_NATIVE_TAG); 90 88 91 89 if (!st) return js_mkerr_typed(js, JS_ERR_TYPE, "Invalid TextEncoderStream"); 92 90 ant_value_t ctrl_obj = codec_transform_controller(args, nargs); ··· 171 169 } 172 170 173 171 static ant_value_t tes_flush(ant_t *js, ant_value_t *args, int nargs) { 174 - tes_state_t *st = js_check_native_tag(js->current_func, TES_NATIVE_TAG) 175 - ? (tes_state_t *)js_get_native(js->current_func, TES_NATIVE_TAG) 176 - : NULL; 172 + tes_state_t *st = (tes_state_t *)js_get_native(js->current_func, TES_NATIVE_TAG); 177 173 178 174 if (!st) return js_mkerr_typed(js, JS_ERR_TYPE, "Invalid TextEncoderStream"); 179 175 ant_value_t ctrl_obj = codec_flush_controller(args, nargs); ··· 247 243 } 248 244 249 245 static ant_value_t tds_transform(ant_t *js, ant_value_t *args, int nargs) { 250 - td_state_t *st = js_check_native_tag(js->current_func, TDS_NATIVE_TAG) 251 - ? (td_state_t *)js_get_native(js->current_func, TDS_NATIVE_TAG) 252 - : NULL; 246 + td_state_t *st = (td_state_t *)js_get_native(js->current_func, TDS_NATIVE_TAG); 253 247 254 248 if (!st) return js_mkerr_typed(js, JS_ERR_TYPE, "Invalid TextDecoderStream"); 255 249 ant_value_t ctrl_obj = codec_transform_controller(args, nargs); ··· 276 270 } 277 271 278 272 static ant_value_t tds_flush(ant_t *js, ant_value_t *args, int nargs) { 279 - td_state_t *st = js_check_native_tag(js->current_func, TDS_NATIVE_TAG) 280 - ? (td_state_t *)js_get_native(js->current_func, TDS_NATIVE_TAG) 281 - : NULL; 273 + td_state_t *st = (td_state_t *)js_get_native(js->current_func, TDS_NATIVE_TAG); 282 274 283 275 if (!st) return js_mkerr_typed(js, JS_ERR_TYPE, "Invalid TextDecoderStream"); 284 276 ant_value_t ctrl_obj = codec_flush_controller(args, nargs);
+6 -3
src/streams/compression.c
··· 106 106 107 107 static void brotli_state_finalize(ant_t *js, ant_object_t *obj) { 108 108 ant_value_t value = js_obj_from_ptr(obj); 109 - uint32_t tag = js_check_native_tag(value, CS_BROTLI_NATIVE_TAG) 110 - ? CS_BROTLI_NATIVE_TAG 111 - : DS_BROTLI_NATIVE_TAG; 109 + uint32_t tag = CS_BROTLI_NATIVE_TAG; 112 110 brotli_stream_state_t *st = (brotli_stream_state_t *)js_get_native(value, tag); 111 + if (!st) { 112 + tag = DS_BROTLI_NATIVE_TAG; 113 + st = (brotli_stream_state_t *)js_get_native(value, tag); 114 + } 115 + if (!st) return; 113 116 brotli_stream_state_destroy(st); 114 117 js_clear_native(value, tag); 115 118 }
-2
src/streams/pipes.c
··· 58 58 } 59 59 60 60 static pipe_state_t *pipe_get_state(ant_value_t state) { 61 - if (!js_check_native_tag(state, PIPE_STATE_NATIVE_TAG)) return NULL; 62 61 return (pipe_state_t *)js_get_native(state, PIPE_STATE_NATIVE_TAG); 63 62 } 64 63 ··· 494 493 } 495 494 496 495 static tee_state_t *tee_get_state(ant_value_t state) { 497 - if (!js_check_native_tag(state, TEE_STATE_NATIVE_TAG)) return NULL; 498 496 return (tee_state_t *)js_get_native(state, TEE_STATE_NATIVE_TAG); 499 497 } 500 498
-2
src/streams/readable.c
··· 50 50 } 51 51 52 52 rs_stream_t *rs_get_stream(ant_value_t obj) { 53 - if (!js_check_native_tag(obj, RS_STREAM_NATIVE_TAG)) return NULL; 54 53 return (rs_stream_t *)js_get_native(obj, RS_STREAM_NATIVE_TAG); 55 54 } 56 55 57 56 rs_controller_t *rs_get_controller(ant_value_t obj) { 58 - if (!js_check_native_tag(obj, RS_CONTROLLER_NATIVE_TAG)) return NULL; 59 57 return (rs_controller_t *)js_get_native(obj, RS_CONTROLLER_NATIVE_TAG); 60 58 } 61 59
-2
src/streams/writable.c
··· 38 38 } 39 39 40 40 ws_stream_t *ws_get_stream(ant_value_t obj) { 41 - if (!js_check_native_tag(obj, WS_STREAM_NATIVE_TAG)) return NULL; 42 41 return (ws_stream_t *)js_get_native(obj, WS_STREAM_NATIVE_TAG); 43 42 } 44 43 45 44 ws_controller_t *ws_get_controller(ant_value_t obj) { 46 - if (!js_check_native_tag(obj, WS_CONTROLLER_NATIVE_TAG)) return NULL; 47 45 return (ws_controller_t *)js_get_native(obj, WS_CONTROLLER_NATIVE_TAG); 48 46 } 49 47