hotspot/src/share/vm/interpreter/templateInterpreterGenerator.hpp
changeset 35479 62c12ca7a45e
parent 35214 d86005e0b4c2
child 39390 edf6a424a8b7
equal deleted inserted replaced
35474:8333d76c7fee 35479:62c12ca7a45e
     1 /*
     1 /*
     2  * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    59   address generate_safept_entry_for(TosState state, address runtime_entry);
    59   address generate_safept_entry_for(TosState state, address runtime_entry);
    60   void    generate_throw_exception();
    60   void    generate_throw_exception();
    61 
    61 
    62   void lock_method();
    62   void lock_method();
    63 
    63 
       
    64   void bang_stack_shadow_pages(bool native_call);
       
    65 
    64   // Instruction generation
    66   // Instruction generation
    65   void generate_and_dispatch (Template* t, TosState tos_out = ilgl);
    67   void generate_and_dispatch (Template* t, TosState tos_out = ilgl);
    66   void set_vtos_entry_points (Template* t, address& bep, address& cep, address& sep, address& aep, address& iep, address& lep, address& fep, address& dep, address& vep);
    68   void set_vtos_entry_points (Template* t, address& bep, address& cep, address& sep, address& aep, address& iep, address& lep, address& fep, address& dep, address& vep);
    67   void set_short_entry_points(Template* t, address& bep, address& cep, address& sep, address& aep, address& iep, address& lep, address& fep, address& dep, address& vep);
    69   void set_short_entry_points(Template* t, address& bep, address& cep, address& sep, address& aep, address& iep, address& lep, address& fep, address& dep, address& vep);
    68   void set_wide_entry_point  (Template* t, address& wep);
    70   void set_wide_entry_point  (Template* t, address& wep);
   111   void save_native_result(void);
   113   void save_native_result(void);
   112   void restore_native_result(void);
   114   void restore_native_result(void);
   113 #endif // SPARC
   115 #endif // SPARC
   114 
   116 
   115 #ifdef AARCH64
   117 #ifdef AARCH64
   116   void bang_stack_shadow_pages(bool native_call);
       
   117   void generate_transcendental_entry(AbstractInterpreter::MethodKind kind, int fpargs);
   118   void generate_transcendental_entry(AbstractInterpreter::MethodKind kind, int fpargs);
   118 #endif // AARCH64
   119 #endif // AARCH64
   119 
   120 
   120 #ifdef PPC
   121 #ifdef PPC
   121   void lock_method(Register Rflags, Register Rscratch1, Register Rscratch2, bool flags_preloaded=false);
   122   void lock_method(Register Rflags, Register Rscratch1, Register Rscratch2, bool flags_preloaded=false);