787 break;
788
789 case access_field_patching_id:
790 { __ set_info("access_field_patching", dont_gc_arguments);
791 oop_maps = generate_patching(sasm, CAST_FROM_FN_PTR(address, access_field_patching));
792 }
793 break;
794
795 case load_klass_patching_id:
796 { __ set_info("load_klass_patching", dont_gc_arguments);
797 oop_maps = generate_patching(sasm, CAST_FROM_FN_PTR(address, move_klass_patching));
798 }
799 break;
800
801 case load_mirror_patching_id:
802 { __ set_info("load_mirror_patching", dont_gc_arguments);
803 oop_maps = generate_patching(sasm, CAST_FROM_FN_PTR(address, move_mirror_patching));
804 }
805 break;
806
807 case dtrace_object_alloc_id:
808 { // O0: object
809 __ set_info("dtrace_object_alloc", dont_gc_arguments);
810 // we can't gc here so skip the oopmap but make sure that all
811 // the live registers get saved.
812 save_live_registers(sasm);
813
814 __ save_thread(L7_thread_cache);
815 __ call(CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_object_alloc),
816 relocInfo::runtime_call_type);
817 __ delayed()->mov(I0, O0);
818 __ restore_thread(L7_thread_cache);
819
820 restore_live_registers(sasm);
821 __ ret();
822 __ delayed()->restore();
823 }
824 break;
825
826 #if INCLUDE_ALL_GCS
|
787 break;
788
789 case access_field_patching_id:
790 { __ set_info("access_field_patching", dont_gc_arguments);
791 oop_maps = generate_patching(sasm, CAST_FROM_FN_PTR(address, access_field_patching));
792 }
793 break;
794
795 case load_klass_patching_id:
796 { __ set_info("load_klass_patching", dont_gc_arguments);
797 oop_maps = generate_patching(sasm, CAST_FROM_FN_PTR(address, move_klass_patching));
798 }
799 break;
800
801 case load_mirror_patching_id:
802 { __ set_info("load_mirror_patching", dont_gc_arguments);
803 oop_maps = generate_patching(sasm, CAST_FROM_FN_PTR(address, move_mirror_patching));
804 }
805 break;
806
807 case load_appendix_patching_id:
808 { __ set_info("load_appendix_patching", dont_gc_arguments);
809 oop_maps = generate_patching(sasm, CAST_FROM_FN_PTR(address, move_appendix_patching));
810 }
811 break;
812
813 case dtrace_object_alloc_id:
814 { // O0: object
815 __ set_info("dtrace_object_alloc", dont_gc_arguments);
816 // we can't gc here so skip the oopmap but make sure that all
817 // the live registers get saved.
818 save_live_registers(sasm);
819
820 __ save_thread(L7_thread_cache);
821 __ call(CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_object_alloc),
822 relocInfo::runtime_call_type);
823 __ delayed()->mov(I0, O0);
824 __ restore_thread(L7_thread_cache);
825
826 restore_live_registers(sasm);
827 __ ret();
828 __ delayed()->restore();
829 }
830 break;
831
832 #if INCLUDE_ALL_GCS
|