aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrahflow <drahflow@gmx.de>2014-03-06 10:40:45 +0100
committerDrahflow <drahflow@gmx.de>2014-03-06 10:40:45 +0100
commitb04d50028a217e44530f39a5847caff870516a53 (patch)
tree7f4d9c9ded4e1a471b2b315ddf348a759901f0ec
parent3e98f6c4fecd9f827574977666a2b48b9d641340 (diff)
Scope emulation of ! no longer calls #*
-rw-r--r--compiler/elymasGlobal.ey11
-rw-r--r--examples/working-compiler/scope-emulation.test2
2 files changed, 11 insertions, 2 deletions
diff --git a/compiler/elymasGlobal.ey b/compiler/elymasGlobal.ey
index e07312d..2e1f8f6 100644
--- a/compiler/elymasGlobal.ey
+++ b/compiler/elymasGlobal.ey
@@ -2656,7 +2656,6 @@
/rbx :pushqReg
:retn
- @scopeCase
@functionCase
/rcx :popqReg
/rbp :pushqReg
@@ -2664,6 +2663,16 @@
/rbx :pushqReg
/rax :movqImmOOBReg "ey!" "ey*" ::linkAbs64
/rax :jmpqReg
+
+ @scopeCase
+ /rbp :pushqReg
+
+ /rax :movqImmOOBReg "#!" ::string
+ /rax :pushqReg
+
+ /rbx :pushqReg
+ /rax :movqImmOOBReg "ey!" "ey." ::linkAbs64
+ /rax :jmpqReg
]] /ey! defv
> _ ==globalFunctions3 { defv }' ::allocateOffsetStruct
diff --git a/examples/working-compiler/scope-emulation.test b/examples/working-compiler/scope-emulation.test
index 703d07a..74da893 100644
--- a/examples/working-compiler/scope-emulation.test
+++ b/examples/working-compiler/scope-emulation.test
@@ -15,5 +15,5 @@ _ dump
_ dump
< { "here: dom" dump } "#dom" deffd > dom
_ dump
-< { "here: *" dump } "#*" deffd > 0 !
+< { "here: !" dump "element count: " dump dump } "#!" deffd > 42 !
_ dump