forked from denoland/deno
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
perf(ops): Reenable fast unit result optimization (denoland#16827)
The optimization was missed in the optimizer rewrite denoland#16514
- Loading branch information
1 parent
0012484
commit 9ffc6ac
Showing
35 changed files
with
844 additions
and
32 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
MustBeSingleSegment |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
#[allow(non_camel_case_types)] | ||
///Auto-generated by `deno_ops`, i.e: `#[op]` | ||
/// | ||
///Use `op_blob_revoke_object_url::decl()` to get an op-declaration | ||
///you can include in a `deno_core::Extension`. | ||
pub struct op_blob_revoke_object_url; | ||
#[doc(hidden)] | ||
impl op_blob_revoke_object_url { | ||
pub fn name() -> &'static str { | ||
stringify!(op_blob_revoke_object_url) | ||
} | ||
pub fn v8_fn_ptr<'scope>() -> deno_core::v8::FunctionCallback { | ||
use deno_core::v8::MapFnTo; | ||
Self::v8_func.map_fn_to() | ||
} | ||
pub fn decl<'scope>() -> deno_core::OpDecl { | ||
deno_core::OpDecl { | ||
name: Self::name(), | ||
v8_fn_ptr: Self::v8_fn_ptr(), | ||
enabled: true, | ||
fast_fn: None, | ||
is_async: false, | ||
is_unstable: false, | ||
is_v8: false, | ||
argc: 1usize, | ||
} | ||
} | ||
#[inline] | ||
#[allow(clippy::too_many_arguments)] | ||
pub fn call(state: &mut deno_core::OpState, url: String) -> Result<(), AnyError> { | ||
let url = Url::parse(&url)?; | ||
let blob_store = state.borrow::<BlobStore>(); | ||
blob_store.remove_object_url(&url); | ||
Ok(()) | ||
} | ||
pub fn v8_func<'scope>( | ||
scope: &mut deno_core::v8::HandleScope<'scope>, | ||
args: deno_core::v8::FunctionCallbackArguments, | ||
mut rv: deno_core::v8::ReturnValue, | ||
) { | ||
let ctx = unsafe { | ||
&*(deno_core::v8::Local::<deno_core::v8::External>::cast(args.data()).value() | ||
as *const deno_core::_ops::OpCtx) | ||
}; | ||
let arg_0 = match deno_core::v8::Local::< | ||
deno_core::v8::String, | ||
>::try_from(args.get(0usize as i32)) { | ||
Ok(v8_string) => deno_core::serde_v8::to_utf8(v8_string, scope), | ||
Err(_) => { | ||
return deno_core::_ops::throw_type_error( | ||
scope, | ||
format!("Expected string at position {}", 0usize), | ||
); | ||
} | ||
}; | ||
let result = Self::call(&mut std::cell::RefCell::borrow_mut(&ctx.state), arg_0); | ||
let op_state = ::std::cell::RefCell::borrow(&*ctx.state); | ||
op_state.tracker.track_sync(ctx.id); | ||
match result { | ||
Ok(result) => {} | ||
Err(err) => { | ||
let exception = deno_core::error::to_v8_error( | ||
scope, | ||
op_state.get_error_class_fn, | ||
&err, | ||
); | ||
scope.throw_exception(exception); | ||
} | ||
}; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
pub fn op_blob_revoke_object_url( | ||
state: &mut deno_core::OpState, | ||
url: String, | ||
) -> Result<(), AnyError> { | ||
let url = Url::parse(&url)?; | ||
let blob_store = state.borrow::<BlobStore>(); | ||
blob_store.remove_object_url(&url); | ||
Ok(()) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.