From 87b60ff694de44bbf7a91cd408d675cad681be76 Mon Sep 17 00:00:00 2001 From: Drahflow Date: Tue, 16 Jun 2015 16:45:09 +0200 Subject: Some performance improvements --- elymas/lib/sys/opt.ey | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'elymas/lib/sys') 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 -- cgit v1.2.3