1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-21 15:04:11 -05:00

perf(core): use single ObjectTemplate for ops in initialize_ops (#15959)

This commit is contained in:
Divy Srivastava 2022-09-19 20:43:34 +05:30 committed by GitHub
parent 1464b756a4
commit 3864961364
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -140,17 +140,17 @@ fn initialize_ops(
op_ctxs: &[OpCtx],
snapshot_loaded: bool,
) {
let object_template = v8::ObjectTemplate::new(scope);
assert!(object_template.set_internal_field_count(
(crate::runtime::V8_WRAPPER_OBJECT_INDEX + 1) as usize
));
for ctx in op_ctxs {
let ctx_ptr = ctx as *const OpCtx as *const c_void;
// If this is a fast op, we don't want it to be in the snapshot.
// Only initialize once snapshot is loaded.
if ctx.decl.fast_fn.is_some() && snapshot_loaded {
let object_template = v8::ObjectTemplate::new(scope);
assert!(object_template.set_internal_field_count(
(crate::runtime::V8_WRAPPER_OBJECT_INDEX + 1) as usize
));
let method_obj = object_template.new_instance(scope).unwrap();
method_obj.set_aligned_pointer_in_internal_field(
crate::runtime::V8_WRAPPER_OBJECT_INDEX,