< prev index next >

src/hotspot/share/c1/c1_MacroAssembler.hpp

Print this page
*** 27,24 ***
  
  #include "asm/macroAssembler.hpp"
  #include "utilities/macros.hpp"
  
  class CodeEmitInfo;
! 
  class C1_MacroAssembler: public MacroAssembler {
   public:
    // creation
    C1_MacroAssembler(CodeBuffer* code) : MacroAssembler(code) { pd_init(); }
  
    //----------------------------------------------------
    void explicit_null_check(Register base);
  
    void inline_cache_check(Register receiver, Register iCache);
!   void build_frame(int frame_size_in_bytes, int bang_size_in_bytes);
!   void remove_frame(int frame_size_in_bytes);
! 
    void verified_entry(bool breakAtEntry);
    void verify_stack_oop(int offset) PRODUCT_RETURN;
    void verify_not_null_oop(Register r)  PRODUCT_RETURN;
  
  #include CPU_HEADER(c1_MacroAssembler)
  
--- 27,33 ---
  
  #include "asm/macroAssembler.hpp"
  #include "utilities/macros.hpp"
  
  class CodeEmitInfo;
! class CompiledEntrySignature;
  class C1_MacroAssembler: public MacroAssembler {
+  private:
+   int scalarized_entry(const CompiledEntrySignature* ces, int frame_size_in_bytes, int bang_size_in_bytes, int sp_offset_for_orig_pc, Label& verified_inline_entry_label, bool is_inline_ro_entry);
+   void build_frame_helper(int frame_size_in_bytes, int sp_offset_for_orig_pc, int sp_inc, bool reset_orig_pc, bool needs_stack_repair);
   public:
    // creation
    C1_MacroAssembler(CodeBuffer* code) : MacroAssembler(code) { pd_init(); }
  
    //----------------------------------------------------
    void explicit_null_check(Register base);
  
    void inline_cache_check(Register receiver, Register iCache);
!   void build_frame(int frame_size_in_bytes, int bang_size_in_bytes, int sp_offset_for_orig_pc = 0, bool needs_stack_repair = false, bool has_scalarized_args = false, Label* verified_inline_entry_label = nullptr);
! 
!   int verified_entry(const CompiledEntrySignature* ces, int frame_size_in_bytes, int bang_size_in_bytes, int sp_offset_for_orig_pc, Label& verified_inline_entry_label) {
+     return scalarized_entry(ces, frame_size_in_bytes, bang_size_in_bytes, sp_offset_for_orig_pc, verified_inline_entry_label, false);
+   }
+   int verified_inline_ro_entry(const CompiledEntrySignature* ces, int frame_size_in_bytes, int bang_size_in_bytes, int sp_offset_for_orig_pc, Label& verified_inline_entry_label) {
+     return scalarized_entry(ces, frame_size_in_bytes, bang_size_in_bytes, sp_offset_for_orig_pc, verified_inline_entry_label, true);
+   }
    void verified_entry(bool breakAtEntry);
+ 
    void verify_stack_oop(int offset) PRODUCT_RETURN;
    void verify_not_null_oop(Register r)  PRODUCT_RETURN;
  
  #include CPU_HEADER(c1_MacroAssembler)
  
< prev index next >