# HG changeset patch # User mdoerr # Date 1448296071 -3600 # Node ID b0974a00216fba9dd90f448f2935ebb483ed52ab # Parent e29bf04214ededf7fcb453d98ab169f674a33ba7 imported patch c1_runtime_call.patch diff --git a/src/share/vm/c1/c1_LIRGenerator.cpp b/src/share/vm/c1/c1_LIRGenerator.cpp --- a/src/share/vm/c1/c1_LIRGenerator.cpp +++ b/src/share/vm/c1/c1_LIRGenerator.cpp @@ -3057,6 +3057,11 @@ void LIRGenerator::do_RuntimeCall(address routine, int expected_arguments, Intrinsic* x) { assert(x->number_of_arguments() == expected_arguments, "wrong type"); + if (expected_arguments == 0) { + // No arguments. Enforce computation of _reserved_argument_area_size which is required on some platforms. + BasicTypeList signature; + CallingConvention* cc = frame_map()->c_calling_convention(&signature); + } LIR_Opr reg = result_register_for(x->type()); __ call_runtime_leaf(routine, getThreadTemp(), reg, new LIR_OprList());