Skip to content

Commit

Permalink
chore: update deno_core and port all remaining ops to op2 (denoland…
Browse files Browse the repository at this point in the history
…#20954)

Signed-off-by: Matt Mastracci <[email protected]>
Co-authored-by: Matt Mastracci <[email protected]>
  • Loading branch information
bartlomieju and mmastrac committed Oct 25, 2023
1 parent 6c60859 commit 093b3ee
Show file tree
Hide file tree
Showing 10 changed files with 40 additions and 43 deletions.
12 changes: 6 additions & 6 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ repository = "https://github.com/denoland/deno"

[workspace.dependencies]
deno_ast = { version = "0.31.0", features = ["transpiling"] }
deno_core = { version = "0.222.0" }
deno_core = { version = "0.223.0" }

deno_runtime = { version = "0.129.0", path = "./runtime" }
napi_sym = { version = "0.51.0", path = "./cli/napi/sym" }
Expand Down
3 changes: 1 addition & 2 deletions ext/http/http_next.rs
Original file line number Diff line number Diff line change
Expand Up @@ -661,8 +661,7 @@ pub fn op_http_set_response_body_text(
}
}

// Skipping `fast` because we prefer an owned buffer here.
#[op2]
#[op2(fast)]
pub fn op_http_set_response_body_bytes(
#[smi] slab_id: SlabId,
#[buffer] buffer: JsBuffer,
Expand Down
6 changes: 3 additions & 3 deletions ext/node/ops/http2.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ use std::task::Poll;
use bytes::Bytes;
use deno_core::error::AnyError;
use deno_core::futures::future::poll_fn;
use deno_core::op;
use deno_core::op2;
use deno_core::serde::Serialize;
use deno_core::AsyncRefCell;
Expand Down Expand Up @@ -157,10 +156,11 @@ pub async fn op_http2_listen(
)
}

#[op]
#[op2(async)]
#[serde]
pub async fn op_http2_accept(
state: Rc<RefCell<OpState>>,
rid: ResourceId,
#[smi] rid: ResourceId,
) -> Result<
Option<(Vec<(ByteString, ByteString)>, ResourceId, ResourceId)>,
AnyError,
Expand Down
8 changes: 5 additions & 3 deletions ext/node/ops/v8.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
use deno_core::op;
use deno_core::op2;
use deno_core::v8;

Expand All @@ -8,8 +7,11 @@ pub fn op_v8_cached_data_version_tag() -> u32 {
v8::script_compiler::cached_data_version_tag()
}

