Index: src/ppc/macro-assembler-ppc.cc |
diff --git a/src/ppc/macro-assembler-ppc.cc b/src/ppc/macro-assembler-ppc.cc |
index 9b8f69f4973d0eed8620ae7cb3328c9fc8ae1792..24e56f747c57db72675f0675aa41e2cda2734111 100644 |
--- a/src/ppc/macro-assembler-ppc.cc |
+++ b/src/ppc/macro-assembler-ppc.cc |
@@ -2399,6 +2399,12 @@ void MacroAssembler::LoadContext(Register dst, int context_chain_length) { |
} |
+void MacroAssembler::LoadGlobalProxy(Register dst) { |
+ LoadP(dst, GlobalObjectOperand()); |
+ LoadP(dst, FieldMemOperand(dst, GlobalObject::kGlobalProxyOffset)); |
+} |
+ |
+ |
void MacroAssembler::LoadTransitionedArrayMapConditional( |
ElementsKind expected_kind, ElementsKind transitioned_kind, |
Register map_in_out, Register scratch, Label* no_map_match) { |
@@ -2575,6 +2581,17 @@ void MacroAssembler::AssertName(Register object) { |
} |
+void MacroAssembler::AssertFunction(Register object) { |
+ if (emit_debug_code()) { |
+ STATIC_ASSERT(kSmiTag == 0); |
+ TestIfSmi(object, r0); |
+ Check(ne, kOperandIsASmiAndNotAFunction, cr0); |
+ CompareObjectType(object, r0, r0, JS_FUNCTION_TYPE); |
+ Check(eq, kOperandIsNotAFunction); |
+ } |
+} |
+ |
+ |
void MacroAssembler::AssertUndefinedOrAllocationSite(Register object, |
Register scratch) { |
if (emit_debug_code()) { |