| Index: src/ia32/macro-assembler-ia32.h
|
| diff --git a/src/ia32/macro-assembler-ia32.h b/src/ia32/macro-assembler-ia32.h
|
| index 16361ad2390ffeea3a19c4f1789f0a2e10f8ab60..62bb0f36343c93019e5dd5ed87076addd6fab91d 100644
|
| --- a/src/ia32/macro-assembler-ia32.h
|
| +++ b/src/ia32/macro-assembler-ia32.h
|
| @@ -143,7 +143,11 @@ class MacroAssembler: public Assembler {
|
| // Push and pop the registers that can hold pointers.
|
| void PushSafepointRegisters() { pushad(); }
|
| void PopSafepointRegisters() { popad(); }
|
| - static int SafepointRegisterStackIndex(int reg_code);
|
| + // Store the value in register/immediate src in the safepoint
|
| + // register stack slot for register dst.
|
| + void StoreToSafepointRegisterSlot(Register dst, Register src);
|
| + void StoreToSafepointRegisterSlot(Register dst, Immediate src);
|
| + void LoadFromSafepointRegisterSlot(Register dst, Register src);
|
|
|
| // ---------------------------------------------------------------------------
|
| // JavaScript invokes
|
| @@ -667,6 +671,15 @@ class MacroAssembler: public Assembler {
|
| MUST_USE_RESULT MaybeObject* PopHandleScopeHelper(Register saved,
|
| Register scratch,
|
| bool gc_allowed);
|
| +
|
| +
|
| + // Compute memory operands for safepoint stack slots.
|
| + Operand SafepointRegisterSlot(Register reg);
|
| + static int SafepointRegisterStackIndex(int reg_code);
|
| +
|
| + // Needs access to SafepointRegisterStackIndex for optimized frame
|
| + // traversal.
|
| + friend class OptimizedFrame;
|
| };
|
|
|
|
|
|
|