hotspot/src/share/vm/interpreter/templateInterpreter.hpp
changeset 2534 08dac9ce0cd7
parent 2131 98f9cef66a34
child 2570 ecc7862946d4
equal deleted inserted replaced
2533:9aa50ba9a67f 2534:08dac9ce0cd7
     1 /*
     1 /*
     2  * Copyright 1997-2007 Sun Microsystems, Inc.  All Rights Reserved.
     2  * Copyright 1997-2009 Sun Microsystems, Inc.  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.
    75 
    75 
    76 class TemplateInterpreter: public AbstractInterpreter {
    76 class TemplateInterpreter: public AbstractInterpreter {
    77   friend class VMStructs;
    77   friend class VMStructs;
    78   friend class InterpreterMacroAssembler;
    78   friend class InterpreterMacroAssembler;
    79   friend class TemplateInterpreterGenerator;
    79   friend class TemplateInterpreterGenerator;
       
    80   friend class InterpreterGenerator;
    80   friend class TemplateTable;
    81   friend class TemplateTable;
    81   // friend class Interpreter;
    82   // friend class Interpreter;
    82  public:
    83  public:
    83 
    84 
    84   enum MoreConstants {
    85   enum MoreConstants {
    91 
    92 
    92   static address    _throw_ArrayIndexOutOfBoundsException_entry;
    93   static address    _throw_ArrayIndexOutOfBoundsException_entry;
    93   static address    _throw_ArrayStoreException_entry;
    94   static address    _throw_ArrayStoreException_entry;
    94   static address    _throw_ArithmeticException_entry;
    95   static address    _throw_ArithmeticException_entry;
    95   static address    _throw_ClassCastException_entry;
    96   static address    _throw_ClassCastException_entry;
       
    97   static address    _throw_WrongMethodType_entry;
    96   static address    _throw_NullPointerException_entry;
    98   static address    _throw_NullPointerException_entry;
    97   static address    _throw_exception_entry;
    99   static address    _throw_exception_entry;
    98 
   100 
    99   static address    _throw_StackOverflowError_entry;
   101   static address    _throw_StackOverflowError_entry;
   100 
   102 
   135 #endif // HOTSWAP
   137 #endif // HOTSWAP
   136 
   138 
   137   static address    remove_activation_entry()                   { return _remove_activation_entry; }
   139   static address    remove_activation_entry()                   { return _remove_activation_entry; }
   138   static address    throw_exception_entry()                     { return _throw_exception_entry; }
   140   static address    throw_exception_entry()                     { return _throw_exception_entry; }
   139   static address    throw_ArithmeticException_entry()           { return _throw_ArithmeticException_entry; }
   141   static address    throw_ArithmeticException_entry()           { return _throw_ArithmeticException_entry; }
       
   142   static address    throw_WrongMethodType_entry()               { return _throw_WrongMethodType_entry; }
   140   static address    throw_NullPointerException_entry()          { return _throw_NullPointerException_entry; }
   143   static address    throw_NullPointerException_entry()          { return _throw_NullPointerException_entry; }
   141   static address    throw_StackOverflowError_entry()            { return _throw_StackOverflowError_entry; }
   144   static address    throw_StackOverflowError_entry()            { return _throw_StackOverflowError_entry; }
   142 
   145 
   143   // Code generation
   146   // Code generation
   144 #ifndef PRODUCT
   147 #ifndef PRODUCT