diff options
| author | Drahflow <drahflow@gmx.de> | 2015-06-16 16:45:09 +0200 |
|---|---|---|
| committer | Drahflow <drahflow@gmx.de> | 2015-06-16 16:45:09 +0200 |
| commit | 87b60ff694de44bbf7a91cd408d675cad681be76 (patch) | |
| tree | 8a5ab041baba6fe02ef26721664605c6daaf5503 /elymas/lib/sys/opt.ey | |
| parent | 7f5b57f1f6e6ba311c24f6b38c27cf2bff31d190 (diff) | |
Some performance improvements
Diffstat (limited to 'elymas/lib/sys/opt.ey')
| -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 |
