| Index: src/arm/macro-assembler-arm.cc
 | 
| diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc
 | 
| index 369b406eceb0243ad23c5eb5746a16771e316a3d..fa5cbe82bd4ddac9667ac6be21a33495ac002a53 100644
 | 
| --- a/src/arm/macro-assembler-arm.cc
 | 
| +++ b/src/arm/macro-assembler-arm.cc
 | 
| @@ -884,6 +884,7 @@ void MacroAssembler::EnterExitFrame(bool save_doubles, int stack_space) {
 | 
|  
 | 
|    // Optionally save all double registers.
 | 
|    if (save_doubles) {
 | 
| +    CpuFeatures::Scope scope(VFP2);
 | 
|      // Check CPU flags for number of registers, setting the Z condition flag.
 | 
|      CheckFor32DRegs(ip);
 | 
|  
 | 
| @@ -946,6 +947,7 @@ void MacroAssembler::LeaveExitFrame(bool save_doubles,
 | 
|                                      Register argument_count) {
 | 
|    // Optionally restore all double registers.
 | 
|    if (save_doubles) {
 | 
| +    CpuFeatures::Scope scope(VFP2);
 | 
|      // Calculate the stack location of the saved doubles and restore them.
 | 
|      const int offset = 2 * kPointerSize;
 | 
|      sub(r3, fp, Operand(offset + DwVfpRegister::kNumRegisters * kDoubleSize));
 | 
| @@ -3899,8 +3901,7 @@ void MacroAssembler::CheckEnumCache(Register null_value, Label* call_runtime) {
 | 
|  
 | 
|  void MacroAssembler::TestJSArrayForAllocationSiteInfo(
 | 
|      Register receiver_reg,
 | 
| -    Register scratch_reg,
 | 
| -    Label* allocation_info_present) {
 | 
| +    Register scratch_reg) {
 | 
|    Label no_info_available;
 | 
|    ExternalReference new_space_start =
 | 
|        ExternalReference::new_space_start(isolate());
 | 
| @@ -3917,7 +3918,6 @@ void MacroAssembler::TestJSArrayForAllocationSiteInfo(
 | 
|    ldr(scratch_reg, MemOperand(scratch_reg, -AllocationSiteInfo::kSize));
 | 
|    cmp(scratch_reg,
 | 
|        Operand(Handle<Map>(isolate()->heap()->allocation_site_info_map())));
 | 
| -  b(eq, allocation_info_present);
 | 
|    bind(&no_info_available);
 | 
|  }
 | 
|  
 | 
| 
 |