Index: src/x64/macro-assembler-x64.h |
diff --git a/src/x64/macro-assembler-x64.h b/src/x64/macro-assembler-x64.h |
index 61abc206e108ec2f85e0ff83393eb778c58dde79..ae3e4fd7e49d1e1fc3ed8644578784fe8e62af7d 100644 |
--- a/src/x64/macro-assembler-x64.h |
+++ b/src/x64/macro-assembler-x64.h |
@@ -720,6 +720,14 @@ class MacroAssembler: public Assembler { |
} |
void Push(Smi* smi); |
+ |
+ // Push a 64-bit integer as two "general" Smis on stack so that the garbage |
danno
2013/08/19 22:00:40
I find the comments a bit confusing. I think the f
haitao.feng
2013/08/20 13:20:15
Done.
|
+ // collector could iterate stack safely. The Smis are general, i.e., all the |
+ // lower kSmiShift bits are zero. |
+ void PushInt64AsTwoSmis(Register src, Register scratch = kScratchRegister); |
+ // Reconstruct a 64-bit integer from two "general" Smis from stack. |
danno
2013/08/19 22:00:40
// Reconstruct a 64-bit integer from two 32-bits i
haitao.feng
2013/08/20 13:20:15
Done.
|
+ void PopInt64AsTwoSmis(Register dst, Register scratch = kScratchRegister); |
+ |
void Test(const Operand& dst, Smi* source); |