#[op(v8)]
fn op_v8_get_heap_statistics(scope: &mut v8::HandleScope, buffer: &mut [f64]) {
#[op2]
pub fn op_v8_get_heap_statistics(
scope: &mut v8::HandleScope,
#[buffer] buffer: &mut [f64],
) {
let mut stats = v8::HeapStatistics::default();
scope.get_heap_statistics(&mut stats);

Expand Down
24 changes: 11 additions & 13 deletions ext/web/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,7 @@ mod timers;
use deno_core::error::range_error;
use deno_core::error::type_error;
use deno_core::error::AnyError;
use deno_core::op;
use deno_core::op2;
use deno_core::serde_v8;
use deno_core::url::Url;
use deno_core::v8;
use deno_core::ByteString;
Expand Down Expand Up @@ -366,14 +364,14 @@ impl Resource for TextDecoderResource {
}
}

#[op(v8)]
fn op_encoding_encode_into_fallback(
#[op2(fast(op_encoding_encode_into_fast))]
fn op_encoding_encode_into(
scope: &mut v8::HandleScope,
input: serde_v8::Value,
buffer: &mut [u8],
out_buf: &mut [u32],
input: v8::Local<v8::Value>,
#[buffer] buffer: &mut [u8],
#[buffer] out_buf: &mut [u32],
) -> Result<(), AnyError> {
let s = v8::Local::<v8::String>::try_from(input.v8_value)?;
let s = v8::Local::<v8::String>::try_from(input)?;

let mut nchars = 0;
out_buf[1] = s.write_utf8(
Expand All @@ -387,11 +385,11 @@ fn op_encoding_encode_into_fallback(
Ok(())
}

#[op(fast, slow = op_encoding_encode_into_fallback)]
fn op_encoding_encode_into(
input: Cow<'_, str>,
buffer: &mut [u8],
out_buf: &mut [u32],
#[op2(fast)]
fn op_encoding_encode_into_fast(
#[string] input: Cow<'_, str>,
#[buffer] buffer: &mut [u8],
#[buffer] out_buf: &mut [u32],
) {
// Since `input` is already UTF-8, we can simply find the last UTF-8 code
// point boundary from input that fits in `buffer`, and copy the bytes up to
Expand Down
2 changes: 1 addition & 1 deletion ext/web/stream_resource.rs
Original file line number Diff line number Diff line change
Expand Up @@ -491,7 +491,7 @@ pub fn op_readable_stream_resource_write_buf(

/// Write to the channel synchronously, returning 0 if the channel was closed, 1 if we wrote
/// successfully, 2 if the channel was full and we need to block.
#[op2]
#[op2(fast)]
pub fn op_readable_stream_resource_write_sync(
sender: *const c_void,
#[buffer] buffer: JsBuffer,
Expand Down
7 changes: 3 additions & 4 deletions ext/web/timers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

use crate::hr_timer_lock::hr_timer_lock;
use deno_core::error::AnyError;
use deno_core::op;
use deno_core::op2;
use deno_core::CancelFuture;
use deno_core::CancelHandle;
Expand Down Expand Up @@ -80,11 +79,11 @@ pub fn op_timer_handle(state: &mut OpState) -> ResourceId {
/// [`TimerHandle`] resource given by `rid` has been canceled.
///
/// If the timer is canceled, this returns `false`. Otherwise, it returns `true`.
#[op(deferred)]
#[op2(async(deferred), fast)]
pub async fn op_sleep(
state: Rc<RefCell<OpState>>,
millis: u64,
rid: ResourceId,
#[number] millis: u64,
#[smi] rid: ResourceId,
) -> Result<bool, AnyError> {
let handle = state.borrow().resource_table.get::<TimerHandle>(rid)?;

Expand Down
17 changes: 8 additions & 9 deletions ext/websocket/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ use bytes::Bytes;
use deno_core::error::invalid_hostname;
use deno_core::error::type_error;
use deno_core::error::AnyError;
use deno_core::op;
use deno_core::op2;
use deno_core::url;
use deno_core::AsyncMutFuture;
Expand Down Expand Up @@ -472,11 +471,11 @@ pub fn op_ws_send_text(
}

/// Async version of send. Does not update buffered amount as we rely on the socket itself for backpressure.
#[op(fast)]
#[op2(async)]
pub async fn op_ws_send_binary_async(
state: Rc<RefCell<OpState>>,
rid: ResourceId,
data: JsBuffer,
#[smi] rid: ResourceId,
#[buffer] data: JsBuffer,
) -> Result<(), AnyError> {
let resource = state
.borrow_mut()
Expand All @@ -490,11 +489,11 @@ pub async fn op_ws_send_binary_async(
}

/// Async version of send. Does not update buffered amount as we rely on the socket itself for backpressure.
#[op(fast)]
#[op2(async)]
pub async fn op_ws_send_text_async(
state: Rc<RefCell<OpState>>,
rid: ResourceId,
data: String,
#[smi] rid: ResourceId,
#[string] data: String,
) -> Result<(), AnyError> {
let resource = state
.borrow_mut()
Expand Down Expand Up @@ -609,10 +608,10 @@ pub fn op_ws_get_error(state: &mut OpState, #[smi] rid: ResourceId) -> String {
resource.error.take().unwrap_or_default()
}

#[op(fast)]
#[op2(async)]
pub async fn op_ws_next_event(
state: Rc<RefCell<OpState>>,
rid: ResourceId,
#[smi] rid: ResourceId,
) -> u16 {
let Ok(resource) = state
.borrow_mut()
Expand Down
2 changes: 1 addition & 1 deletion runtime/ops/web_worker.rs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ fn op_worker_post_message(
Ok(())
}

#[op2(async(lazy))]
#[op2(async(lazy), fast)]
#[serde]
async fn op_worker_recv_message(
state: Rc<RefCell<OpState>>,
Expand Down

0 comments on commit 093b3ee

Please sign in to comment.