Index: src/ia32/macro-assembler-ia32.cc |
diff --git a/src/ia32/macro-assembler-ia32.cc b/src/ia32/macro-assembler-ia32.cc |
index 06b6f6a334b23f13a1e9350215255fb31bd1a20a..6908796127838baaf551661cadcfa05403ab7e77 100644 |
--- a/src/ia32/macro-assembler-ia32.cc |
+++ b/src/ia32/macro-assembler-ia32.cc |
@@ -2580,6 +2580,21 @@ void MacroAssembler::PushHeapObject(Handle<HeapObject> object) { |
} |
+void MacroAssembler::CmpWeakValue(Register value, Handle<WeakCell> cell, |
+ Register scratch) { |
+ mov(scratch, cell); |
+ cmp(value, FieldOperand(scratch, WeakCell::kValueOffset)); |
+} |
+ |
+ |
+void MacroAssembler::LoadWeakValue(Register value, Handle<WeakCell> cell, |
+ Label* miss) { |
+ mov(value, cell); |
+ mov(value, FieldOperand(value, WeakCell::kValueOffset)); |
+ JumpIfSmi(value, miss); |
+} |
+ |
+ |
void MacroAssembler::Ret() { |
ret(0); |
} |