hotspot/src/cpu/arm/vm/interp_masm_arm.hpp
changeset 46294 345a46524a19
parent 42664 29142a56c193
child 46300 b8c77e61e99e
equal deleted inserted replaced
46293:9a88f7fe04b5 46294:345a46524a19
     1 /*
     1 /*
     2  * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2008, 2017, 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.
    51  protected:
    51  protected:
    52 
    52 
    53   // Template interpreter specific version of call_VM_helper
    53   // Template interpreter specific version of call_VM_helper
    54   virtual void call_VM_helper(Register oop_result, address entry_point, int number_of_arguments, bool check_exceptions);
    54   virtual void call_VM_helper(Register oop_result, address entry_point, int number_of_arguments, bool check_exceptions);
    55 
    55 
    56   virtual void check_and_handle_popframe();
       
    57   virtual void check_and_handle_earlyret();
       
    58 
       
    59   // base routine for all dispatches
    56   // base routine for all dispatches
    60   typedef enum { DispatchDefault, DispatchNormal } DispatchTableMode;
    57   typedef enum { DispatchDefault, DispatchNormal } DispatchTableMode;
    61   void dispatch_base(TosState state, DispatchTableMode table_mode, bool verifyoop = true);
    58   void dispatch_base(TosState state, DispatchTableMode table_mode, bool verifyoop = true);
    62 
    59 
    63  public:
    60  public:
    64   InterpreterMacroAssembler(CodeBuffer* code);
    61   InterpreterMacroAssembler(CodeBuffer* code);
       
    62 
       
    63   virtual void check_and_handle_popframe();
       
    64   virtual void check_and_handle_earlyret();
    65 
    65 
    66   // Interpreter-specific registers
    66   // Interpreter-specific registers
    67 #if defined(AARCH64) && defined(ASSERT)
    67 #if defined(AARCH64) && defined(ASSERT)
    68 
    68 
    69 #define check_stack_top()               _check_stack_top("invalid Rstack_top at " __FILE__ ":" XSTR(__LINE__))
    69 #define check_stack_top()               _check_stack_top("invalid Rstack_top at " __FILE__ ":" XSTR(__LINE__))