diff options
author | Adrian Thurston <thurston@complang.org> | 2012-08-31 22:57:37 -0400 |
---|---|---|
committer | Adrian Thurston <thurston@complang.org> | 2012-08-31 22:57:37 -0400 |
commit | 776801ee89ae278741db7fba37ca51a20c996804 (patch) | |
tree | b9d77a81773682df3c2c4195abce7c060b53baad /colm/bytecode.c | |
parent | 15b5dd21b608df2d5a02ecbb11b10e03e9beba83 (diff) | |
download | colm-776801ee89ae278741db7fba37ca51a20c996804.tar.gz |
eliminated the need for vm_contiguous from rev triter
Diffstat (limited to 'colm/bytecode.c')
-rw-r--r-- | colm/bytecode.c | 17 |
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); |