Commit cb3f7c1
committed
Update array implementation
Arrays now have 2 new properties, namely:
* data_label which, if the array is not dynamic, will return the
label of the memory address where the array element data resides.
* data_ptr_label, which is a pointer (for any array, dynamic or
static) to the data element area.
Accessing the first is slightly faster but only allowed in static
global arrays, accessing the latter always works and is more versatile.
Dynamic arrays are currently not implemented, but this scheme now allows
them!
The var symbol now returns the data_label when requiring its 't'
(tree static value) symbol.
The arrayaccess symbol now returns only the offset of the element.1 parent c85b037 commit cb3f7c1
3 files changed
Lines changed: 14 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
18 | 17 | | |
19 | 18 | | |
20 | 19 | | |
| |||
91 | 90 | | |
92 | 91 | | |
93 | 92 | | |
94 | | - | |
| 93 | + | |
95 | 94 | | |
96 | 95 | | |
97 | 96 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
113 | | - | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
114 | 117 | | |
115 | 118 | | |
116 | 119 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
0 commit comments