1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 07:14:47 -05:00

perf(ext/web): Avoid changing prototype by setting hostObjectBrand directly (#21358)

This commit is contained in:
Laurence Rowe 2023-11-30 13:06:16 -08:00 committed by GitHub
parent ffa09541d7
commit 8050cbf39e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 11 deletions

13
Cargo.lock generated
View file

@ -1067,9 +1067,9 @@ dependencies = [
[[package]] [[package]]
name = "deno_core" name = "deno_core"
version = "0.233.0" version = "0.234.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b1c9dadf191bb484179cf4a599e0ccbe8ea62f35676a15397f171aff14bd9a0" checksum = "94fe0979c3e6fe8fada5d4895ddd043fb8d5936e0f4c4b4e76fab403bf21ee22"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"bytes", "bytes",
@ -1085,6 +1085,7 @@ dependencies = [
"serde_v8", "serde_v8",
"smallvec", "smallvec",
"sourcemap 7.0.0", "sourcemap 7.0.0",
"static_assertions",
"tokio", "tokio",
"url", "url",
"v8", "v8",
@ -1492,9 +1493,9 @@ dependencies = [
[[package]] [[package]]
name = "deno_ops" name = "deno_ops"
version = "0.109.0" version = "0.110.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3901bf4ce170c37d936ce8b947ba0217e5d235ebbbc1c340703268141c359d3" checksum = "dab9fca550a1241267e56a9a8185f6263964233f980233cf70d47e587b5f866f"
dependencies = [ dependencies = [
"proc-macro-rules", "proc-macro-rules",
"proc-macro2", "proc-macro2",
@ -4636,9 +4637,9 @@ dependencies = [
[[package]] [[package]]
name = "serde_v8" name = "serde_v8"
version = "0.142.0" version = "0.143.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6abec9ca384cb6869fcbf7ab816bd0d342cd2668fa7b090d80554831e2d93e60" checksum = "331359280930e186b14c0f931433b75ec174edb017fa390bab8716d8e36c29ee"
dependencies = [ dependencies = [
"bytes", "bytes",
"derive_more", "derive_more",

View file

@ -40,7 +40,7 @@ repository = "https://github.com/denoland/deno"
[workspace.dependencies] [workspace.dependencies]
deno_ast = { version = "0.31.6", features = ["transpiling"] } deno_ast = { version = "0.31.6", features = ["transpiling"] }
deno_core = { version = "0.233.0" } deno_core = { version = "0.234.0" }
deno_runtime = { version = "0.133.0", path = "./runtime" } deno_runtime = { version = "0.133.0", path = "./runtime" }
napi_sym = { version = "0.55.0", path = "./cli/napi/sym" } napi_sym = { version = "0.55.0", path = "./cli/napi/sym" }

View file

@ -26,7 +26,6 @@ const {
ArrayPrototypeIncludes, ArrayPrototypeIncludes,
ArrayPrototypePush, ArrayPrototypePush,
ObjectPrototypeIsPrototypeOf, ObjectPrototypeIsPrototypeOf,
ObjectSetPrototypeOf,
Symbol, Symbol,
SymbolFor, SymbolFor,
SymbolIterator, SymbolIterator,
@ -84,9 +83,8 @@ const _enabled = Symbol("enabled");
* @returns {MessagePort} * @returns {MessagePort}
*/ */
function createMessagePort(id) { function createMessagePort(id) {
const port = core.createHostObject(); const port = webidl.createBranded(MessagePort);
ObjectSetPrototypeOf(port, MessagePortPrototype); port[core.hostObjectBrand] = core.hostObjectBrand;
port[webidl.brand] = webidl.brand;
setEventTargetData(port); setEventTargetData(port);
port[_id] = id; port[_id] = id;
return port; return port;