OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 1025 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1036 int stack_alignment = OS::ActivationFrameAlignment(); | 1036 int stack_alignment = OS::ActivationFrameAlignment(); |
1037 ASSERT(IsAligned(stack_alignment, kPointerSize)); | 1037 ASSERT(IsAligned(stack_alignment, kPointerSize)); |
1038 __ sub(sp, sp, Operand(stack_alignment)); | 1038 __ sub(sp, sp, Operand(stack_alignment)); |
1039 | 1039 |
1040 // r0 will point to the return address, placed by DirectCEntry. | 1040 // r0 will point to the return address, placed by DirectCEntry. |
1041 __ mov(r0, sp); | 1041 __ mov(r0, sp); |
1042 | 1042 |
1043 ExternalReference stack_guard_check = | 1043 ExternalReference stack_guard_check = |
1044 ExternalReference::re_check_stack_guard_state(isolate()); | 1044 ExternalReference::re_check_stack_guard_state(isolate()); |
1045 __ mov(ip, Operand(stack_guard_check)); | 1045 __ mov(ip, Operand(stack_guard_check)); |
1046 DirectCEntryStub stub; | 1046 DirectCEntryStub stub(isolate()); |
1047 stub.GenerateCall(masm_, ip); | 1047 stub.GenerateCall(masm_, ip); |
1048 | 1048 |
1049 // Drop the return address from the stack. | 1049 // Drop the return address from the stack. |
1050 __ add(sp, sp, Operand(stack_alignment)); | 1050 __ add(sp, sp, Operand(stack_alignment)); |
1051 | 1051 |
1052 ASSERT(stack_alignment != 0); | 1052 ASSERT(stack_alignment != 0); |
1053 __ ldr(sp, MemOperand(sp, 0)); | 1053 __ ldr(sp, MemOperand(sp, 0)); |
1054 | 1054 |
1055 __ mov(code_pointer(), Operand(masm_->CodeObject())); | 1055 __ mov(code_pointer(), Operand(masm_->CodeObject())); |
1056 } | 1056 } |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1291 } | 1291 } |
1292 | 1292 |
1293 | 1293 |
1294 #undef __ | 1294 #undef __ |
1295 | 1295 |
1296 #endif // V8_INTERPRETED_REGEXP | 1296 #endif // V8_INTERPRETED_REGEXP |
1297 | 1297 |
1298 }} // namespace v8::internal | 1298 }} // namespace v8::internal |
1299 | 1299 |
1300 #endif // V8_TARGET_ARCH_ARM | 1300 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |