| Index: src/arm64/code-stubs-arm64.cc | 
| diff --git a/src/arm64/code-stubs-arm64.cc b/src/arm64/code-stubs-arm64.cc | 
| index f06f6bc6e96e696cd75d740e80ef6f84bcdea698..61b395fb92db2b683960bd91622fec40590ee27f 100644 | 
| --- a/src/arm64/code-stubs-arm64.cc | 
| +++ b/src/arm64/code-stubs-arm64.cc | 
| @@ -1405,18 +1405,6 @@ void CodeStub::GenerateFPStubs(Isolate* isolate) { | 
| } | 
|  | 
|  | 
| -static void JumpIfOOM(MacroAssembler* masm, | 
| -                      Register value, | 
| -                      Register scratch, | 
| -                      Label* oom_label) { | 
| -  STATIC_ASSERT(Failure::OUT_OF_MEMORY_EXCEPTION == 3); | 
| -  STATIC_ASSERT(kFailureTag == 3); | 
| -  __ And(scratch, value, 0xf); | 
| -  __ Cmp(scratch, 0xf); | 
| -  __ B(eq, oom_label); | 
| -} | 
| - | 
| - | 
| bool CEntryStub::NeedsImmovableCode() { | 
| // CEntryStub stores the return address on the stack before calling into | 
| // C++ code. In some cases, the VM accesses this address, but it is not used | 
| @@ -1441,7 +1429,6 @@ void CEntryStub::GenerateAheadOfTime(Isolate* isolate) { | 
| void CEntryStub::GenerateCore(MacroAssembler* masm, | 
| Label* throw_normal, | 
| Label* throw_termination, | 
| -                              Label* throw_out_of_memory, | 
| bool do_gc, | 
| bool always_allocate) { | 
| // x0  : Result parameter for PerformGC, if do_gc is true. | 
| @@ -1589,10 +1576,6 @@ void CEntryStub::GenerateCore(MacroAssembler* masm, | 
| __ Tst(result, kFailureTypeTagMask << kFailureTagSize); | 
| __ B(eq, &retry);   // RETRY_AFTER_GC | 
|  | 
| -  // Special handling of out-of-memory exceptions: Pass the failure result, | 
| -  // rather than the exception descriptor. | 
| -  JumpIfOOM(masm, result, x10, throw_out_of_memory); | 
| - | 
| // Retrieve the pending exception. | 
| const Register& exception = result; | 
| const Register& exception_address = x11; | 
| @@ -1601,9 +1584,6 @@ void CEntryStub::GenerateCore(MacroAssembler* masm, | 
| isolate))); | 
| __ Ldr(exception, MemOperand(exception_address)); | 
|  | 
| -  // See if we just retrieved an OOM exception. | 
| -  JumpIfOOM(masm, exception, x10, throw_out_of_memory); | 
| - | 
| // Clear the pending exception. | 
| __ Mov(x10, Operand(isolate->factory()->the_hole_value())); | 
| __ Str(x10, MemOperand(exception_address)); | 
| @@ -1697,13 +1677,11 @@ void CEntryStub::Generate(MacroAssembler* masm) { | 
|  | 
| Label throw_normal; | 
| Label throw_termination; | 
| -  Label throw_out_of_memory; | 
|  | 
| // Call the runtime function. | 
| GenerateCore(masm, | 
| &throw_normal, | 
| &throw_termination, | 
| -               &throw_out_of_memory, | 
| false, | 
| false); | 
|  | 
| @@ -1714,7 +1692,6 @@ void CEntryStub::Generate(MacroAssembler* masm) { | 
| GenerateCore(masm, | 
| &throw_normal, | 
| &throw_termination, | 
| -               &throw_out_of_memory, | 
| true, | 
| false); | 
|  | 
| @@ -1723,7 +1700,6 @@ void CEntryStub::Generate(MacroAssembler* masm) { | 
| GenerateCore(masm, | 
| &throw_normal, | 
| &throw_termination, | 
| -               &throw_out_of_memory, | 
| true, | 
| true); | 
|  | 
| @@ -1740,27 +1716,6 @@ void CEntryStub::Generate(MacroAssembler* masm) { | 
| // If we throw an exception, we can end up re-entering CEntryStub before we | 
| // pop the exit frame, so need to ensure that x21-x23 contain GC-safe values | 
| // here. | 
| -  __ Bind(&throw_out_of_memory); | 
| -  ASM_LOCATION("Throw out of memory"); | 
| -  __ Mov(argv, 0); | 
| -  __ Mov(argc, 0); | 
| -  __ Mov(target, 0); | 
| -  // Set external caught exception to false. | 
| -  Isolate* isolate = masm->isolate(); | 
| -  __ Mov(x2, Operand(ExternalReference(Isolate::kExternalCaughtExceptionAddress, | 
| -                                       isolate))); | 
| -  __ Str(xzr, MemOperand(x2)); | 
| - | 
| -  // Set pending exception and x0 to out of memory exception. | 
| -  Label already_have_failure; | 
| -  JumpIfOOM(masm, x0, x10, &already_have_failure); | 
| -  Failure* out_of_memory = Failure::OutOfMemoryException(0x1); | 
| -  __ Mov(x0, Operand(reinterpret_cast<uint64_t>(out_of_memory))); | 
| -  __ Bind(&already_have_failure); | 
| -  __ Mov(x2, Operand(ExternalReference(Isolate::kPendingExceptionAddress, | 
| -                                       isolate))); | 
| -  __ Str(x0, MemOperand(x2)); | 
| -  // Fall through to the next label. | 
|  | 
| __ Bind(&throw_termination); | 
| ASM_LOCATION("Throw termination"); | 
|  |