Move code to destroy all computations in a token into a new function.
Move release_token( ) next to destroy_all_computations_in_token(t).
Simply control flow for try_release_token(t).
Move check for invariant out of if statement.
Remove dead code.
Remove unnecessary if statement.
Refactor to only release leaf tokens.
Move destroy_all_computations_in_context( ) into release_child_token( ).
Move swapping of mappings out of merge_split_mapping( ).
Separate swap_tokens( ) and pivoting the root token.
Use swap_tokens( ) instead of actualy swapping the mappings.
Start tracking source tokens in merge_split_mapping( ).
Make pivot_mapping change the source_token for computations it moves.
Update source token when moving computation.
Add and use move_computation(int t1, int t2, int r)
Use add_shared_computation( ) instead of new_computation_for_reg( ).
Replace share_and_clear( ) with clear_computation( ) which does cleanup.
Remove new_computation_for_reg( ).
Replace a vm_relative.set_value( ) with a clear_computation( ).
Remove some asserts( ).