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);