diff options
Diffstat (limited to 'elymas/lib/sys')
| -rw-r--r-- | elymas/lib/sys/opt.ey | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/elymas/lib/sys/opt.ey b/elymas/lib/sys/opt.ey index 6a8f0c1..2ad40b8 100644 --- a/elymas/lib/sys/opt.ey +++ b/elymas/lib/sys/opt.ey @@ -495,10 +495,14 @@ { action CALL eq { 1 entry * "." | ::rawCodeAddress eq }' andif { 0 last * PUSH eq }' andif - { 0 secondLast * STATICTYPED eq }' andif + { 0 secondLast * STATICTYPED eq 0 secondLast * PUSH eq or }' andif }' { 1 last * ::rawObject ==constant - 4 secondLast * ==relevantScope + 0 secondLast * STATICTYPED eq { + 4 secondLast * + } { + 1 secondLast * ::rawObject + } ? * ==relevantScope constant relevantScope sys .resolveInfo _ ==loadedObject { ==mode -- ==parentCount 32 add ==offsetInScope ==inExtensionArea @@ -1789,6 +1793,11 @@ } ? * } ? * } + { action CALL eq { 1 entry * "[" | ::rawCodeAddress eq }' andif }' { + [ NATIVENOSCOPE [ + ARRAYMARKER :pushqImm32 + ] ] =entry + } ] conds last |
