Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion crates/perry-runtime/src/perf_hooks.rs
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,10 @@ unsafe fn option_detail_bits(options_obj: *const crate::object::ObjectHeader) ->
if v.is_undefined() {
JSValue::null().bits()
} else {
v.bits()
// Node structured-clones `detail`, so the stored value deep-equals the
// input but is a distinct reference (mutating the original afterward
// doesn't affect the entry).
crate::builtins::js_structured_clone(f64::from_bits(v.bits())).to_bits()
}
}

Expand Down
12 changes: 0 additions & 12 deletions test-parity/known_failures.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,18 +44,6 @@
"category": "bug-open",
"reason": "node:perf_hooks: performance.nodeTiming (PerformanceNodeTiming) unimplemented (not an object). Flips to PASS when #1337 lands."
},
"node-suite/perf_hooks/mark/detail-structured-clone": {
"issue": "1340",
"added": "2026-05-22",
"category": "bug-open",
"reason": "node:perf_hooks: mark detail is not structured-cloned (m.detail === input instead of a distinct deep-equal copy). Flips to PASS when #1340 lands."
},
"node-suite/perf_hooks/measure/detail-structured-clone": {
"issue": "1340",
"added": "2026-05-22",
"category": "bug-open",
"reason": "node:perf_hooks: measure detail is not structured-cloned (same root as mark — #1340 covers both). Flips to PASS when #1340 lands."
},
"node-suite/perf_hooks/entry/to-json": {
"issue": "1387",
"added": "2026-05-22",
Expand Down