assert(_frame_size == size, "can't change the frame size"); } void StubAssembler::set_num_rt_args(int args) { if (_num_rt_args == 0) { _num_rt_args = args; } assert(_num_rt_args == args, "can't change the number of args"); } // Implementation of Runtime1 CodeBlob* Runtime1::_blobs[Runtime1::number_of_ids]; const char *Runtime1::_blob_names[] = { RUNTIME1_STUBS(STUB_NAME, LAST_STUB_NAME) }; #ifndef PRODUCT // statistics int Runtime1::_generic_arraycopy_cnt = 0; int Runtime1::_primitive_arraycopy_cnt = 0; int Runtime1::_oop_arraycopy_cnt = 0; int Runtime1::_arraycopy_slowcase_cnt = 0; int Runtime1::_new_type_array_slowcase_cnt = 0; int Runtime1::_new_object_array_slowcase_cnt = 0; int Runtime1::_new_instance_slowcase_cnt = 0; int Runtime1::_new_multi_array_slowcase_cnt = 0; int Runtime1::_monitorenter_slowcase_cnt = 0; int Runtime1::_monitorexit_slowcase_cnt = 0; int Runtime1::_patch_code_slowcase_cnt = 0;
stub(fpu2long_stub) \ stub(counter_overflow) \ last_entry(number_of_ids) #define DECLARE_STUB_ID(x) x ## _id , #define DECLARE_LAST_STUB_ID(x) x #define STUB_NAME(x) #x " Runtime1 stub", #define LAST_STUB_NAME(x) #x " Runtime1 stub" class Runtime1: public AllStatic { friend class VMStructs; friend class ArrayCopyStub; public: enum StubID { RUNTIME1_STUBS(DECLARE_STUB_ID, DECLARE_LAST_STUB_ID) }; // statistics #ifndef PRODUCT static int _resolve_invoke_cnt; static int _handle_wrong_method_cnt; static int _ic_miss_cnt; static int _generic_arraycopy_cnt; static int _primitive_arraycopy_cnt; static int _oop_arraycopy_cnt; static int _arraycopy_slowcase_cnt; static int _new_type_array_slowcase_cnt; static int _new_object_array_slowcase_cnt; static int _new_instance_slowcase_cnt; static int _new_multi_array_slowcase_cnt;