This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
dev:crosscompiler:backend_arm:code_generator [2019/11/17 18:18] – [Method Call] ursgraf | dev:crosscompiler:backend_arm:code_generator [2019/11/17 19:54] – [Exception Stackframe] ursgraf | ||
---|---|---|---|
Line 20: | Line 20: | ||
[{{ : | [{{ : | ||
+ | |||
+ | For efficiency, the exception stack frame does not contain space for locals. Hence, you are not allowed to use so many locals that this becomes necessary. This will be checked for when compiling exception methods. Storage for interface methods as well as the area for parameter passing are not necessary as well. | ||
+ | |||
Optimization: | Optimization: | ||
Line 36: | Line 39: | ||
* Addresses of class variables | * Addresses of class variables | ||
* Addresses of constants (floats, strings, type descriptors) | * Addresses of constants (floats, strings, type descriptors) | ||
- | Such addresses must be loaded with the aid of an auxiliary | + | Such addresses must be loaded with the aid of an auxiliary |
===== Accessing the Hardware ===== | ===== Accessing the Hardware ===== |