Branch: refs/heads/initializr-local-javascript-build
Home:
https://github.com/codenameone/CodenameOne
Commit: ce02670393ec10bd3c804f25a88c6f18882ca462
https://github.com/codenameone/CodenameOne/commit/ce02670393ec10bd3c804f25a88c6f18882ca462
Author: Shai Almog <
67850168+...@users.noreply.github.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M vm/ByteCodeTranslator/src/com/codename1/tools/translator/JavascriptMethodGenerator.java
Log Message:
-----------
js-port: deferred-expression lowering for constants and local reads
StraightLineContext no longer materialises an sN slot for pushes of
pure, re-readable expressions (numeric/null/boolean constants and bare
lN local reads): the expression is recorded per stack entry and
substituted directly at the consuming site, collapsing the accumulator
chains (sN = l3; l4 = sN; -> l4 = l3;) the regex peepholes cannot reach
for lack of liveness. Locals are only mutable via the store opcodes
inside a straight-line block (JS calls cannot touch caller locals), so
the single invalidation point is flushPendingLocal() before each store;
DUP-family peeks can re-evaluate pure expressions freely.
Suite green at CI budgets.
Co-Authored-By: Claude Fable 5 <
nor...@anthropic.com>
To unsubscribe from these emails, change your notification settings at
https://github.com/codenameone/CodenameOne/settings/notifications