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 782 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
793 bool restore_context = context_restore_operand != NULL; | 793 bool restore_context = context_restore_operand != NULL; |
794 if (restore_context) { | 794 if (restore_context) { |
795 movp(rsi, *context_restore_operand); | 795 movp(rsi, *context_restore_operand); |
796 } | 796 } |
797 LeaveApiExitFrame(!restore_context); | 797 LeaveApiExitFrame(!restore_context); |
798 ret(stack_space * kPointerSize); | 798 ret(stack_space * kPointerSize); |
799 | 799 |
800 bind(&promote_scheduled_exception); | 800 bind(&promote_scheduled_exception); |
801 { | 801 { |
802 FrameScope frame(this, StackFrame::INTERNAL); | 802 FrameScope frame(this, StackFrame::INTERNAL); |
803 CallRuntime(Runtime::kPromoteScheduledException, 0); | 803 CallRuntime(Runtime::kHiddenPromoteScheduledException, 0); |
804 } | 804 } |
805 jmp(&exception_handled); | 805 jmp(&exception_handled); |
806 | 806 |
807 // HandleScope limit has changed. Delete allocated extensions. | 807 // HandleScope limit has changed. Delete allocated extensions. |
808 bind(&delete_allocated_handles); | 808 bind(&delete_allocated_handles); |
809 movp(Operand(base_reg, kLimitOffset), prev_limit_reg); | 809 movp(Operand(base_reg, kLimitOffset), prev_limit_reg); |
810 movp(prev_limit_reg, rax); | 810 movp(prev_limit_reg, rax); |
811 LoadAddress(arg_reg_1, ExternalReference::isolate_address(isolate())); | 811 LoadAddress(arg_reg_1, ExternalReference::isolate_address(isolate())); |
812 LoadAddress(rax, | 812 LoadAddress(rax, |
813 ExternalReference::delete_handle_scope_extensions(isolate())); | 813 ExternalReference::delete_handle_scope_extensions(isolate())); |
(...skipping 2482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3296 RecordComment(msg); | 3296 RecordComment(msg); |
3297 } | 3297 } |
3298 #endif | 3298 #endif |
3299 | 3299 |
3300 Push(rax); | 3300 Push(rax); |
3301 Push(Smi::FromInt(reason)); | 3301 Push(Smi::FromInt(reason)); |
3302 if (!has_frame_) { | 3302 if (!has_frame_) { |
3303 // We don't actually want to generate a pile of code for this, so just | 3303 // We don't actually want to generate a pile of code for this, so just |
3304 // claim there is a stack frame, without generating one. | 3304 // claim there is a stack frame, without generating one. |
3305 FrameScope scope(this, StackFrame::NONE); | 3305 FrameScope scope(this, StackFrame::NONE); |
3306 CallRuntime(Runtime::kThrowMessage, 1); | 3306 CallRuntime(Runtime::kHiddenThrowMessage, 1); |
3307 } else { | 3307 } else { |
3308 CallRuntime(Runtime::kThrowMessage, 1); | 3308 CallRuntime(Runtime::kHiddenThrowMessage, 1); |
3309 } | 3309 } |
3310 // Control will not return here. | 3310 // Control will not return here. |
3311 int3(); | 3311 int3(); |
3312 } | 3312 } |
3313 | 3313 |
3314 | 3314 |
3315 void MacroAssembler::ThrowIf(Condition cc, BailoutReason reason) { | 3315 void MacroAssembler::ThrowIf(Condition cc, BailoutReason reason) { |
3316 Label L; | 3316 Label L; |
3317 j(NegateCondition(cc), &L); | 3317 j(NegateCondition(cc), &L); |
3318 Throw(reason); | 3318 Throw(reason); |
(...skipping 1762 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5081 if (ms.shift() > 0) sarl(rdx, Immediate(ms.shift())); | 5081 if (ms.shift() > 0) sarl(rdx, Immediate(ms.shift())); |
5082 movl(rax, dividend); | 5082 movl(rax, dividend); |
5083 shrl(rax, Immediate(31)); | 5083 shrl(rax, Immediate(31)); |
5084 addl(rdx, rax); | 5084 addl(rdx, rax); |
5085 } | 5085 } |
5086 | 5086 |
5087 | 5087 |
5088 } } // namespace v8::internal | 5088 } } // namespace v8::internal |
5089 | 5089 |
5090 #endif // V8_TARGET_ARCH_X64 | 5090 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |