equal
deleted
inserted
replaced
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 |