aboutsummaryrefslogtreecommitdiff
path: root/compiler/elymasGlobalSys.ey
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/elymasGlobalSys.ey')
-rw-r--r--compiler/elymasGlobalSys.ey17
1 files changed, 17 insertions, 0 deletions
diff --git a/compiler/elymasGlobalSys.ey b/compiler/elymasGlobalSys.ey
index 9d20c35..01ca564 100644
--- a/compiler/elymasGlobalSys.ey
+++ b/compiler/elymasGlobalSys.ey
@@ -1,7 +1,24 @@
<
"sys" enterSubScope
+ <
+ # handle an identifier in the current scope according to current quote level
+ # 0 -> identifier to handle
+ [[
+ 8 /r15 :subqImm8Reg
+ /r15 :popqMem
+
+ internalExecuteIdentifier /rax :movqImmReg
+ /rax :callqReg
+
+ /r15 :pushqMem
+ 8 /r15 :addqImm8Reg
+ :retn
+ ]] /eyexecuteIdentifier defv
+ > _ ==globalFunctions { defv }' ::allocateOffsetStruct
+
[
+ globalFunctions keys eydeff { | }' createScopeEntries
createScopeExtensionEntries
] :execute