OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 2498 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2509 __ bind(&done); | 2509 __ bind(&done); |
2510 | 2510 |
2511 // Set the top handler address to next handler past the current ENTRY handler. | 2511 // Set the top handler address to next handler past the current ENTRY handler. |
2512 STATIC_ASSERT(StackHandlerConstants::kNextOffset == 0); | 2512 STATIC_ASSERT(StackHandlerConstants::kNextOffset == 0); |
2513 __ pop(r2); | 2513 __ pop(r2); |
2514 __ str(r2, MemOperand(r3)); | 2514 __ str(r2, MemOperand(r3)); |
2515 | 2515 |
2516 if (type == OUT_OF_MEMORY) { | 2516 if (type == OUT_OF_MEMORY) { |
2517 // Set external caught exception to false. | 2517 // Set external caught exception to false. |
2518 ExternalReference external_caught(Top::k_external_caught_exception_address); | 2518 ExternalReference external_caught(Top::k_external_caught_exception_address); |
2519 __ mov(r0, Operand(false)); | 2519 __ mov(r0, Operand(false, RelocInfo::NONE)); |
2520 __ mov(r2, Operand(external_caught)); | 2520 __ mov(r2, Operand(external_caught)); |
2521 __ str(r0, MemOperand(r2)); | 2521 __ str(r0, MemOperand(r2)); |
2522 | 2522 |
2523 // Set pending exception and r0 to out of memory exception. | 2523 // Set pending exception and r0 to out of memory exception. |
2524 Failure* out_of_memory = Failure::OutOfMemoryException(); | 2524 Failure* out_of_memory = Failure::OutOfMemoryException(); |
2525 __ mov(r0, Operand(reinterpret_cast<int32_t>(out_of_memory))); | 2525 __ mov(r0, Operand(reinterpret_cast<int32_t>(out_of_memory))); |
2526 __ mov(r2, Operand(ExternalReference(Top::k_pending_exception_address))); | 2526 __ mov(r2, Operand(ExternalReference(Top::k_pending_exception_address))); |
2527 __ str(r0, MemOperand(r2)); | 2527 __ str(r0, MemOperand(r2)); |
2528 } | 2528 } |
2529 | 2529 |
(...skipping 2446 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4976 __ pop(r1); | 4976 __ pop(r1); |
4977 __ Jump(r2); | 4977 __ Jump(r2); |
4978 } | 4978 } |
4979 | 4979 |
4980 | 4980 |
4981 #undef __ | 4981 #undef __ |
4982 | 4982 |
4983 } } // namespace v8::internal | 4983 } } // namespace v8::internal |
4984 | 4984 |
4985 #endif // V8_TARGET_ARCH_ARM | 4985 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |