ReadyTalk / avian

[INACTIVE] Avian is a lightweight virtual machine and class library designed to provide a useful subset of Java's features, suitable for building self-contained applications.
https://readytalk.github.io/avian/
Other
1.22k stars 173 forks source link

use unconditional branch to stack overflow thunk on ARM64 #400

Closed dicej closed 9 years ago

dicej commented 9 years ago

On ARM64, conditional branches to immediate offsets can span no more than 2^19 instructions. In the case of the stack overflow check, which wants to do a conditional branch from every non-leaf method to a handler, this can be a problem, especially when compiled code grows large as with a bootimage=true build against the OpenJDK class library. Therefore, we use an unconditional branch to reach the handler on this platform.