hotspot/src/cpu/sparc/vm/macroAssembler_sparc.hpp
changeset 46294 345a46524a19
parent 40032 bc2e42cd23ea
child 46381 020219e46c86
equal deleted inserted replaced
46293:9a88f7fe04b5 46294:345a46524a19
     1 /*
     1 /*
     2  * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1997, 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.
   602     address         entry_point,            // the entry point
   602     address         entry_point,            // the entry point
   603     int             number_of_arguments,    // the number of arguments (w/o thread) to pop after call
   603     int             number_of_arguments,    // the number of arguments (w/o thread) to pop after call
   604     bool            check_exception=true    // flag which indicates if exception should be checked
   604     bool            check_exception=true    // flag which indicates if exception should be checked
   605   );
   605   );
   606 
   606 
       
   607  public:
       
   608   MacroAssembler(CodeBuffer* code) : Assembler(code) {}
       
   609 
   607   // This routine should emit JVMTI PopFrame and ForceEarlyReturn handling code.
   610   // This routine should emit JVMTI PopFrame and ForceEarlyReturn handling code.
   608   // The implementation is only non-empty for the InterpreterMacroAssembler,
   611   // The implementation is only non-empty for the InterpreterMacroAssembler,
   609   // as only the interpreter handles and ForceEarlyReturn PopFrame requests.
   612   // as only the interpreter handles and ForceEarlyReturn PopFrame requests.
   610   virtual void check_and_handle_popframe(Register scratch_reg);
   613   virtual void check_and_handle_popframe(Register scratch_reg);
   611   virtual void check_and_handle_earlyret(Register scratch_reg);
   614   virtual void check_and_handle_earlyret(Register scratch_reg);
   612 
       
   613  public:
       
   614   MacroAssembler(CodeBuffer* code) : Assembler(code) {}
       
   615 
   615 
   616   // Support for NULL-checks
   616   // Support for NULL-checks
   617   //
   617   //
   618   // Generates code that causes a NULL OS exception if the content of reg is NULL.
   618   // Generates code that causes a NULL OS exception if the content of reg is NULL.
   619   // If the accessed location is M[reg + offset] and the offset is known, provide the
   619   // If the accessed location is M[reg + offset] and the offset is known, provide the