Mercurial > hg > graal-compiler
comparison src/share/vm/interpreter/abstractInterpreter.hpp @ 710:e5b0439ef4ae
6655638: dynamic languages need method handles
Summary: initial implementation, with known omissions (x86/64, sparc, compiler optim., c-oops, C++ interp.)
Reviewed-by: kvn, twisti, never
author | jrose |
---|---|
date | Wed, 08 Apr 2009 10:56:49 -0700 |
parents | 98cb887364d3 |
children | be93aad57795 |
comparison
equal
deleted
inserted
replaced
709:1d037ecd7960 | 710:e5b0439ef4ae |
---|---|
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. |
59 native, // native method | 59 native, // native method |
60 native_synchronized, // native method & is synchronized | 60 native_synchronized, // native method & is synchronized |
61 empty, // empty method (code: _return) | 61 empty, // empty method (code: _return) |
62 accessor, // accessor method (code: _aload_0, _getfield, _(a|i)return) | 62 accessor, // accessor method (code: _aload_0, _getfield, _(a|i)return) |
63 abstract, // abstract method (throws an AbstractMethodException) | 63 abstract, // abstract method (throws an AbstractMethodException) |
64 method_handle, // java.dyn.MethodHandles::invoke | |
64 java_lang_math_sin, // implementation of java.lang.Math.sin (x) | 65 java_lang_math_sin, // implementation of java.lang.Math.sin (x) |
65 java_lang_math_cos, // implementation of java.lang.Math.cos (x) | 66 java_lang_math_cos, // implementation of java.lang.Math.cos (x) |
66 java_lang_math_tan, // implementation of java.lang.Math.tan (x) | 67 java_lang_math_tan, // implementation of java.lang.Math.tan (x) |
67 java_lang_math_abs, // implementation of java.lang.Math.abs (x) | 68 java_lang_math_abs, // implementation of java.lang.Math.abs (x) |
68 java_lang_math_sqrt, // implementation of java.lang.Math.sqrt (x) | 69 java_lang_math_sqrt, // implementation of java.lang.Math.sqrt (x) |
89 static address _native_abi_to_tosca[number_of_result_handlers]; // for native method result handlers | 90 static address _native_abi_to_tosca[number_of_result_handlers]; // for native method result handlers |
90 static address _slow_signature_handler; // the native method generic (slow) signature handler | 91 static address _slow_signature_handler; // the native method generic (slow) signature handler |
91 | 92 |
92 static address _rethrow_exception_entry; // rethrows an activation in previous frame | 93 static address _rethrow_exception_entry; // rethrows an activation in previous frame |
93 | 94 |
94 | |
95 | |
96 friend class AbstractInterpreterGenerator; | 95 friend class AbstractInterpreterGenerator; |
97 friend class InterpreterGenerator; | 96 friend class InterpreterGenerator; |
98 friend class InterpreterMacroAssembler; | 97 friend class InterpreterMacroAssembler; |
99 | 98 |
100 public: | 99 public: |