Index: src/lithium.cc |
=================================================================== |
--- src/lithium.cc (revision 9327) |
+++ src/lithium.cc (working copy) |
@@ -156,6 +156,27 @@ |
} |
+void LPointerMap::RemovePointer(LOperand* op) { |
+ // Do not record arguments as pointers. |
+ if (op->IsStackSlot() && op->index() < 0) return; |
+ ASSERT(!op->IsDoubleRegister() && !op->IsDoubleStackSlot()); |
+ for (int i = 0; i < pointer_operands_.length(); ++i) { |
+ if (pointer_operands_[i]->Equals(op)) { |
+ pointer_operands_.Remove(i); |
+ --i; |
+ } |
+ } |
+} |
+ |
+ |
+void LPointerMap::RecordUntagged(LOperand* op) { |
+ // Do not record arguments as pointers. |
+ if (op->IsStackSlot() && op->index() < 0) return; |
+ ASSERT(!op->IsDoubleRegister() && !op->IsDoubleStackSlot()); |
+ untagged_operands_.Add(op); |
+} |
+ |
+ |
void LPointerMap::PrintTo(StringStream* stream) { |
stream->Add("{"); |
for (int i = 0; i < pointer_operands_.length(); ++i) { |