1173 |
1173 |
1174 void LIRGenerator::do_Return(Return* x) { |
1174 void LIRGenerator::do_Return(Return* x) { |
1175 if (compilation()->env()->dtrace_method_probes()) { |
1175 if (compilation()->env()->dtrace_method_probes()) { |
1176 BasicTypeList signature; |
1176 BasicTypeList signature; |
1177 signature.append(LP64_ONLY(T_LONG) NOT_LP64(T_INT)); // thread |
1177 signature.append(LP64_ONLY(T_LONG) NOT_LP64(T_INT)); // thread |
1178 signature.append(T_OBJECT); // Method* |
1178 signature.append(T_METADATA); // Method* |
1179 LIR_OprList* args = new LIR_OprList(); |
1179 LIR_OprList* args = new LIR_OprList(); |
1180 args->append(getThreadPointer()); |
1180 args->append(getThreadPointer()); |
1181 LIR_Opr meth = new_register(T_METADATA); |
1181 LIR_Opr meth = new_register(T_METADATA); |
1182 __ metadata2reg(method()->constant_encoding(), meth); |
1182 __ metadata2reg(method()->constant_encoding(), meth); |
1183 args->append(meth); |
1183 args->append(meth); |
2718 } |
2718 } |
2719 |
2719 |
2720 if (compilation()->env()->dtrace_method_probes()) { |
2720 if (compilation()->env()->dtrace_method_probes()) { |
2721 BasicTypeList signature; |
2721 BasicTypeList signature; |
2722 signature.append(LP64_ONLY(T_LONG) NOT_LP64(T_INT)); // thread |
2722 signature.append(LP64_ONLY(T_LONG) NOT_LP64(T_INT)); // thread |
2723 signature.append(T_OBJECT); // Method* |
2723 signature.append(T_METADATA); // Method* |
2724 LIR_OprList* args = new LIR_OprList(); |
2724 LIR_OprList* args = new LIR_OprList(); |
2725 args->append(getThreadPointer()); |
2725 args->append(getThreadPointer()); |
2726 LIR_Opr meth = new_register(T_METADATA); |
2726 LIR_Opr meth = new_register(T_METADATA); |
2727 __ metadata2reg(method()->constant_encoding(), meth); |
2727 __ metadata2reg(method()->constant_encoding(), meth); |
2728 args->append(meth); |
2728 args->append(meth); |
3329 void LIRGenerator::do_RuntimeCall(RuntimeCall* x) { |
3329 void LIRGenerator::do_RuntimeCall(RuntimeCall* x) { |
3330 LIR_OprList* args = new LIR_OprList(x->number_of_arguments()); |
3330 LIR_OprList* args = new LIR_OprList(x->number_of_arguments()); |
3331 BasicTypeList* signature = new BasicTypeList(x->number_of_arguments()); |
3331 BasicTypeList* signature = new BasicTypeList(x->number_of_arguments()); |
3332 |
3332 |
3333 if (x->pass_thread()) { |
3333 if (x->pass_thread()) { |
3334 signature->append(T_ADDRESS); |
3334 signature->append(LP64_ONLY(T_LONG) NOT_LP64(T_INT)); // thread |
3335 args->append(getThreadPointer()); |
3335 args->append(getThreadPointer()); |
3336 } |
3336 } |
3337 |
3337 |
3338 for (int i = 0; i < x->number_of_arguments(); i++) { |
3338 for (int i = 0; i < x->number_of_arguments(); i++) { |
3339 Value a = x->argument_at(i); |
3339 Value a = x->argument_at(i); |