reallocateStacks method
void
reallocateStacks()
Implementation
void reallocateStacks() {
var old_stack_length = (stateStack.isEmpty ? 0 : stateStack.length),
stack_length = old_stack_length + STACK_INCREMENT;
if (stateStack.isEmpty) {
stateStack = List.filled(stack_length, 0);
locationStack = List.filled(stack_length, 0);
tempStack = List.filled(stack_length, 0);
prevStack = List.filled(stack_length, 0);
nextStack = List.filled(stack_length, 0);
scopeIndex = List.filled(stack_length, 0);
scopePosition = List.filled(stack_length, 0);
} else {
ArrayList.copy(stateStack, 0, stateStack = List.filled(stack_length, 0),
0, old_stack_length);
ArrayList.copy(locationStack, 0,
locationStack = List.filled(stack_length, 0), 0, old_stack_length);
ArrayList.copy(tempStack, 0, tempStack = List.filled(stack_length, 0), 0,
old_stack_length);
ArrayList.copy(prevStack, 0, prevStack = List.filled(stack_length, 0), 0,
old_stack_length);
ArrayList.copy(nextStack, 0, nextStack = List.filled(stack_length, 0), 0,
old_stack_length);
ArrayList.copy(scopeIndex, 0, scopeIndex = List.filled(stack_length, 0),
0, old_stack_length);
ArrayList.copy(scopePosition, 0,
scopePosition = List.filled(stack_length, 0), 0, old_stack_length);
}
return;
}