Remix.run Logo
pjmlp 3 days ago

It could be the point of what optimizations would be possible on the interpreter.

One of the optimizations Google introduced on Android 7, when they backtracked for AOT at installation time introduced in Android 5, was that the DEX interpreter was rewriten from scratch in cleverly manually written Assembly, before handing it over to the JIT/AOT infrastructure.

BBC Basic was also one of the few that allowed direct inline Assembly, instead of having to go through DATA blocks.

klelatti 3 days ago | parent [-]

BBC BASIC wasn't JIT'd etc so not sure how all the Android comparisons come in!

Just to make the comparison more concrete the ARM1 ran at 8MHz and was 32-bit and with a lot more registers compared to the BBC Micro's 6502 running at 2MHz. It was a lot faster but not fast enough to make BBC BASIC run at BBC Micro Assembly language speed.

pjmlp 3 days ago | parent [-]

Missed the part about writing interpreters in Assembly?

Most folks nowadays wouldn't even think that is an option, hence the comparison with a product several decades later doing that instead of C kind of approach.

Back to ARM v1, maybe the design did take into account how to improve the developer's life of those writing in Assembly, which was critical for implementation of the whole userspace, meaning BBC Basic.