summaryrefslogtreecommitdiff
path: root/colm/bytecode.c
diff options
context:
space:
mode:
authorAdrian Thurston <thurston@complang.org>2012-08-31 22:57:37 -0400
committerAdrian Thurston <thurston@complang.org>2012-08-31 22:57:37 -0400
commit776801ee89ae278741db7fba37ca51a20c996804 (patch)
treeb9d77a81773682df3c2c4195abce7c060b53baad /colm/bytecode.c
parent15b5dd21b608df2d5a02ecbb11b10e03e9beba83 (diff)
downloadcolm-776801ee89ae278741db7fba37ca51a20c996804.tar.gz
eliminated the need for vm_contiguous from rev triter
Diffstat (limited to 'colm/bytecode.c')
-rw-r--r--colm/bytecode.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/colm/bytecode.c b/colm/bytecode.c
index 794946f3..8026a676 100644
--- a/colm/bytecode.c
+++ b/colm/bytecode.c
@@ -1896,23 +1896,16 @@ again:
Ref rootRef;
rootRef.kid = (Kid*)vm_pop();
rootRef.next = (Ref*)vm_pop();
-
- int children = 0;
- Kid *kid = treeChild( prg, rootRef.kid->tree );
- while ( kid != 0 ) {
- children++;
- kid = kid->next;
- }
-
- vm_contiguous( children );
Tree **stackRoot = vm_ptop();
long rootSize = vm_ssize();
-
- kid = treeChild( prg, rootRef.kid->tree );
+
+ int children = 0;
+ Kid *kid = treeChild( prg, rootRef.kid->tree );
while ( kid != 0 ) {
- vm_push( (SW) kid );
+ vm_push( (SW)kid );
kid = kid->next;
+ children++;
}
void *mem = vm_plocal(field);