refactor: Use virtul ops module (#22175)

Follow up to #22157.

This leaves us with 4 usages of `ensureFastOps()` in `deno` itself.
There's also about 150 usages of `Deno.core.ops.<op_name>` left as well.
This commit is contained in:
Bartek Iwańczuk 2024-01-29 22:02:26 +01:00 committed by GitHub
parent 909986fa6e
commit 345423cf76
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
25 changed files with 42 additions and 89 deletions

View file

@ -28,11 +28,11 @@ const {
isWeakMap, isWeakMap,
isWeakSet, isWeakSet,
} = core; } = core;
const { import {
op_get_constructor_name, op_get_constructor_name,
op_get_non_index_property_names, op_get_non_index_property_names,
op_preview_entries, op_preview_entries,
} = core.ensureFastOps(true); } from "ext:core/ops";
const { const {
Array, Array,
ArrayBufferPrototypeGetByteLength, ArrayBufferPrototypeGetByteLength,

View file

@ -13,13 +13,10 @@
import { core, primordials } from "ext:core/mod.js"; import { core, primordials } from "ext:core/mod.js";
import { import {
op_fetch, op_fetch,
op_fetch_send,
op_wasm_streaming_feed, op_wasm_streaming_feed,
op_wasm_streaming_set_url, op_wasm_streaming_set_url,
} from "ext:core/ops"; } from "ext:core/ops";
// TODO(bartlomieju): this ops is also used in `ext/node/polyfills/http.ts`.
const {
op_fetch_send,
} = core.ensureFastOps(true);
const { const {
ArrayPrototypePush, ArrayPrototypePush,
ArrayPrototypeSplice, ArrayPrototypeSplice,

View file

@ -6,7 +6,7 @@ const {
isDataView, isDataView,
isTypedArray, isTypedArray,
} = core; } = core;
const { import {
op_ffi_buf_copy_into, op_ffi_buf_copy_into,
op_ffi_call_nonblocking, op_ffi_call_nonblocking,
op_ffi_call_ptr, op_ffi_call_ptr,
@ -36,7 +36,7 @@ const {
op_ffi_unsafe_callback_close, op_ffi_unsafe_callback_close,
op_ffi_unsafe_callback_create, op_ffi_unsafe_callback_create,
op_ffi_unsafe_callback_ref, op_ffi_unsafe_callback_ref,
} = core.ensureFastOps(true); } from "ext:core/ops";
const { const {
ArrayBufferIsView, ArrayBufferIsView,
ArrayBufferPrototypeGetByteLength, ArrayBufferPrototypeGetByteLength,

View file

@ -6,6 +6,7 @@ const {
internalRidSymbol, internalRidSymbol,
} = core; } = core;
import { import {
op_cancel_handle,
op_fs_chdir, op_fs_chdir,
op_fs_chmod_async, op_fs_chmod_async,
op_fs_chmod_sync, op_fs_chmod_sync,
@ -72,9 +73,6 @@ import {
op_fs_write_file_async, op_fs_write_file_async,
op_fs_write_file_sync, op_fs_write_file_sync,
} from "ext:core/ops"; } from "ext:core/ops";
const {
op_cancel_handle,
} = core.ensureFastOps(true);
const { const {
ArrayPrototypeFilter, ArrayPrototypeFilter,
Date, Date,

View file

@ -5,10 +5,7 @@
// Thank you! We love Go! <3 // Thank you! We love Go! <3
import { core, internals, primordials } from "ext:core/mod.js"; import { core, internals, primordials } from "ext:core/mod.js";
const { import { op_is_terminal, op_stdin_set_raw } from "ext:core/ops";
op_stdin_set_raw,
op_is_terminal,
} = core.ensureFastOps(true);
const { const {
Uint8Array, Uint8Array,
ArrayPrototypePush, ArrayPrototypePush,

View file

@ -7,6 +7,7 @@ const {
internalRidSymbol, internalRidSymbol,
} = core; } = core;
import { import {
op_cancel_handle,
op_dns_resolve, op_dns_resolve,
op_net_accept_tcp, op_net_accept_tcp,
op_net_accept_unix, op_net_accept_unix,
@ -27,9 +28,6 @@ import {
op_set_keepalive, op_set_keepalive,
op_set_nodelay, op_set_nodelay,
} from "ext:core/ops"; } from "ext:core/ops";
const {
op_cancel_handle,
} = core.ensureFastOps(true);
const { const {
Error, Error,
Number, Number,

View file

@ -4,6 +4,7 @@
import { core, internals, primordials } from "ext:core/mod.js"; import { core, internals, primordials } from "ext:core/mod.js";
import { import {
op_napi_open,
op_require_as_file_path, op_require_as_file_path,
op_require_break_on_next_statement, op_require_break_on_next_statement,
op_require_init_paths, op_require_init_paths,
@ -16,6 +17,7 @@ import {
op_require_path_is_absolute, op_require_path_is_absolute,
op_require_path_resolve, op_require_path_resolve,
op_require_proxy_path, op_require_proxy_path,
op_require_read_closest_package_json,
op_require_read_file, op_require_read_file,
op_require_read_package_scope, op_require_read_package_scope,
op_require_real_path, op_require_real_path,
@ -26,10 +28,6 @@ import {
op_require_try_self, op_require_try_self,
op_require_try_self_parent_path, op_require_try_self_parent_path,
} from "ext:core/ops"; } from "ext:core/ops";
const {
op_napi_open,
op_require_read_closest_package_json,
} = core.ensureFastOps(true);
const { const {
ArrayIsArray, ArrayIsArray,
ArrayPrototypeIncludes, ArrayPrototypeIncludes,

View file

@ -1,9 +1,6 @@
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { core } from "ext:core/mod.js"; import { op_node_build_os } from "ext:core/ops";
const {
op_node_build_os,
} = core.ensureFastOps(true);
export type OSType = export type OSType =
| "windows" | "windows"

View file

@ -6,14 +6,12 @@
// TODO(petamoriken): enable prefer-primordials for node polyfills // TODO(petamoriken): enable prefer-primordials for node polyfills
// deno-lint-ignore-file prefer-primordials // deno-lint-ignore-file prefer-primordials
import { core, internals } from "ext:core/mod.js"; import { internals } from "ext:core/mod.js";
import { import {
op_bootstrap_unstable_args, op_bootstrap_unstable_args,
op_node_child_ipc_pipe, op_node_child_ipc_pipe,
} from "ext:core/ops";
const {
op_npm_process_state, op_npm_process_state,
} = core.ensureFastOps(true); } from "ext:core/ops";
import { import {
ChildProcess, ChildProcess,

View file

@ -4,11 +4,11 @@
// deno-lint-ignore-file prefer-primordials // deno-lint-ignore-file prefer-primordials
import { core } from "ext:core/mod.js"; import { core } from "ext:core/mod.js";
import { op_fetch_response_upgrade, op_node_http_request } from "ext:core/ops"; import {
// TODO(bartlomieju): this ops is also used in `ext/fetch/26_fetch.js`. op_fetch_response_upgrade,
const {
op_fetch_send, op_fetch_send,
} = core.ensureFastOps(true); op_node_http_request,
} from "ext:core/ops";
import { TextEncoder } from "ext:deno_web/08_text_encoding.js"; import { TextEncoder } from "ext:deno_web/08_text_encoding.js";
import { setTimeout } from "ext:deno_web/02_timers.js"; import { setTimeout } from "ext:deno_web/02_timers.js";

View file

@ -4,10 +4,7 @@
// TODO(petamoriken): enable prefer-primordials for node polyfills // TODO(petamoriken): enable prefer-primordials for node polyfills
// deno-lint-ignore-file prefer-primordials // deno-lint-ignore-file prefer-primordials
import { core } from "ext:core/mod.js"; import { op_preview_entries } from "ext:core/ops";
const {
op_preview_entries,
} = core.ensureFastOps(true);
// Mock trace for now // Mock trace for now
const trace = () => {}; const trace = () => {};

View file

@ -3,11 +3,10 @@
// TODO(petamoriken): enable prefer-primordials for node polyfills // TODO(petamoriken): enable prefer-primordials for node polyfills
// deno-lint-ignore-file prefer-primordials // deno-lint-ignore-file prefer-primordials
import { core } from "ext:core/mod.js"; import {
const {
op_node_generate_secret, op_node_generate_secret,
op_node_generate_secret_async, op_node_generate_secret_async,
} = core.ensureFastOps(true); } from "ext:core/ops";
import { import {
MAX_SIZE as kMaxUint32, MAX_SIZE as kMaxUint32,

View file

@ -4,17 +4,14 @@
// TODO(petamoriken): enable prefer-primordials for node polyfills // TODO(petamoriken): enable prefer-primordials for node polyfills
// deno-lint-ignore-file prefer-primordials // deno-lint-ignore-file prefer-primordials
import { core } from "ext:core/mod.js";
import { import {
op_node_dh_compute_secret, op_node_dh_compute_secret,
op_node_dh_generate2, op_node_dh_generate2,
op_node_ecdh_compute_public_key, op_node_ecdh_compute_public_key,
op_node_ecdh_compute_secret, op_node_ecdh_compute_secret,
op_node_ecdh_generate_keys, op_node_ecdh_generate_keys,
} from "ext:core/ops";
const {
op_node_gen_prime, op_node_gen_prime,
} = core.ensureFastOps(true); } from "ext:core/ops";
import { notImplemented } from "ext:deno_node/_utils.ts"; import { notImplemented } from "ext:deno_node/_utils.ts";
import { import {

View file

@ -29,7 +29,6 @@ import {
import { Buffer } from "node:buffer"; import { Buffer } from "node:buffer";
import { KeyFormat, KeyType } from "ext:deno_node/internal/crypto/types.ts"; import { KeyFormat, KeyType } from "ext:deno_node/internal/crypto/types.ts";
import { core } from "ext:core/mod.js";
import { import {
op_node_dh_generate, op_node_dh_generate,
op_node_dh_generate_async, op_node_dh_generate_async,
@ -43,13 +42,11 @@ import {
op_node_ed25519_generate_async, op_node_ed25519_generate_async,
op_node_generate_rsa, op_node_generate_rsa,
op_node_generate_rsa_async, op_node_generate_rsa_async,
op_node_generate_secret,
op_node_generate_secret_async,
op_node_x25519_generate, op_node_x25519_generate,
op_node_x25519_generate_async, op_node_x25519_generate_async,
} from "ext:core/ops"; } from "ext:core/ops";
const {
op_node_generate_secret,
op_node_generate_secret_async,
} = core.ensureFastOps(true);
function validateGenerateKey( function validateGenerateKey(
type: "hmac" | "aes", type: "hmac" | "aes",

View file

@ -4,17 +4,15 @@
// TODO(petamoriken): enable prefer-primordials for node polyfills // TODO(petamoriken): enable prefer-primordials for node polyfills
// deno-lint-ignore-file prefer-primordials // deno-lint-ignore-file prefer-primordials
import { core, primordials } from "ext:core/mod.js"; import { primordials } from "ext:core/mod.js";
import { import {
op_node_check_prime, op_node_check_prime,
op_node_check_prime_async, op_node_check_prime_async,
op_node_check_prime_bytes, op_node_check_prime_bytes,
op_node_check_prime_bytes_async, op_node_check_prime_bytes_async,
op_node_gen_prime,
op_node_gen_prime_async, op_node_gen_prime_async,
} from "ext:core/ops"; } from "ext:core/ops";
const {
op_node_gen_prime,
} = core.ensureFastOps(true);
const { const {
StringPrototypePadStart, StringPrototypePadStart,
StringPrototypeToString, StringPrototypeToString,

View file

@ -1,9 +1,6 @@
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { core } from "ext:core/mod.js"; import { op_node_build_os } from "ext:core/ops";
const {
op_node_build_os,
} = core.ensureFastOps(true);
let os: { let os: {
dlopen: { dlopen: {

View file

@ -5,10 +5,7 @@
// deno-lint-ignore-file prefer-primordials // deno-lint-ignore-file prefer-primordials
import { core, internals } from "ext:core/mod.js"; import { core, internals } from "ext:core/mod.js";
import { op_geteuid, op_process_abort } from "ext:core/ops"; import { op_geteuid, op_process_abort, op_set_exit_code } from "ext:core/ops";
const {
op_set_exit_code,
} = core.ensureFastOps(true);
import { notImplemented, warnNotImplemented } from "ext:deno_node/_utils.ts"; import { notImplemented, warnNotImplemented } from "ext:deno_node/_utils.ts";
import { EventEmitter } from "node:events"; import { EventEmitter } from "node:events";

View file

@ -1,12 +1,10 @@
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { core, primordials } from "ext:core/mod.js"; import { primordials } from "ext:core/mod.js";
const { const {
Error, Error,
} = primordials; } = primordials;
const { import { op_is_terminal } from "ext:core/ops";
op_is_terminal,
} = core.ensureFastOps(true);
import { ERR_INVALID_FD } from "ext:deno_node/internal/errors.ts"; import { ERR_INVALID_FD } from "ext:deno_node/internal/errors.ts";
import { LibuvStreamWrap } from "ext:deno_node/internal_binding/stream_wrap.ts"; import { LibuvStreamWrap } from "ext:deno_node/internal_binding/stream_wrap.ts";

View file

@ -5,9 +5,7 @@
// deno-lint-ignore-file prefer-primordials // deno-lint-ignore-file prefer-primordials
import { core, internals } from "ext:core/mod.js"; import { core, internals } from "ext:core/mod.js";
const { import { op_require_read_closest_package_json } from "ext:core/ops";
op_require_read_closest_package_json,
} = core.ensureFastOps(true);
import { isAbsolute, resolve } from "node:path"; import { isAbsolute, resolve } from "node:path";
import { notImplemented } from "ext:deno_node/_utils.ts"; import { notImplemented } from "ext:deno_node/_utils.ts";

View file

@ -15,6 +15,8 @@ const {
} = core; } = core;
import { import {
op_arraybuffer_was_detached, op_arraybuffer_was_detached,
// TODO(mmastrac): use readAll
op_read_all,
op_readable_stream_resource_allocate, op_readable_stream_resource_allocate,
op_readable_stream_resource_allocate_sized, op_readable_stream_resource_allocate_sized,
op_readable_stream_resource_await_close, op_readable_stream_resource_await_close,
@ -25,10 +27,6 @@ import {
op_readable_stream_resource_write_sync, op_readable_stream_resource_write_sync,
op_transfer_arraybuffer, op_transfer_arraybuffer,
} from "ext:core/ops"; } from "ext:core/ops";
const {
// TODO(mmastrac): use readAll
op_read_all,
} = core.ensureFastOps(true);
const { const {
ArrayBuffer, ArrayBuffer,
ArrayBufferIsView, ArrayBufferIsView,

View file

@ -1,9 +1,6 @@
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { core } from "ext:core/mod.js"; import { op_lazy_load_esm } from "ext:core/ops";
const {
op_lazy_load_esm,
} = core.ensureFastOps(true);
let webgpu; let webgpu;

View file

@ -1,9 +1,6 @@
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { core, internals, primordials } from "ext:core/mod.js"; import { internals, primordials } from "ext:core/mod.js";
const { import { op_console_size, op_is_terminal } from "ext:core/ops";
op_console_size,
op_is_terminal,
} = core.ensureFastOps(true);
const { const {
Uint32Array, Uint32Array,
} = primordials; } = primordials;

View file

@ -1,6 +1,7 @@
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { core } from "ext:core/mod.js"; import { core } from "ext:core/mod.js";
import { op_lazy_load_esm } from "ext:core/ops";
import * as util from "ext:runtime/06_util.js"; import * as util from "ext:runtime/06_util.js";
import * as event from "ext:deno_web/02_event.js"; import * as event from "ext:deno_web/02_event.js";
@ -35,7 +36,6 @@ import { webgpu, webGPUNonEnumerable } from "ext:deno_webgpu/00_init.js";
import * as webgpuSurface from "ext:deno_webgpu/02_surface.js"; import * as webgpuSurface from "ext:deno_webgpu/02_surface.js";
import { unstableIds } from "ext:runtime/90_deno_ns.js"; import { unstableIds } from "ext:runtime/90_deno_ns.js";
const { op_lazy_load_esm } = core.ensureFastOps(true);
let image; let image;
function ImageNonEnumerable(getter) { function ImageNonEnumerable(getter) {

View file

@ -1,11 +1,11 @@
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { core, primordials } from "ext:core/mod.js"; import { primordials } from "ext:core/mod.js";
const { import {
op_bootstrap_language, op_bootstrap_language,
op_bootstrap_numcpus, op_bootstrap_numcpus,
op_bootstrap_user_agent, op_bootstrap_user_agent,
} = core.ensureFastOps(true); } from "ext:core/ops";
const { const {
ObjectDefineProperties, ObjectDefineProperties,
ObjectPrototypeIsPrototypeOf, ObjectPrototypeIsPrototypeOf,

View file

@ -1,11 +1,11 @@
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { core, primordials } from "ext:core/mod.js"; import { primordials } from "ext:core/mod.js";
const { import {
op_bootstrap_language, op_bootstrap_language,
op_bootstrap_numcpus, op_bootstrap_numcpus,
op_bootstrap_user_agent, op_bootstrap_user_agent,
} = core.ensureFastOps(true); } from "ext:core/ops";
const { const {
ObjectDefineProperties, ObjectDefineProperties,
ObjectPrototypeIsPrototypeOf, ObjectPrototypeIsPrototypeOf,