1.1 --- a/src/cpu/mips/vm/templateInterpreter_mips_64.cpp Mon Sep 03 14:27:42 2018 +0800 1.2 +++ b/src/cpu/mips/vm/templateInterpreter_mips_64.cpp Tue Sep 04 21:25:12 2018 +0800 1.3 @@ -128,10 +128,6 @@ 1.4 address TemplateInterpreterGenerator::generate_ClassCastException_handler() { 1.5 address entry = __ pc(); 1.6 1.7 - // object is at TOS 1.8 - //FIXME, I am not sure if the object is at TOS as x86 do now @jerome, 04/20,2007 1.9 - //__ pop(c_rarg1); 1.10 - 1.11 // expression stack must be empty before entering the VM if an 1.12 // exception happened 1.13 __ empty_expression_stack(); 1.14 @@ -261,8 +257,6 @@ 1.15 } 1.16 1.17 1.18 -// why do not consider float and double , @jerome, 12/27,06, @jerome 1.19 -//FIXME, aoqi 1.20 address TemplateInterpreterGenerator::generate_result_handler_for( 1.21 BasicType type) { 1.22 address entry = __ pc(); 1.23 @@ -451,7 +445,6 @@ 1.24 #endif 1.25 1.26 // locals + overhead, in bytes 1.27 - //FIXME aoqi 1.28 __ dsll(T3, T2, Interpreter::stackElementScale()); 1.29 __ daddiu(T3, T3, overhead_size); // locals * 4 + overhead_size --> T3 1.30 1.31 @@ -557,7 +550,7 @@ 1.32 __ sd(FP, SP, (-2) * wordSize); // save sender's fp 1.33 __ daddiu(FP, SP, (-2) * wordSize); 1.34 __ sd(Rsender, FP, (-++i) * wordSize); // save sender's sp 1.35 - __ sd(R0, FP,(-++i)*wordSize); //save last_sp as null, FIXME aoqi 1.36 + __ sd(R0, FP,(-++i)*wordSize); //save last_sp as null 1.37 __ sd(LVP, FP, (-++i) * wordSize); // save locals offset 1.38 __ ld(BCP, Rmethod, in_bytes(Method::const_offset())); // get constMethodOop 1.39 __ daddiu(BCP, BCP, in_bytes(ConstMethod::codes_offset())); // get codebase 1.40 @@ -1046,9 +1039,8 @@ 1.41 { 1.42 Label L, Lstatic; 1.43 __ ld(t,method,in_bytes(Method::const_offset())); 1.44 - __ lhu(t, t, in_bytes(ConstMethod::size_of_parameters_offset())); // Fu: 20130814 1.45 + __ lhu(t, t, in_bytes(ConstMethod::size_of_parameters_offset())); 1.46 // MIPS n64 ABI: caller does not reserve space for the register auguments. 1.47 - //FIXME, aoqi: A1? 1.48 // A0 and A1(if needed) 1.49 __ lw(AT, Rmethod, in_bytes(Method::access_flags_offset())); 1.50 __ andi(AT, AT, JVM_ACC_STATIC); 1.51 @@ -1198,7 +1190,6 @@ 1.52 __ get_thread(thread); 1.53 #endif 1.54 __ daddi(t, thread, in_bytes(JavaThread::jni_environment_offset())); 1.55 - // stack,but I think it won't work when pass float,double etc @jerome,10/17,2006 1.56 __ move(A0, t); 1.57 // [ jni environment ] <--- sp 1.58 // [ mthd holder mirror ptr ] ---------------------------->| (only for static method) 1.59 @@ -2184,7 +2175,7 @@ 1.60 // prepare expression stack 1.61 __ push(state); // save tosca 1.62 1.63 - // tos & tos2, added by yjl 7/15/2005 1.64 + // tos & tos2 1.65 // trace_bytecode need actually 4 args, the last two is tos&tos2 1.66 // this work fine for x86. but mips o32 call convention will store A2-A3 1.67 // to the stack position it think is the tos&tos2