[svn:parrot] r40788 - trunk/compilers/pct/src/PAST

jonathan at svn.parrot.org jonathan at svn.parrot.org
Tue Aug 25 17:50:07 UTC 2009


Author: jonathan
Date: Tue Aug 25 17:50:03 2009
New Revision: 40788
URL: https://trac.parrot.org/parrot/changeset/40788

Log:
[pct] Second attempt at fixing binding of attributes. Must have messed up my test case before - this one really fixes it, it seems.

Modified:
   trunk/compilers/pct/src/PAST/Compiler.pir

Modified: trunk/compilers/pct/src/PAST/Compiler.pir
==============================================================================
--- trunk/compilers/pct/src/PAST/Compiler.pir	Tue Aug 25 17:11:43 2009	(r40787)
+++ trunk/compilers/pct/src/PAST/Compiler.pir	Tue Aug 25 17:50:03 2009	(r40788)
@@ -2254,8 +2254,13 @@
     .tailcall self.'vivify'(node, ops, fetchop, storeop)
 
   attribute_bind:
-    $P0 = get_hll_global ['POST'], 'Op'
-    .tailcall $P0.'new'(call_on, name, bindpost, 'pirop'=>'setattribute', 'result'=>bindpost)
+    $P0 = get_hll_global ['POST'], 'Ops'
+    $P0 = $P0.'new'()
+    $P0.'push'(call_on)
+    $P1 = get_hll_global ['POST'], 'Op'
+    $P1 = $P1.'new'(call_on, name, bindpost, 'pirop'=>'setattribute', 'result'=>bindpost)
+    $P0.'push'($P1)
+    .return ($P0)
 .end
 
 


More information about the parrot-commits mailing list