< prev index next >

src/hotspot/cpu/x86/stubGenerator_x86_64.hpp

Print this page

534   static address Ctable;
535   static address SC_1;
536   static address SC_2;
537   static address SC_3;
538   static address SC_4;
539   static address PI_4;
540   static address P_1;
541   static address P_3;
542   static address P_2;
543 
544   void generate_libm_stubs();
545 
546 
547   address generate_cont_thaw(const char* label, Continuation::thaw_kind kind);
548   address generate_cont_thaw();
549 
550   // TODO: will probably need multiple return barriers depending on return type
551   address generate_cont_returnBarrier();
552   address generate_cont_returnBarrier_exception();
553 




554 #if INCLUDE_JFR
555   void generate_jfr_stubs();
556   // For c2: c_rarg0 is junk, call to runtime to write a checkpoint.
557   // It returns a jobject handle to the event writer.
558   // The handle is dereferenced and the return value is the event writer oop.
559   RuntimeStub* generate_jfr_write_checkpoint();
560   // For c2: call to runtime to return a buffer lease.
561   RuntimeStub* generate_jfr_return_lease();
562 #endif // INCLUDE_JFR
563 
564   // Continuation point for throwing of implicit exceptions that are
565   // not handled in the current activation. Fabricates an exception
566   // oop and initiates normal exception dispatching in this
567   // frame. Since we need to preserve callee-saved values (currently
568   // only for C2, but done for C1 as well) we need a callee-saved oop
569   // map and therefore have to make these stubs into RuntimeStubs
570   // rather than BufferBlobs.  If the compiler needs all registers to
571   // be preserved between the fault point and the exception handler
572   // then it must assume responsibility for that in
573   // AbstractCompiler::continuation_for_implicit_null_exception or

534   static address Ctable;
535   static address SC_1;
536   static address SC_2;
537   static address SC_3;
538   static address SC_4;
539   static address PI_4;
540   static address P_1;
541   static address P_3;
542   static address P_2;
543 
544   void generate_libm_stubs();
545 
546 
547   address generate_cont_thaw(const char* label, Continuation::thaw_kind kind);
548   address generate_cont_thaw();
549 
550   // TODO: will probably need multiple return barriers depending on return type
551   address generate_cont_returnBarrier();
552   address generate_cont_returnBarrier_exception();
553 
554   address generate_cont_preempt_stub();
555   address generate_cont_preempt_monitorenter_redo();
556   address generate_cont_preempt_rerun_compiler_adapter();
557 
558 #if INCLUDE_JFR
559   void generate_jfr_stubs();
560   // For c2: c_rarg0 is junk, call to runtime to write a checkpoint.
561   // It returns a jobject handle to the event writer.
562   // The handle is dereferenced and the return value is the event writer oop.
563   RuntimeStub* generate_jfr_write_checkpoint();
564   // For c2: call to runtime to return a buffer lease.
565   RuntimeStub* generate_jfr_return_lease();
566 #endif // INCLUDE_JFR
567 
568   // Continuation point for throwing of implicit exceptions that are
569   // not handled in the current activation. Fabricates an exception
570   // oop and initiates normal exception dispatching in this
571   // frame. Since we need to preserve callee-saved values (currently
572   // only for C2, but done for C1 as well) we need a callee-saved oop
573   // map and therefore have to make these stubs into RuntimeStubs
574   // rather than BufferBlobs.  If the compiler needs all registers to
575   // be preserved between the fault point and the exception handler
576   // then it must assume responsibility for that in
577   // AbstractCompiler::continuation_for_implicit_null_exception or
< prev index next >