aboutsummaryrefslogtreecommitdiff
path: root/docs/DEVELOPER_GUIDE.md
diff options
context:
space:
mode:
authorcirakg <cirakg@cirakg.xyz>2026-10-20 11:24:58 +0200
committercirakg <cirakg@cirakg.xyz>2026-10-20 11:24:58 +0200
commitd360f8ed78adf08e2a99df0be141b0a823cf8be9 (patch)
tree79073507ca89b88479b961fa7f17ec25c83c6dd9 /docs/DEVELOPER_GUIDE.md
parent1251aab9f8f9f38aa5bdefd4fed1f58236166cf8 (diff)
docs: record M6c (Data Matrix, PDF417) results
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'docs/DEVELOPER_GUIDE.md')
-rw-r--r--docs/DEVELOPER_GUIDE.md2
1 files changed, 2 insertions, 0 deletions
diff --git a/docs/DEVELOPER_GUIDE.md b/docs/DEVELOPER_GUIDE.md
index 14c4e05..2646e1b 100644
--- a/docs/DEVELOPER_GUIDE.md
+++ b/docs/DEVELOPER_GUIDE.md
@@ -78,6 +78,8 @@ The simulator is a GTK program. The scripts start it on a virtual display (Xvfb
- Assigning a value above 255 to a ByteArray element throws; mask with `& 0xFF`.
- Native HMAC supports only SHA-256; HMAC-SHA1 and HMAC-SHA512 go through `Hmac.generic`.
- Function calls are expensive in the VM; hot loops inline small helpers (SHA-512 went 37 % faster that way).
+- **Long `&&` chains with `instanceof`** can make the compiler's type checker run out of memory: one test condition needed more than 6 GB until it was split into separate `if` statements.
+- **JSON resources over 8 KB** produce a compiler warning, so large tables are split; the PDF417 patterns are three resources, one per cluster.
- **The watchdog** ("Code Executed Too Long") is not enforced in unit-test runs, but it is in normal simulator runs, with the device's `watchdogCount` per event: 120,000 bytecodes on the Forerunner 255/255S, 240,000 on the others. M4 measured what it means. 200 byte-wise PBKDF2 iterations in one event tripped it on the 255S, and so did two SHA-512 codes in one draw. So:
- Anything long runs as a `Jobs.Job` with a bounded step (`Kdf.ITERATIONS_PER_STEP` = 100).
- Screens compute at most one SHA-512 code per event, in a timer event separate from drawing.