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:arrays [2016/02/25 13:33] – external edit 127.0.0.1 | dev:crosscompiler:arrays [2021/07/30 12:18] – [Arrays] ursgraf | ||
---|---|---|---|
Line 2: | Line 2: | ||
The following figure demonstrates how arrays are implemented in the memory. | The following figure demonstrates how arrays are implemented in the memory. | ||
[{{ .: | [{{ .: | ||
- | An array extends // | + | An array extends // |
The field //length// denotes the number of elements of the array (16 bit). //heap// is used for the garbage collection ([[..: | The field //length// denotes the number of elements of the array (16 bit). //heap// is used for the garbage collection ([[..: | ||
When accessing array elements the code generator inserts code to check if the element index is in the range 0 to // | When accessing array elements the code generator inserts code to check if the element index is in the range 0 to // | ||
- | If the field //length// is used in Java the Bytecode instruktion // | + | If the field //length// is used in Java the Bytecode instruktion // |
===== Generating Arrays ===== | ===== Generating Arrays ===== | ||
Line 47: | Line 47: | ||
short[][] a = new short[2][3] | short[][] a = new short[2][3] | ||
</ | </ | ||
- | gives a Bytecode | + | leads to the Bytecode |
< | < | ||
0 iconst_2 | 0 iconst_2 |