Index: src/mips/macro-assembler-mips.cc |
diff --git a/src/mips/macro-assembler-mips.cc b/src/mips/macro-assembler-mips.cc |
index 5cc505d1679177a1054a173708457f018e7f2d10..2a5ea1adc5314f4ff6ba421f02f8014e5134bb8e 100644 |
--- a/src/mips/macro-assembler-mips.cc |
+++ b/src/mips/macro-assembler-mips.cc |
@@ -4021,6 +4021,22 @@ void MacroAssembler::CheckMap(Register obj, |
} |
+void MacroAssembler::CmpWeakValue(Register match, Register value, |
+ Handle<WeakCell> cell) { |
+ li(match, Operand(cell)); |
+ lw(match, FieldMemOperand(match, WeakCell::kValueOffset)); |
+ Subu(match, value, match); |
+} |
+ |
+ |
+void MacroAssembler::LoadWeakValue(Register value, Handle<WeakCell> cell, |
+ Label* miss) { |
+ li(value, Operand(cell)); |
+ lw(value, FieldMemOperand(value, WeakCell::kValueOffset)); |
+ JumpIfNotSmi(value, miss); |
+} |
+ |
+ |
void MacroAssembler::MovFromFloatResult(DoubleRegister dst) { |
if (IsMipsSoftFloatABI) { |
if (kArchEndian == kLittle) { |