16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "classfile/classFileParser.hpp"
27 #include "classfile/classLoader.hpp"
28 #include "classfile/classLoaderData.inline.hpp"
29 #include "classfile/defaultMethods.hpp"
30 #include "classfile/javaClasses.inline.hpp"
31 #include "classfile/symbolTable.hpp"
32 #include "classfile/systemDictionary.hpp"
33 #include "classfile/verificationType.hpp"
34 #include "classfile/verifier.hpp"
35 #include "classfile/vmSymbols.hpp"
36 #include "memory/allocation.hpp"
37 #include "memory/gcLocker.hpp"
38 #include "memory/metadataFactory.hpp"
39 #include "memory/oopFactory.hpp"
40 #include "memory/referenceType.hpp"
41 #include "memory/resourceArea.hpp"
42 #include "memory/universe.inline.hpp"
43 #include "oops/constantPool.hpp"
44 #include "oops/fieldStreams.hpp"
45 #include "oops/instanceKlass.hpp"
46 #include "oops/instanceMirrorKlass.hpp"
47 #include "oops/klass.inline.hpp"
48 #include "oops/klassVtable.hpp"
49 #include "oops/method.hpp"
50 #include "oops/symbol.hpp"
51 #include "prims/jvm.h"
52 #include "prims/jvmtiExport.hpp"
53 #include "prims/jvmtiThreadState.hpp"
54 #include "runtime/javaCalls.hpp"
55 #include "runtime/perfData.hpp"
56 #include "runtime/reflection.hpp"
57 #include "runtime/signature.hpp"
58 #include "runtime/timer.hpp"
59 #include "services/classLoadingService.hpp"
60 #include "services/threadService.hpp"
61 #include "utilities/array.hpp"
62 #include "utilities/globalDefinitions.hpp"
63 #include "utilities/exceptions.hpp"
64 #include "utilities/macros.hpp"
65 #include "utilities/ostream.hpp"
66 #include "utilities/resourceHash.hpp"
67 #if INCLUDE_CDS
68 #include "classfile/systemDictionaryShared.hpp"
69 #endif
70
71 // We generally try to create the oops directly when parsing, rather than
72 // allocating temporary data structures and copying the bytes twice. A
73 // temporary area is only needed when parsing utf8 entries in the constant
74 // pool and when parsing line number tables.
75
76 // We add assert in debug mode when class format is not checked.
77
78 #define JAVA_CLASSFILE_MAGIC 0xCAFEBABE
79 #define JAVA_MIN_SUPPORTED_VERSION 45
80 #define JAVA_MAX_SUPPORTED_VERSION 52
81 #define JAVA_MAX_SUPPORTED_MINOR_VERSION 0
82
83 // Used for two backward compatibility reasons:
|
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "classfile/classFileParser.hpp"
27 #include "classfile/classLoader.hpp"
28 #include "classfile/classLoaderData.inline.hpp"
29 #include "classfile/defaultMethods.hpp"
30 #include "classfile/javaClasses.inline.hpp"
31 #include "classfile/symbolTable.hpp"
32 #include "classfile/systemDictionary.hpp"
33 #include "classfile/verificationType.hpp"
34 #include "classfile/verifier.hpp"
35 #include "classfile/vmSymbols.hpp"
36 #include "gc/shared/gcLocker.hpp"
37 #include "memory/allocation.hpp"
38 #include "memory/metadataFactory.hpp"
39 #include "memory/oopFactory.hpp"
40 #include "memory/referenceType.hpp"
41 #include "memory/resourceArea.hpp"
42 #include "memory/universe.inline.hpp"
43 #include "oops/constantPool.hpp"
44 #include "oops/fieldStreams.hpp"
45 #include "oops/instanceKlass.hpp"
46 #include "oops/instanceMirrorKlass.hpp"
47 #include "oops/klass.inline.hpp"
48 #include "oops/klassVtable.hpp"
49 #include "oops/method.hpp"
50 #include "oops/symbol.hpp"
51 #include "prims/jvm.h"
52 #include "prims/jvmtiExport.hpp"
53 #include "prims/jvmtiThreadState.hpp"
54 #include "runtime/javaCalls.hpp"
55 #include "runtime/perfData.hpp"
56 #include "runtime/reflection.hpp"
57 #include "runtime/signature.hpp"
58 #include "runtime/timer.hpp"
59 #include "services/classLoadingService.hpp"
60 #include "services/threadService.hpp"
61 #include "utilities/array.hpp"
62 #include "utilities/exceptions.hpp"
63 #include "utilities/globalDefinitions.hpp"
64 #include "utilities/macros.hpp"
65 #include "utilities/ostream.hpp"
66 #include "utilities/resourceHash.hpp"
67 #if INCLUDE_CDS
68 #include "classfile/systemDictionaryShared.hpp"
69 #endif
70
71 // We generally try to create the oops directly when parsing, rather than
72 // allocating temporary data structures and copying the bytes twice. A
73 // temporary area is only needed when parsing utf8 entries in the constant
74 // pool and when parsing line number tables.
75
76 // We add assert in debug mode when class format is not checked.
77
78 #define JAVA_CLASSFILE_MAGIC 0xCAFEBABE
79 #define JAVA_MIN_SUPPORTED_VERSION 45
80 #define JAVA_MAX_SUPPORTED_VERSION 52
81 #define JAVA_MAX_SUPPORTED_MINOR_VERSION 0
82
83 // Used for two backward compatibility reasons:
|