< prev index next >

src/hotspot/cpu/x86/stubGenerator_x86_64.hpp

Print this page

563   static address Ctable;
564   static address SC_1;
565   static address SC_2;
566   static address SC_3;
567   static address SC_4;
568   static address PI_4;
569   static address P_1;
570   static address P_3;
571   static address P_2;
572 
573   void generate_libm_stubs();
574 
575 
576   address generate_cont_thaw(const char* label, Continuation::thaw_kind kind);
577   address generate_cont_thaw();
578 
579   // TODO: will probably need multiple return barriers depending on return type
580   address generate_cont_returnBarrier();
581   address generate_cont_returnBarrier_exception();
582 




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

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