hotspot/src/cpu/ppc/vm/sharedRuntime_ppc.cpp
changeset 22834 3e2df6a4a28c
parent 22824 28258dd5cb2e
child 22852 1063026e8cee
equal deleted inserted replaced
22833:92d74f188f73 22834:3e2df6a4a28c
   732     case T_SHORT:
   732     case T_SHORT:
   733     case T_INT:
   733     case T_INT:
   734       // We must cast ints to longs and use full 64 bit stack slots
   734       // We must cast ints to longs and use full 64 bit stack slots
   735       // here. We do the cast in GraphKit::gen_stub() and just guard
   735       // here. We do the cast in GraphKit::gen_stub() and just guard
   736       // here against loosing that change.
   736       // here against loosing that change.
   737       Unimplemented(); // TODO: PPC port
   737       assert(CCallingConventionRequiresIntsAsLongs,
   738       /*
       
   739       assert(SharedRuntime::c_calling_convention_requires_ints_as_longs(),
       
   740              "argument of type int should be promoted to type long");
   738              "argument of type int should be promoted to type long");
   741       */
       
   742       guarantee(i > 0 && sig_bt[i-1] == T_LONG,
   739       guarantee(i > 0 && sig_bt[i-1] == T_LONG,
   743                 "argument of type (bt) should have been promoted to type (T_LONG,bt) for bt in "
   740                 "argument of type (bt) should have been promoted to type (T_LONG,bt) for bt in "
   744                 "{T_BOOLEAN, T_CHAR, T_BYTE, T_SHORT, T_INT}");
   741                 "{T_BOOLEAN, T_CHAR, T_BYTE, T_SHORT, T_INT}");
   745       // Do not count halves.
   742       // Do not count halves.
   746       regs[i].set_bad();
   743       regs[i].set_bad();
   853   assert_different_registers(sender_SP, code, ientry, return_pc, tmp);
   850   assert_different_registers(sender_SP, code, ientry, return_pc, tmp);
   854 
   851 
   855   // Adapter needs TOP_IJAVA_FRAME_ABI.
   852   // Adapter needs TOP_IJAVA_FRAME_ABI.
   856   const int adapter_size = frame::top_ijava_frame_abi_size +
   853   const int adapter_size = frame::top_ijava_frame_abi_size +
   857                            round_to(total_args_passed * wordSize, frame::alignment_in_bytes);
   854                            round_to(total_args_passed * wordSize, frame::alignment_in_bytes);
   858 
       
   859 
   855 
   860   // regular (verified) c2i entry point
   856   // regular (verified) c2i entry point
   861   c2i_entrypoint = __ pc();
   857   c2i_entrypoint = __ pc();
   862 
   858 
   863   // Does compiled code exists? If yes, patch the caller's callsite.
   859   // Does compiled code exists? If yes, patch the caller's callsite.