Repository navigation
Enter HTTP response methods through dedicated native bodies - #12836
Merged
Merged
Conversation
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing: 7
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
proggeramlug
force-pushed
the
fh-http-symbol-layouts-head
branch
2 times, most recently
from
October 18, 2026 16:15
d6ca33d to
fe34bcd
Compare
proggeramlug
force-pushed
the
fh-http-symbol-layouts-head
branch
from
October 18, 2026 16:50
fe34bcd to
cb2aadd
Compare
proggeramlug
marked this pull request as ready for review
October 18, 2026 17:24
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
HTTP response prototype calls traverse the composite handle dispatcher and resolve the method name again. Install separate native bodies for
setHeader,writeHead,write, andendat sealed-prototype construction. Each body checks the receiver's current ordinary-layout word, native payload type word, and exact payload vtable before entering the shared response operation. Own-field growth preserves the carrier proof. Legacy handles and incompatible receivers retain complete dispatch; ordinary method lookup preserves subclass overrides and prototype patches. No cache or additional registry is introduced.Adds a unit witness for the four installed bodies, receivers with added own fields, attached response carriers, and successful legacy-handle fallback. The Node parity fixture covers subclasses, all four overrides, prototype patches, accessors, overflow, and incompatible receivers.
Same-host alternating
instructions:u, median of three runs per arm, with one executable path and ASLR disabled:Measured baseline
8143bf333and production candidatefe34bcd85; the landing revision rebases the same implementation and narrows the parity fixture to scalar headers. The former 10.25% inclusive composite dispatch share includes native operation work, which remains under the direct bodies. Composite dispatch falls to 2.19%; the carrier proof is 0.08% of samples. The qs delta has no changed sampled hot-function opcode sequence; only the cold HTTP prototype builder and a builder closure change among common functions, consistent with link/address-layout sensitivity. Static layout/atom ordering and control .text sizes are unchanged.Validation on landing head
cb2aadd86:PERRY_PROBE_VERIFY: 4,662,569 checked, zero disagreements.PMCHECK-OK. The script's warning-only workspace test-target build reports missing systemglib-2.0.A supplemental probe-mode run of the new small fixture exposes a pre-existing deleted-own-accessor/overflow slow-dispatch discrepancy, identical on baseline and landing head; normal/auto mode and the full fastify probe pass. Header array identity and
writeHeadheader-object interception also differ from Node on baseline and are outside this dispatch change.