Malte Ubl
b8ef53cef1
Read construction-only fields of loop receivers once per loop
...
Outside constructors a final field cannot change: the constructors that
store it are finished or suspended below every other running frame. A loop
reading p.f through a never-rebound parameter (usually this) still reloaded
it after every store or call that might alias the object and hid bounds and
strides such as y < this.h or i - this.w from loop-invariant reasoning. Such
reads now go through an immutable local declared before the outermost loop
containing them. analyzeFinalFields gains a scalar mode, which also treats
in-place numeric updates (fieldIncDec) as writes.
2026-10-16 06:38:44 -07:00
..
2026-10-12 12:25:30 -05:00
2026-10-16 06:38:44 -07:00
2026-10-06 01:05:40 -05:00
2026-10-16 07:33:26 -05:00
2026-10-13 12:36:06 -05:00
2026-10-13 07:55:53 -05:00
2026-10-13 12:36:06 -05:00
2026-10-13 10:26:49 -05:00
2026-10-14 21:17:46 -05:00
2026-10-12 12:25:30 -05:00
2026-10-13 12:36:06 -05:00
2026-10-15 06:12:23 -07:00
2026-10-13 12:36:06 -05:00
2026-10-16 01:39:10 -05:00
2026-10-13 12:36:06 -05:00
2026-10-15 18:47:02 -05:00
2026-10-05 17:51:24 -05:00
2026-10-05 17:51:24 -05:00
2026-10-12 12:25:30 -05:00
2026-10-10 09:01:04 -07:00
2026-10-12 12:25:30 -05:00
2026-10-07 13:55:11 -05:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-09 20:26:57 -05:00
2026-10-11 13:08:08 -07:00
2026-10-12 17:58:04 -05:00
2026-10-13 12:36:06 -05:00
2026-10-12 12:25:30 -05:00
2026-10-05 17:51:24 -05:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-05 17:51:24 -05:00
2026-10-14 08:34:53 -05:00
2026-10-15 21:58:33 -05:00
2026-10-12 12:25:30 -05:00
2026-10-15 07:59:19 -05:00
2026-10-13 18:19:29 -05:00
2026-10-08 11:00:13 -05:00
2026-10-07 11:47:54 -05:00
2026-10-13 12:36:06 -05:00
2026-10-05 17:51:24 -05:00
2026-10-05 17:51:24 -05:00
2026-10-13 12:36:06 -05:00
2026-10-15 05:07:10 -07:00
2026-10-16 01:10:45 -05:00
2026-10-13 12:36:06 -05:00
2026-10-13 12:36:06 -05:00
2026-10-13 12:36:06 -05:00
2026-10-13 12:36:06 -05:00
2026-09-29 20:54:09 -05:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-14 11:43:44 -05:00
2026-10-13 12:36:06 -05:00
2026-10-05 17:51:24 -05:00
2026-10-05 17:51:24 -05:00
2026-10-16 04:45:45 -05:00
2026-10-12 12:25:30 -05:00
2026-10-15 08:36:53 -05:00
2026-10-16 01:39:10 -05:00
2026-10-13 12:36:06 -05:00
2026-10-05 17:51:24 -05:00
2026-10-12 23:05:43 -05:00
2026-10-12 12:25:30 -05:00
2026-10-08 11:00:13 -05:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-15 05:15:33 -05:00
2026-10-14 11:43:44 -05:00
2026-10-13 12:36:06 -05:00
2026-10-05 17:51:24 -05:00
2026-10-14 21:09:51 -05:00
2026-10-05 17:51:24 -05:00
2026-10-07 15:39:05 -05:00
2026-10-14 09:58:18 -05:00
2026-10-12 12:25:30 -05:00
2026-10-16 05:12:23 -05:00
2026-10-13 20:30:01 -05:00
2026-10-13 12:36:06 -05:00
2026-10-05 17:51:24 -05:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-15 13:39:03 -05:00
2026-10-05 17:51:24 -05:00
2026-10-11 07:05:29 -07:00
2026-10-13 20:26:38 -05:00
2026-10-05 17:51:24 -05:00
2026-10-05 17:51:24 -05:00
2026-10-13 12:36:06 -05:00
2026-10-13 12:36:06 -05:00
2026-10-13 21:24:38 -05:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-10 14:03:20 -07:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-13 12:36:06 -05:00
2026-10-13 12:36:06 -05:00
2026-10-05 17:51:24 -05:00
2026-10-13 18:51:09 -05:00
2026-10-05 17:51:24 -05:00
2026-10-14 21:28:04 -05:00