Skip to content

[TS] Correct symbolic value and storage semantics - #448

Merged
CaelmBleidd merged 10 commits into
mainfrom
caelmbleidd/stdlib-value-semantics-pr391
Oct 13, 2026
Merged

CaelmBleidd merged 10 commits into
mainfrom
caelmbleidd/stdlib-value-semantics-pr391

Conversation

@CaelmBleidd

@CaelmBleidd CaelmBleidd commented Oct 2, 2026 •

Copy link
Copy Markdown
Member

Preserve JavaScript runtime values when allocated or symbolic typed arrays receive values of another kind. Private boxed override cells retain primitive, nullish and reference payloads through aliases, copies, pop/shift and post-execution snapshots; original input snapshots remain unchanged. Compatibility pop/shift distinguishes unresolved any[]/unknown[] storage from genuinely typed storage.

Use total ToUint32/ToInt32 conversion and validate canonical indexes independently of execution capacity. Missing/out-of-range reads return undefined; unsupported growth and named-property boundaries remain explicit.

Rebased on #443; Calls #447 is no longer a prerequisite. Validation on final 4b01c7b: standalone production/test compilation and Detekt main/test passed. Combined models passed 146 replay/Error/catch/numeric tests after correcting six failures found by the expanded 749-test call/model gate. Older CI heads failed those repaired cases; fresh CI is pending. No merge performed.

@CaelmBleidd CaelmBleidd changed the title [8/12] Correct TS symbolic value and storage semantics [TS] Correct symbolic value and storage semantics Oct 2, 2026
@CaelmBleidd
CaelmBleidd marked this pull request as ready for review October 2, 2026 16:14
@CaelmBleidd
CaelmBleidd force-pushed the caelmbleidd/stdlib-calls-runtime-pr391 branch from efd39dd to 79c25b5 Compare October 2, 2026 16:45
@CaelmBleidd
CaelmBleidd force-pushed the caelmbleidd/stdlib-value-semantics-pr391 branch from b199085 to 13a756e Compare October 2, 2026 16:45
@CaelmBleidd
CaelmBleidd force-pushed the caelmbleidd/stdlib-calls-runtime-pr391 branch from 79c25b5 to 31d49de Compare October 11, 2026 06:51
@CaelmBleidd
CaelmBleidd force-pushed the caelmbleidd/stdlib-value-semantics-pr391 branch 2 times, most recently from 2a9098a to bca101e Compare October 12, 2026 13:26
@CaelmBleidd
CaelmBleidd force-pushed the caelmbleidd/stdlib-calls-runtime-pr391 branch 2 times, most recently from 90264c8 to 12d8404 Compare October 12, 2026 22:27
@CaelmBleidd
CaelmBleidd force-pushed the caelmbleidd/stdlib-value-semantics-pr391 branch from bca101e to bd7ae12 Compare October 12, 2026 23:02
@CaelmBleidd
CaelmBleidd changed the base branch from caelmbleidd/stdlib-calls-runtime-pr391 to caelmbleidd/stdlib-sequences-pr391 October 12, 2026 23:03
Comment thread usvm-ts/src/main/kotlin/org/usvm/util/ArrayStorage.kt Fixed
@CaelmBleidd
CaelmBleidd force-pushed the caelmbleidd/stdlib-value-semantics-pr391 branch from 4b01c7b to 13bdd63 Compare October 12, 2026 23:39
@CaelmBleidd
CaelmBleidd force-pushed the caelmbleidd/stdlib-sequences-pr391 branch 3 times, most recently from bfa7cb8 to ac52b31 Compare October 13, 2026 19:07
Base automatically changed from caelmbleidd/stdlib-sequences-pr391 to main October 13, 2026 19:07
@CaelmBleidd
CaelmBleidd force-pushed the caelmbleidd/stdlib-value-semantics-pr391 branch from 13bdd63 to 496b36c Compare October 13, 2026 19:19
@CaelmBleidd
CaelmBleidd force-pushed the caelmbleidd/stdlib-value-semantics-pr391 branch from 496b36c to 1e43525 Compare October 13, 2026 19:23
@CaelmBleidd
CaelmBleidd merged commit 5f75407 into main Oct 13, 2026
7 checks passed
@CaelmBleidd
CaelmBleidd deleted the caelmbleidd/stdlib-value-semantics-pr391 branch October 13, 2026 19:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants