Mercurial > hg > graal-jvmci-8
comparison src/cpu/x86/vm/sharedRuntime_x86_64.cpp @ 520:52a431267315
6791168: Fix invalid code in bytecodeInterpreter that can cause gcc ICE
Summary: Fix compilation errors from latest gcc in CC_INTERP including offending missing void* cast.
Reviewed-by: xlu
author | coleenp |
---|---|
date | Tue, 13 Jan 2009 14:41:44 -0500 |
parents | dc7f315e41f7 |
children | c9004fe53695 |
comparison
equal
deleted
inserted
replaced
516:fc7ab6287598 | 520:52a431267315 |
---|---|
2952 __ movptr(rbx, Address(rsi, 0)); // Load frame size | 2952 __ movptr(rbx, Address(rsi, 0)); // Load frame size |
2953 __ subptr(rbx, 2 * wordSize); // We'll push pc and rbp by hand | 2953 __ subptr(rbx, 2 * wordSize); // We'll push pc and rbp by hand |
2954 __ pushptr(Address(rcx, 0)); // Save return address | 2954 __ pushptr(Address(rcx, 0)); // Save return address |
2955 __ enter(); // Save old & set new rbp | 2955 __ enter(); // Save old & set new rbp |
2956 __ subptr(rsp, rbx); // Prolog | 2956 __ subptr(rsp, rbx); // Prolog |
2957 #ifdef CC_INTERP | |
2958 __ movptr(Address(rbp, | |
2959 -(sizeof(BytecodeInterpreter)) + in_bytes(byte_offset_of(BytecodeInterpreter, _sender_sp))), | |
2960 sender_sp); // Make it walkable | |
2961 #else // CC_INTERP | |
2957 __ movptr(Address(rbp, frame::interpreter_frame_sender_sp_offset * wordSize), | 2962 __ movptr(Address(rbp, frame::interpreter_frame_sender_sp_offset * wordSize), |
2958 sender_sp); // Make it walkable | 2963 sender_sp); // Make it walkable |
2959 // This value is corrected by layout_activation_impl | 2964 // This value is corrected by layout_activation_impl |
2960 __ movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), (int32_t)NULL_WORD ); | 2965 __ movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), (int32_t)NULL_WORD ); |
2966 #endif // CC_INTERP | |
2961 __ mov(sender_sp, rsp); // Pass sender_sp to next frame | 2967 __ mov(sender_sp, rsp); // Pass sender_sp to next frame |
2962 __ addptr(rsi, wordSize); // Bump array pointer (sizes) | 2968 __ addptr(rsi, wordSize); // Bump array pointer (sizes) |
2963 __ addptr(rcx, wordSize); // Bump array pointer (pcs) | 2969 __ addptr(rcx, wordSize); // Bump array pointer (pcs) |
2964 __ decrementl(rdx); // Decrement counter | 2970 __ decrementl(rdx); // Decrement counter |
2965 __ jcc(Assembler::notZero, loop); | 2971 __ jcc(Assembler::notZero, loop); |