Author: fperrad
Date: Sun Dec 21 02:19:58 2008
New Revision: 34189

Modified:
   trunk/languages/lua/src/POSTGrammar.tg
   trunk/languages/lua/src/lib/luabytecode.pir

Log:
[Lua]
- now, use :opt_flag

Modified: trunk/languages/lua/src/POSTGrammar.tg
==============================================================================
--- trunk/languages/lua/src/POSTGrammar.tg      (original)
+++ trunk/languages/lua/src/POSTGrammar.tg      Sun Dec 21 02:19:58 2008
@@ -931,7 +931,8 @@
     ops.'push_pirop'('.lex', $S0, pname)
     .local string vivilabel
     vivilabel = ops.'unique'('vivify_')
-    ops.'push_pirop'('unless_null', pname, vivilabel)
+    $S0 = concat 'has_', pname
+    ops.'push_pirop'('if', $S0, vivilabel)
     ops.'push_pirop'('new', pname, '"LuaNil"')
     $P0 = get_hll_global ['POST'], 'Label'
     $P0 = $P0.'new'('result'=>vivilabel)

Modified: trunk/languages/lua/src/lib/luabytecode.pir
==============================================================================
--- trunk/languages/lua/src/lib/luabytecode.pir (original)
+++ trunk/languages/lua/src/lib/luabytecode.pir Sun Dec 21 02:19:58 2008
@@ -167,7 +167,9 @@
     $S0 = i
     pir .= "    .param pmc loc_"
     pir .= $S0
-    pir .= " :optional\n"
+    pir .= " :optional\n    .param int has_loc_"
+    pir .= $S0
+    pir .= " :opt_flag\n"
     inc i
     goto L1
   L2:
@@ -184,7 +186,7 @@
   L5:
     unless i < numparams goto L6
     $S0 = i
-    pir .= "    unless_null loc_"
+    pir .= "    if has_loc_"
     pir .= $S0
     pir .= ", vivify_"
     pir .= $S0

Reply via email to