Most recent activity
-
Confirmed, uploading to RAM in the IDE now works.
I repeated the tests with Synthwave:
Storage + No pretokenize
= OK
Storage + Pretokenize
= Crash and reboot. Trying to run code directly in storage?
RAM + Pretokenize
= No crash but no rendering
RAM + No pretokenize
= No crash but no rendering
Flash + No pretokenize
= OK
I'll do some more testing later to figure out why it doesn't render anything when running from RAM. -
-
There's no Synthwave in the main banglejs.com/apps page - so I assume it's in your repo?
The PullRequest for it (together with Warpdrive) is still open (https://github.com/espruino/BangleApps/pull/3156). My fork of BangleApps is only missing the last 3 commits, which don't seem to be related. Besides, I was testing on https://www.espruino.com/ide, not my own fork of the IDE.
-
While it sure isn't as trivial an optimization as it seemed to me at first, the speedup (and space savings?) from your benchmarks sound great!
I've updated to the latest firmware. When I try to reinstall all the apps I get the errors in the attachment. The first time I tried, it got stuck updating the Scheduler app. I manually uninstalled/installed it, then tried again. Now it doesn't get stuck but it outputs those errors.
In the WebIDE, if I enable pretokenization on Synthwave and try to upload to RAM I get the following error:
You have more open brackets than close brackets. Please see the hints in the Editor window.
Apparently it's trying to reformat the pretokenized code and breaks.If I don't enable pretokenization, Synthwave uploads to RAM successfully, but the C++ code no longer works, I haven't looked into what broke yet. If I enable pretokenization but upload to storage instead of RAM, it crashes. It only works if I disable pretokenization and upload to storage.
Enabling Esprima minification results in "Error: Unreachable point. logically broken.", but the code uploads anyway.
Edit:
The following works with pretokenization in Storage but not in RAM.let c = E.compiledC(` // int boop(int) int boop(int d) { return d * 42; } `); print('boop:', c.boop(3));
-
-
-
-
Just confirmed that Warpdrive now works with pretokenization enabled. :)