libraries/v8/mips/macro-assembler-mips.cc
// Push and pop all registers that can hold pointers.
Push and pop all registers that can hold pointers.
Push and pop all registers that can hold pointers .
void MacroAssembler::PushSafepointRegisters() {
  const int num_unsaved = kNumSafepointRegisters - kNumSafepointSavedRegisters;
  ASSERT(num_unsaved >= 0);
  if (num_unsaved > 0) {
    Subu(sp, sp, Operand(num_unsaved * kPointerSize));
  }
  MultiPush(kSafepointSavedRegisters);
}
void MacroAssembler :: PushSafepointRegisters ( ) { const int num_unsaved = kNumSafepointRegisters - kNumSafepointSavedRegisters ; ASSERT ( num_unsaved >= 0 ) ; if ( num_unsaved > 0 ) { Subu ( sp , sp , Operand ( num_unsaved * kPointerSize ) ) ; } MultiPush ( kSafepointSavedRegisters ) ; }
Push and pop all registers that can hold pointers.
Push and pop all registers that can hold pointers .
// Safepoints expect a block of kNumSafepointRegisters values on the // stack, so adjust the stack for unsaved registers.