22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "classfile/javaClasses.inline.hpp"
27 #include "classfile/stringTable.hpp"
28 #include "code/codeCache.hpp"
29 #include "code/dependencyContext.hpp"
30 #include "compiler/compileBroker.hpp"
31 #include "interpreter/interpreter.hpp"
32 #include "interpreter/oopMapCache.hpp"
33 #include "interpreter/linkResolver.hpp"
34 #include "memory/allocation.inline.hpp"
35 #include "memory/oopFactory.hpp"
36 #include "memory/resourceArea.hpp"
37 #include "oops/objArrayOop.inline.hpp"
38 #include "oops/oop.inline.hpp"
39 #include "oops/typeArrayOop.inline.hpp"
40 #include "prims/methodHandles.hpp"
41 #include "runtime/compilationPolicy.hpp"
42 #include "runtime/interfaceSupport.inline.hpp"
43 #include "runtime/javaCalls.hpp"
44 #include "runtime/jniHandles.inline.hpp"
45 #include "runtime/timerTrace.hpp"
46 #include "runtime/reflection.hpp"
47 #include "runtime/safepointVerifiers.hpp"
48 #include "runtime/signature.hpp"
49 #include "runtime/stubRoutines.hpp"
50 #include "utilities/exceptions.hpp"
51
52
53 /*
54 * JSR 292 reference implementation: method handles
55 * The JDK 7 reference implementation represented method handle
56 * combinations as chains. Each link in the chain had a "vmentry"
57 * field which pointed at a bit of assembly code which performed
58 * one transformation before dispatching to the next link in the chain.
59 *
60 * The current reference implementation pushes almost all code generation
61 * responsibility to (trusted) Java code. A method handle contains a
|
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "classfile/javaClasses.inline.hpp"
27 #include "classfile/stringTable.hpp"
28 #include "code/codeCache.hpp"
29 #include "code/dependencyContext.hpp"
30 #include "compiler/compileBroker.hpp"
31 #include "interpreter/interpreter.hpp"
32 #include "interpreter/oopMapCache.hpp"
33 #include "interpreter/linkResolver.hpp"
34 #include "memory/allocation.inline.hpp"
35 #include "memory/oopFactory.hpp"
36 #include "memory/resourceArea.hpp"
37 #include "oops/objArrayOop.inline.hpp"
38 #include "oops/oop.inline.hpp"
39 #include "oops/typeArrayOop.inline.hpp"
40 #include "prims/methodHandles.hpp"
41 #include "runtime/compilationPolicy.hpp"
42 #include "runtime/fieldDescriptor.inline.hpp"
43 #include "runtime/interfaceSupport.inline.hpp"
44 #include "runtime/javaCalls.hpp"
45 #include "runtime/jniHandles.inline.hpp"
46 #include "runtime/timerTrace.hpp"
47 #include "runtime/reflection.hpp"
48 #include "runtime/safepointVerifiers.hpp"
49 #include "runtime/signature.hpp"
50 #include "runtime/stubRoutines.hpp"
51 #include "utilities/exceptions.hpp"
52
53
54 /*
55 * JSR 292 reference implementation: method handles
56 * The JDK 7 reference implementation represented method handle
57 * combinations as chains. Each link in the chain had a "vmentry"
58 * field which pointed at a bit of assembly code which performed
59 * one transformation before dispatching to the next link in the chain.
60 *
61 * The current reference implementation pushes almost all code generation
62 * responsibility to (trusted) Java code. A method handle contains a
|