[codenameone/CodenameOne] 319403: js-port: defer single-hop field reads in the strai...

0 views
Skip to first unread message

Shai Almog

unread,
Jun 11, 2026, 2:00:39 PM (11 hours ago) Jun 11
to codenameo...@googlegroups.com
Branch: refs/heads/initializr-local-javascript-build
Home: https://github.com/codenameone/CodenameOne
Commit: 319403c42658ee89f1052b6775df6e07f4478087
https://github.com/codenameone/CodenameOne/commit/319403c42658ee89f1052b6775df6e07f4478087
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: defer single-hop field reads in the straight-line emitter

Extends deferred-expression lowering to instance-field reads off a bare
local (lN["prop"]): the read is substituted at its consuming site
instead of materialising an sN slot, collapsing the dominant
load-field/store-local chains. Soundness barriers: every invoke,
PUTFIELD and PUTSTATIC materialises outstanding deferred field reads
first (a call or write may mutate the field), and a store to lN flushes
deferred reads based on lN. Slot-based and multi-hop reads are never
deferred.

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
Reply all
Reply to author
Forward
0 new messages