newRange was directly used by bytecode generation layer