hotspot/src/cpu/x86/vm/interpreterRT_x86_32.cpp
changeset 1066 717c3345024f
parent 1 489c9b5090e2
child 1217 5eb97f366a6a
equal deleted inserted replaced
1065:dbeb68f8a0ee 1066:717c3345024f
    48   __ movl(Address(to(), to_offset * wordSize), temp());
    48   __ movl(Address(to(), to_offset * wordSize), temp());
    49 }
    49 }
    50 
    50 
    51 
    51 
    52 void InterpreterRuntime::SignatureHandlerGenerator::box(int from_offset, int to_offset) {
    52 void InterpreterRuntime::SignatureHandlerGenerator::box(int from_offset, int to_offset) {
    53   __ leal(temp(), Address(from(), Interpreter::local_offset_in_bytes(from_offset)));
    53   __ lea(temp(), Address(from(), Interpreter::local_offset_in_bytes(from_offset)));
    54   __ cmpl(Address(from(), Interpreter::local_offset_in_bytes(from_offset)), 0); // do not use temp() to avoid AGI
    54   __ cmpptr(Address(from(), Interpreter::local_offset_in_bytes(from_offset)), (int32_t)NULL_WORD); // do not use temp() to avoid AGI
    55   Label L;
    55   Label L;
    56   __ jcc(Assembler::notZero, L);
    56   __ jcc(Assembler::notZero, L);
    57   __ movl(temp(), 0);
    57   __ movptr(temp(), ((int32_t)NULL_WORD));
    58   __ bind(L);
    58   __ bind(L);
    59   __ movl(Address(to(), to_offset * wordSize), temp());
    59   __ movptr(Address(to(), to_offset * wordSize), temp());
    60 }
    60 }
    61 
    61 
    62 
    62 
    63 void InterpreterRuntime::SignatureHandlerGenerator::generate( uint64_t fingerprint) {
    63 void InterpreterRuntime::SignatureHandlerGenerator::generate( uint64_t fingerprint) {
    64   // generate code to handle arguments
    64   // generate code to handle arguments