hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.hpp
changeset 46294 345a46524a19
parent 40643 49539fc14e5a
child 46427 54713555867e
equal deleted inserted replaced
46293:9a88f7fe04b5 46294:345a46524a19
     1 /*
     1 /*
     2  * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
     3  * Copyright (c) 2014, 2015, Red Hat Inc. All rights reserved.
     3  * Copyright (c) 2014, 2015, Red Hat Inc. All rights reserved.
     4  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     5  *
     5  *
     6  * This code is free software; you can redistribute it and/or modify it
     6  * This code is free software; you can redistribute it and/or modify it
     7  * under the terms of the GNU General Public License version 2 only, as
     7  * under the terms of the GNU General Public License version 2 only, as
    52                             Register last_java_sp,
    52                             Register last_java_sp,
    53                             address  entry_point,
    53                             address  entry_point,
    54                             int number_of_arguments,
    54                             int number_of_arguments,
    55                             bool check_exceptions);
    55                             bool check_exceptions);
    56 
    56 
       
    57   // base routine for all dispatches
       
    58   void dispatch_base(TosState state, address* table, bool verifyoop = true);
       
    59 
       
    60  public:
       
    61   InterpreterMacroAssembler(CodeBuffer* code) : MacroAssembler(code) {}
       
    62 
       
    63   void load_earlyret_value(TosState state);
       
    64 
       
    65   void jump_to_entry(address entry);
       
    66 
    57   virtual void check_and_handle_popframe(Register java_thread);
    67   virtual void check_and_handle_popframe(Register java_thread);
    58   virtual void check_and_handle_earlyret(Register java_thread);
    68   virtual void check_and_handle_earlyret(Register java_thread);
    59 
       
    60   // base routine for all dispatches
       
    61   void dispatch_base(TosState state, address* table, bool verifyoop = true);
       
    62 
       
    63  public:
       
    64   InterpreterMacroAssembler(CodeBuffer* code) : MacroAssembler(code) {}
       
    65 
       
    66   void load_earlyret_value(TosState state);
       
    67 
       
    68   void jump_to_entry(address entry);
       
    69 
    69 
    70   // Interpreter-specific registers
    70   // Interpreter-specific registers
    71   void save_bcp() {
    71   void save_bcp() {
    72     str(rbcp, Address(rfp, frame::interpreter_frame_bcp_offset * wordSize));
    72     str(rbcp, Address(rfp, frame::interpreter_frame_bcp_offset * wordSize));
    73   }
    73   }