more optimizations to PUSH_BASE