hotspot/src/cpu/x86/vm/methodHandles_x86.hpp
changeset 9976 6fef34e63df1
parent 9630 d6419e4395e3
child 10031 e81ae8b523dc
equal deleted inserted replaced
9975:82190b49ce14 9976:6fef34e63df1
    22  *
    22  *
    23  */
    23  */
    24 
    24 
    25 // Platform-specific definitions for method handles.
    25 // Platform-specific definitions for method handles.
    26 // These definitions are inlined into class MethodHandles.
    26 // These definitions are inlined into class MethodHandles.
       
    27 
       
    28 // Adapters
       
    29 enum /* platform_dependent_constants */ {
       
    30   adapter_code_size = NOT_LP64(30000 DEBUG_ONLY(+ 10000)) LP64_ONLY(80000 DEBUG_ONLY(+ 120000))
       
    31 };
    27 
    32 
    28 public:
    33 public:
    29 
    34 
    30 // The stack just after the recursive call from a ricochet frame
    35 // The stack just after the recursive call from a ricochet frame
    31 // looks something like this.  Offsets are marked in words, not bytes.
    36 // looks something like this.  Offsets are marked in words, not bytes.
   186   void verify() const NOT_DEBUG_RETURN; // check for MAGIC_NUMBER, etc.
   191   void verify() const NOT_DEBUG_RETURN; // check for MAGIC_NUMBER, etc.
   187   void zap_arguments() NOT_DEBUG_RETURN;
   192   void zap_arguments() NOT_DEBUG_RETURN;
   188 
   193 
   189   static void generate_ricochet_blob(MacroAssembler* _masm,
   194   static void generate_ricochet_blob(MacroAssembler* _masm,
   190                                      // output params:
   195                                      // output params:
   191                                      int* frame_size_in_words, int* bounce_offset, int* exception_offset);
   196                                      int* bounce_offset,
       
   197                                      int* exception_offset,
       
   198                                      int* frame_size_in_words);
   192 
   199 
   193   static void enter_ricochet_frame(MacroAssembler* _masm,
   200   static void enter_ricochet_frame(MacroAssembler* _masm,
   194                                    Register rcx_recv,
   201                                    Register rcx_recv,
   195                                    Register rax_argv,
   202                                    Register rax_argv,
   196                                    address return_handler,
   203                                    address return_handler,