< prev index next >

src/hotspot/cpu/x86/stubGenerator_x86_64.hpp

Print this page

569   static address SC_3;
570   static address SC_4;
571   static address PI_4;
572   static address P_1;
573   static address P_3;
574   static address P_2;
575 
576   void generate_libm_stubs();
577 
578 #ifdef COMPILER2
579   void generate_string_indexof(address *fnptrs);
580 #endif
581 
582   address generate_cont_thaw(const char* label, Continuation::thaw_kind kind);
583   address generate_cont_thaw();
584 
585   // TODO: will probably need multiple return barriers depending on return type
586   address generate_cont_returnBarrier();
587   address generate_cont_returnBarrier_exception();
588 




589 #if INCLUDE_JFR
590   void generate_jfr_stubs();
591   // For c2: c_rarg0 is junk, call to runtime to write a checkpoint.
592   // It returns a jobject handle to the event writer.
593   // The handle is dereferenced and the return value is the event writer oop.
594   RuntimeStub* generate_jfr_write_checkpoint();
595   // For c2: call to runtime to return a buffer lease.
596   RuntimeStub* generate_jfr_return_lease();
597 #endif // INCLUDE_JFR
598 
599   // Continuation point for throwing of implicit exceptions that are
600   // not handled in the current activation. Fabricates an exception
601   // oop and initiates normal exception dispatching in this
602   // frame. Since we need to preserve callee-saved values (currently
603   // only for C2, but done for C1 as well) we need a callee-saved oop
604   // map and therefore have to make these stubs into RuntimeStubs
605   // rather than BufferBlobs.  If the compiler needs all registers to
606   // be preserved between the fault point and the exception handler
607   // then it must assume responsibility for that in
608   // AbstractCompiler::continuation_for_implicit_null_exception or

569   static address SC_3;
570   static address SC_4;
571   static address PI_4;
572   static address P_1;
573   static address P_3;
574   static address P_2;
575 
576   void generate_libm_stubs();
577 
578 #ifdef COMPILER2
579   void generate_string_indexof(address *fnptrs);
580 #endif
581 
582   address generate_cont_thaw(const char* label, Continuation::thaw_kind kind);
583   address generate_cont_thaw();
584 
585   // TODO: will probably need multiple return barriers depending on return type
586   address generate_cont_returnBarrier();
587   address generate_cont_returnBarrier_exception();
588 
589   address generate_cont_preempt_stub();
590   address generate_cont_resume_monitor_operation();
591   address generate_cont_resume_compiler_adapter();
592 
593 #if INCLUDE_JFR
594   void generate_jfr_stubs();
595   // For c2: c_rarg0 is junk, call to runtime to write a checkpoint.
596   // It returns a jobject handle to the event writer.
597   // The handle is dereferenced and the return value is the event writer oop.
598   RuntimeStub* generate_jfr_write_checkpoint();
599   // For c2: call to runtime to return a buffer lease.
600   RuntimeStub* generate_jfr_return_lease();
601 #endif // INCLUDE_JFR
602 
603   // Continuation point for throwing of implicit exceptions that are
604   // not handled in the current activation. Fabricates an exception
605   // oop and initiates normal exception dispatching in this
606   // frame. Since we need to preserve callee-saved values (currently
607   // only for C2, but done for C1 as well) we need a callee-saved oop
608   // map and therefore have to make these stubs into RuntimeStubs
609   // rather than BufferBlobs.  If the compiler needs all registers to
610   // be preserved between the fault point and the exception handler
611   // then it must assume responsibility for that in
612   // AbstractCompiler::continuation_for_implicit_null_exception or
< prev index next >