diff --git a/make/common/Defs.gmk b/make/common/Defs.gmk index a0cb9481c038c9f13ef0dd7dab3823e8e597405a..0c7e34014dfe62a10115186a83e586545ebea4d6 100644 --- a/make/common/Defs.gmk +++ b/make/common/Defs.gmk @@ -451,7 +451,7 @@ vpath %.$(OBJECT_SUFFIX) $(OBJDIR) # namely jni.h, jvm.h, and jni_utils.h, plus their platform-specific # relatives. # -VPATH.h = $(PLATFORM_SRC)/javavm/export$(CLASSPATH_SEPARATOR)$(SHARE_SRC)/javavm/export$(CLASSPATH_SEPARATOR)$(SHARE_SRC)/javavm/include$(CLASSPATH_SEPARATOR)$(PLATFORM_SRC)/javavm/include +VPATH.h = $(PLATFORM_SRC)/javavm/export$(CLASSPATH_SEPARATOR)$(SHARE_SRC)/javavm/export vpath %.h $(VPATH.h) # diff --git a/make/java/verify/Makefile b/make/java/verify/Makefile index c647d5085693035387ecd17c4025a2fe4b215cb6..24bcc0f48d4aa17f70190b3b69c9997e610bd543 100644 --- a/make/java/verify/Makefile +++ b/make/java/verify/Makefile @@ -1,5 +1,5 @@ # -# Copyright 1999-2005 Sun Microsystems, Inc. All Rights Reserved. +# Copyright 1999-2008 Sun Microsystems, Inc. All Rights Reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -52,12 +52,6 @@ FILES_c = \ check_code.c \ check_format.c -# -# libverify.so needs these 2 header files (opcodes.h opcodes.length) -# from the VM. -# -CPPFLAGS += -I$(SHARE_SRC)/javavm/include - # # Targets. # diff --git a/make/netbeans/awt2d/README b/make/netbeans/awt2d/README index a990726b787c7d8b9d1aa1ad3c7b1c8275425d27..040c9e76919d4ad76f903542cf6a7e1905c3a091 100644 --- a/make/netbeans/awt2d/README +++ b/make/netbeans/awt2d/README @@ -145,7 +145,6 @@ Notes on using CND (C/C++ pack) with this project and NetBeans. (a somewhat complete list of awt and 2d native directories on windows): ../../src/share/javavm/export; - ../../src/share/javavm/include; ../../src/share/native/common; ../../src/share/native/sun/awt/debug; ../../src/share/native/sun/awt/image/cvutils; diff --git a/make/tools/GenerateCharacter/check_class.c.template b/make/tools/GenerateCharacter/check_class.c.template index d9a880f09707a7e6a8376aed94dd036367a1698c..02307e02a6beed7efab207038488a3bd48af814c 100644 --- a/make/tools/GenerateCharacter/check_class.c.template +++ b/make/tools/GenerateCharacter/check_class.c.template @@ -1,5 +1,5 @@ /* - * Copyright 2002 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2002-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -37,7 +37,6 @@ #include "bool.h" #include "utf.h" #include "tree.h" -#include "sys_api.h" extern bool_t verify_class_codes(ClassClass *cb); diff --git a/src/share/back/debugDispatch.c b/src/share/back/debugDispatch.c index 98a86fe588956e54b85244f852979091a79311ab..fa633799061d4db55119980f9b8890cfa2b5f47d 100644 --- a/src/share/back/debugDispatch.c +++ b/src/share/back/debugDispatch.c @@ -1,5 +1,5 @@ /* - * Copyright 1998-2005 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1998-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -41,7 +41,6 @@ #include "ArrayReferenceImpl.h" #include "EventRequestImpl.h" #include "StackFrameImpl.h" -#include "typedefs.h" static void **l1Array; diff --git a/src/share/back/error_messages.c b/src/share/back/error_messages.c index f40af69a335682f7779e8ccd92b96af89a44777d..30acacd4ef27966a80fa81da4670c993b5c593d3 100644 --- a/src/share/back/error_messages.c +++ b/src/share/back/error_messages.c @@ -1,5 +1,5 @@ /* - * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -48,7 +48,6 @@ #include "util.h" #include "proc_md.h" -#include "typedefs.h" /* Maximim length of a message */ #define MAX_MESSAGE_LEN MAXPATHLEN*2+512 diff --git a/src/share/back/inStream.c b/src/share/back/inStream.c index 45534fcdc546d4ccbe82e16db1712cff79ac84c5..1f5b685c5adf5cca5d6a762df2dff9353f52b332 100644 --- a/src/share/back/inStream.c +++ b/src/share/back/inStream.c @@ -1,5 +1,5 @@ /* - * Copyright 1998-2006 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1998-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -30,7 +30,6 @@ #include "bag.h" #include "commonRef.h" #include "FrameID.h" -#include "typedefs.h" #define INITIAL_REF_ALLOC 50 #define SMALLEST(a, b) ((a) < (b)) ? (a) : (b) diff --git a/src/share/back/outStream.h b/src/share/back/outStream.h index a57cc47115175140f8bc2708e3ff8b6482a224c2..83d1eb10ffebdc4bfcf71373471ac131de118033 100644 --- a/src/share/back/outStream.h +++ b/src/share/back/outStream.h @@ -1,5 +1,5 @@ /* - * Copyright 1998-2005 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1998-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,8 +26,6 @@ #ifndef JDWP_OUTSTREAM_H #define JDWP_OUTSTREAM_H -#include "typedefs.h" - #include "transport.h" #include "FrameID.h" diff --git a/src/share/instrument/InstrumentationImplNativeMethods.c b/src/share/instrument/InstrumentationImplNativeMethods.c index f4a1239699614a6fecc06e15f904dea02592c2e7..7acd7298bd39ec65951559eb9fb099437e59e41c 100644 --- a/src/share/instrument/InstrumentationImplNativeMethods.c +++ b/src/share/instrument/InstrumentationImplNativeMethods.c @@ -1,5 +1,5 @@ /* - * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,15 +23,14 @@ * have any questions. */ - #include #include "JPLISAgent.h" #include "JPLISAssert.h" #include "Utilities.h" #include "JavaExceptions.h" +#include "FileSystemSupport.h" /* For uintptr_t */ #include "sun_instrument_InstrumentationImpl.h" -#include "typedefs.h" /* * Copyright 2003 Wily Technology, Inc. diff --git a/src/share/instrument/JPLISAgent.c b/src/share/instrument/JPLISAgent.c index 9e1a0b0983010a4452eba93f99c0353912ce6a6b..e34beac794b18ca824369de1e4d117db6577c4e5 100644 --- a/src/share/instrument/JPLISAgent.c +++ b/src/share/instrument/JPLISAgent.c @@ -38,10 +38,9 @@ #include "JavaExceptions.h" #include "EncodingSupport.h" -#include "FileSystemSupport.h" /* MAXPATHLEN */ +#include "FileSystemSupport.h" /* For MAXPATHLEN & uintptr_t */ #include "sun_instrument_InstrumentationImpl.h" -#include "typedefs.h" /* * The JPLISAgent manages the initialization all of the Java programming language Agents. diff --git a/src/share/javavm/export/jvm.h b/src/share/javavm/export/jvm.h index 3778d43093e13dbc00698d280680ccdcaf7f98e5..df8f27e6602eaf6d68f43018fcb3b15ce653fe6e 100644 --- a/src/share/javavm/export/jvm.h +++ b/src/share/javavm/export/jvm.h @@ -948,90 +948,8 @@ JVM_ReleaseUTF(const char *utf); JNIEXPORT jboolean JNICALL JVM_IsSameClassPackage(JNIEnv *env, jclass class1, jclass class2); -/* Constants in class files */ - -#define JVM_ACC_PUBLIC 0x0001 /* visible to everyone */ -#define JVM_ACC_PRIVATE 0x0002 /* visible only to the defining class */ -#define JVM_ACC_PROTECTED 0x0004 /* visible to subclasses */ -#define JVM_ACC_STATIC 0x0008 /* instance variable is static */ -#define JVM_ACC_FINAL 0x0010 /* no further subclassing, overriding */ -#define JVM_ACC_SYNCHRONIZED 0x0020 /* wrap method call in monitor lock */ -#define JVM_ACC_SUPER 0x0020 /* funky handling of invokespecial */ -#define JVM_ACC_VOLATILE 0x0040 /* can not cache in registers */ -#define JVM_ACC_BRIDGE 0x0040 /* bridge method generated by compiler */ -#define JVM_ACC_TRANSIENT 0x0080 /* not persistant */ -#define JVM_ACC_VARARGS 0x0080 /* method declared with variable number of args */ -#define JVM_ACC_NATIVE 0x0100 /* implemented in C */ -#define JVM_ACC_INTERFACE 0x0200 /* class is an interface */ -#define JVM_ACC_ABSTRACT 0x0400 /* no definition provided */ -#define JVM_ACC_STRICT 0x0800 /* strict floating point */ -#define JVM_ACC_SYNTHETIC 0x1000 /* compiler-generated class, method or field */ - -#define JVM_ACC_ANNOTATION 0x2000 /* annotation type */ -#define JVM_ACC_ENUM 0x4000 /* field is declared as element of enum */ - -#define JVM_ACC_PUBLIC_BIT 0 -#define JVM_ACC_PRIVATE_BIT 1 -#define JVM_ACC_PROTECTED_BIT 2 -#define JVM_ACC_STATIC_BIT 3 -#define JVM_ACC_FINAL_BIT 4 -#define JVM_ACC_SYNCHRONIZED_BIT 5 -#define JVM_ACC_SUPER_BIT 5 -#define JVM_ACC_VOLATILE_BIT 6 -#define JVM_ACC_BRIDGE_BIT 6 -#define JVM_ACC_TRANSIENT_BIT 7 -#define JVM_ACC_VARARGS_BIT 7 -#define JVM_ACC_NATIVE_BIT 8 -#define JVM_ACC_INTERFACE_BIT 9 -#define JVM_ACC_ABSTRACT_BIT 10 -#define JVM_ACC_STRICT_BIT 11 -#define JVM_ACC_SYNTHETIC_BIT 12 -#define JVM_ACC_ANNOTATION_BIT 13 -#define JVM_ACC_ENUM_BIT 14 - -enum { - JVM_CONSTANT_Utf8 = 1, - JVM_CONSTANT_Unicode, /* unused */ - JVM_CONSTANT_Integer, - JVM_CONSTANT_Float, - JVM_CONSTANT_Long, - JVM_CONSTANT_Double, - JVM_CONSTANT_Class, - JVM_CONSTANT_String, - JVM_CONSTANT_Fieldref, - JVM_CONSTANT_Methodref, - JVM_CONSTANT_InterfaceMethodref, - JVM_CONSTANT_NameAndType -}; - -/* Used in the newarray instruction. */ - -#define JVM_T_BOOLEAN 4 -#define JVM_T_CHAR 5 -#define JVM_T_FLOAT 6 -#define JVM_T_DOUBLE 7 -#define JVM_T_BYTE 8 -#define JVM_T_SHORT 9 -#define JVM_T_INT 10 -#define JVM_T_LONG 11 - -/* JVM method signatures */ - -#define JVM_SIGNATURE_ARRAY '[' -#define JVM_SIGNATURE_BYTE 'B' -#define JVM_SIGNATURE_CHAR 'C' -#define JVM_SIGNATURE_CLASS 'L' -#define JVM_SIGNATURE_ENDCLASS ';' -#define JVM_SIGNATURE_ENUM 'E' -#define JVM_SIGNATURE_FLOAT 'F' -#define JVM_SIGNATURE_DOUBLE 'D' -#define JVM_SIGNATURE_FUNC '(' -#define JVM_SIGNATURE_ENDFUNC ')' -#define JVM_SIGNATURE_INT 'I' -#define JVM_SIGNATURE_LONG 'J' -#define JVM_SIGNATURE_SHORT 'S' -#define JVM_SIGNATURE_VOID 'V' -#define JVM_SIGNATURE_BOOLEAN 'Z' +/* Get classfile constants */ +#include "classfile_constants.h" /* * A function defined by the byte-code verifier and called by the VM. @@ -1329,23 +1247,6 @@ JVM_GetSockOpt(jint fd, int level, int optname, char *optval, int *optlen); JNIEXPORT jint JNICALL JVM_SetSockOpt(jint fd, int level, int optname, const char *optval, int optlen); -/* - * These routines are only reentrant on Windows - */ - -#ifdef WIN32 - -JNIEXPORT struct protoent * JNICALL -JVM_GetProtoByName(char* name); - -JNIEXPORT struct hostent* JNICALL -JVM_GetHostByAddr(const char* name, int len, int type); - -JNIEXPORT struct hostent* JNICALL -JVM_GetHostByName(char* name); - -#endif /* _WINDOWS */ - JNIEXPORT int JNICALL JVM_GetHostName(char* name, int namelen); diff --git a/src/share/javavm/include/opcodes.h b/src/share/javavm/include/opcodes.h deleted file mode 100644 index e13a4b2030b7c51c6859a60512c2b67cb9807463..0000000000000000000000000000000000000000 --- a/src/share/javavm/include/opcodes.h +++ /dev/null @@ -1,268 +0,0 @@ -/* - * Copyright 1998-2003 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -#ifndef _JAVASOFT_OPCODES_H_ -#define _JAVASOFT_OPCODES_H_ - -typedef enum { - opc_nop = 0, - opc_aconst_null = 1, - opc_iconst_m1 = 2, - opc_iconst_0 = 3, - opc_iconst_1 = 4, - opc_iconst_2 = 5, - opc_iconst_3 = 6, - opc_iconst_4 = 7, - opc_iconst_5 = 8, - opc_lconst_0 = 9, - opc_lconst_1 = 10, - opc_fconst_0 = 11, - opc_fconst_1 = 12, - opc_fconst_2 = 13, - opc_dconst_0 = 14, - opc_dconst_1 = 15, - opc_bipush = 16, - opc_sipush = 17, - opc_ldc = 18, - opc_ldc_w = 19, - opc_ldc2_w = 20, - opc_iload = 21, - opc_lload = 22, - opc_fload = 23, - opc_dload = 24, - opc_aload = 25, - opc_iload_0 = 26, - opc_iload_1 = 27, - opc_iload_2 = 28, - opc_iload_3 = 29, - opc_lload_0 = 30, - opc_lload_1 = 31, - opc_lload_2 = 32, - opc_lload_3 = 33, - opc_fload_0 = 34, - opc_fload_1 = 35, - opc_fload_2 = 36, - opc_fload_3 = 37, - opc_dload_0 = 38, - opc_dload_1 = 39, - opc_dload_2 = 40, - opc_dload_3 = 41, - opc_aload_0 = 42, - opc_aload_1 = 43, - opc_aload_2 = 44, - opc_aload_3 = 45, - opc_iaload = 46, - opc_laload = 47, - opc_faload = 48, - opc_daload = 49, - opc_aaload = 50, - opc_baload = 51, - opc_caload = 52, - opc_saload = 53, - opc_istore = 54, - opc_lstore = 55, - opc_fstore = 56, - opc_dstore = 57, - opc_astore = 58, - opc_istore_0 = 59, - opc_istore_1 = 60, - opc_istore_2 = 61, - opc_istore_3 = 62, - opc_lstore_0 = 63, - opc_lstore_1 = 64, - opc_lstore_2 = 65, - opc_lstore_3 = 66, - opc_fstore_0 = 67, - opc_fstore_1 = 68, - opc_fstore_2 = 69, - opc_fstore_3 = 70, - opc_dstore_0 = 71, - opc_dstore_1 = 72, - opc_dstore_2 = 73, - opc_dstore_3 = 74, - opc_astore_0 = 75, - opc_astore_1 = 76, - opc_astore_2 = 77, - opc_astore_3 = 78, - opc_iastore = 79, - opc_lastore = 80, - opc_fastore = 81, - opc_dastore = 82, - opc_aastore = 83, - opc_bastore = 84, - opc_castore = 85, - opc_sastore = 86, - opc_pop = 87, - opc_pop2 = 88, - opc_dup = 89, - opc_dup_x1 = 90, - opc_dup_x2 = 91, - opc_dup2 = 92, - opc_dup2_x1 = 93, - opc_dup2_x2 = 94, - opc_swap = 95, - opc_iadd = 96, - opc_ladd = 97, - opc_fadd = 98, - opc_dadd = 99, - opc_isub = 100, - opc_lsub = 101, - opc_fsub = 102, - opc_dsub = 103, - opc_imul = 104, - opc_lmul = 105, - opc_fmul = 106, - opc_dmul = 107, - opc_idiv = 108, - opc_ldiv = 109, - opc_fdiv = 110, - opc_ddiv = 111, - opc_irem = 112, - opc_lrem = 113, - opc_frem = 114, - opc_drem = 115, - opc_ineg = 116, - opc_lneg = 117, - opc_fneg = 118, - opc_dneg = 119, - opc_ishl = 120, - opc_lshl = 121, - opc_ishr = 122, - opc_lshr = 123, - opc_iushr = 124, - opc_lushr = 125, - opc_iand = 126, - opc_land = 127, - opc_ior = 128, - opc_lor = 129, - opc_ixor = 130, - opc_lxor = 131, - opc_iinc = 132, - opc_i2l = 133, - opc_i2f = 134, - opc_i2d = 135, - opc_l2i = 136, - opc_l2f = 137, - opc_l2d = 138, - opc_f2i = 139, - opc_f2l = 140, - opc_f2d = 141, - opc_d2i = 142, - opc_d2l = 143, - opc_d2f = 144, - opc_i2b = 145, - opc_i2c = 146, - opc_i2s = 147, - opc_lcmp = 148, - opc_fcmpl = 149, - opc_fcmpg = 150, - opc_dcmpl = 151, - opc_dcmpg = 152, - opc_ifeq = 153, - opc_ifne = 154, - opc_iflt = 155, - opc_ifge = 156, - opc_ifgt = 157, - opc_ifle = 158, - opc_if_icmpeq = 159, - opc_if_icmpne = 160, - opc_if_icmplt = 161, - opc_if_icmpge = 162, - opc_if_icmpgt = 163, - opc_if_icmple = 164, - opc_if_acmpeq = 165, - opc_if_acmpne = 166, - opc_goto = 167, - opc_jsr = 168, - opc_ret = 169, - opc_tableswitch = 170, - opc_lookupswitch = 171, - opc_ireturn = 172, - opc_lreturn = 173, - opc_freturn = 174, - opc_dreturn = 175, - opc_areturn = 176, - opc_return = 177, - opc_getstatic = 178, - opc_putstatic = 179, - opc_getfield = 180, - opc_putfield = 181, - opc_invokevirtual = 182, - opc_invokespecial = 183, - opc_invokestatic = 184, - opc_invokeinterface = 185, - opc_xxxunusedxxx = 186, - opc_new = 187, - opc_newarray = 188, - opc_anewarray = 189, - opc_arraylength = 190, - opc_athrow = 191, - opc_checkcast = 192, - opc_instanceof = 193, - opc_monitorenter = 194, - opc_monitorexit = 195, - opc_wide = 196, - opc_multianewarray = 197, - opc_ifnull = 198, - opc_ifnonnull = 199, - opc_goto_w = 200, - opc_jsr_w = 201, - opc_breakpoint = 202, - opc_ldc_quick = 203, - opc_ldc_w_quick = 204, - opc_ldc2_w_quick = 205, - opc_getfield_quick = 206, - opc_putfield_quick = 207, - opc_getfield2_quick = 208, - opc_putfield2_quick = 209, - opc_getstatic_quick = 210, - opc_putstatic_quick = 211, - opc_getstatic2_quick = 212, - opc_putstatic2_quick = 213, - opc_invokevirtual_quick = 214, - opc_invokenonvirtual_quick = 215, - opc_invokesuper_quick = 216, - opc_invokestatic_quick = 217, - opc_invokeinterface_quick = 218, - opc_invokevirtualobject_quick = 219, - opc_invokeignored_quick = 220, - opc_new_quick = 221, - opc_anewarray_quick = 222, - opc_multianewarray_quick = 223, - opc_checkcast_quick = 224, - opc_instanceof_quick = 225, - opc_invokevirtual_quick_w = 226, - opc_getfield_quick_w = 227, - opc_putfield_quick_w = 228, - opc_nonnull_quick = 229, - opc_first_unused_index = 230, - opc_software = 254, - opc_hardware = 255, - opc_dummy = (int)0xF0000000U /* portability change, opc_invokeinit in the - * verifier requires more than 8 bits. - */ -} opcode_type; - -#endif /* !_JAVASOFT_OPCODES_H_ */ diff --git a/src/share/javavm/include/opcodes.length b/src/share/javavm/include/opcodes.length deleted file mode 100644 index 6e93ec63828169ca6ce824e35261a20ff80a9360..0000000000000000000000000000000000000000 --- a/src/share/javavm/include/opcodes.length +++ /dev/null @@ -1,283 +0,0 @@ -/* - * Copyright 1998-2007 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -const short opcode_length[256] = { - 1, /* nop */ - 1, /* aconst_null */ - 1, /* iconst_m1 */ - 1, /* iconst_0 */ - 1, /* iconst_1 */ - 1, /* iconst_2 */ - 1, /* iconst_3 */ - 1, /* iconst_4 */ - 1, /* iconst_5 */ - 1, /* lconst_0 */ - 1, /* lconst_1 */ - 1, /* fconst_0 */ - 1, /* fconst_1 */ - 1, /* fconst_2 */ - 1, /* dconst_0 */ - 1, /* dconst_1 */ - 2, /* bipush */ - 3, /* sipush */ - 2, /* ldc */ - 3, /* ldc_w */ - 3, /* ldc2_w */ - 2, /* iload */ - 2, /* lload */ - 2, /* fload */ - 2, /* dload */ - 2, /* aload */ - 1, /* iload_0 */ - 1, /* iload_1 */ - 1, /* iload_2 */ - 1, /* iload_3 */ - 1, /* lload_0 */ - 1, /* lload_1 */ - 1, /* lload_2 */ - 1, /* lload_3 */ - 1, /* fload_0 */ - 1, /* fload_1 */ - 1, /* fload_2 */ - 1, /* fload_3 */ - 1, /* dload_0 */ - 1, /* dload_1 */ - 1, /* dload_2 */ - 1, /* dload_3 */ - 1, /* aload_0 */ - 1, /* aload_1 */ - 1, /* aload_2 */ - 1, /* aload_3 */ - 1, /* iaload */ - 1, /* laload */ - 1, /* faload */ - 1, /* daload */ - 1, /* aaload */ - 1, /* baload */ - 1, /* caload */ - 1, /* saload */ - 2, /* istore */ - 2, /* lstore */ - 2, /* fstore */ - 2, /* dstore */ - 2, /* astore */ - 1, /* istore_0 */ - 1, /* istore_1 */ - 1, /* istore_2 */ - 1, /* istore_3 */ - 1, /* lstore_0 */ - 1, /* lstore_1 */ - 1, /* lstore_2 */ - 1, /* lstore_3 */ - 1, /* fstore_0 */ - 1, /* fstore_1 */ - 1, /* fstore_2 */ - 1, /* fstore_3 */ - 1, /* dstore_0 */ - 1, /* dstore_1 */ - 1, /* dstore_2 */ - 1, /* dstore_3 */ - 1, /* astore_0 */ - 1, /* astore_1 */ - 1, /* astore_2 */ - 1, /* astore_3 */ - 1, /* iastore */ - 1, /* lastore */ - 1, /* fastore */ - 1, /* dastore */ - 1, /* aastore */ - 1, /* bastore */ - 1, /* castore */ - 1, /* sastore */ - 1, /* pop */ - 1, /* pop2 */ - 1, /* dup */ - 1, /* dup_x1 */ - 1, /* dup_x2 */ - 1, /* dup2 */ - 1, /* dup2_x1 */ - 1, /* dup2_x2 */ - 1, /* swap */ - 1, /* iadd */ - 1, /* ladd */ - 1, /* fadd */ - 1, /* dadd */ - 1, /* isub */ - 1, /* lsub */ - 1, /* fsub */ - 1, /* dsub */ - 1, /* imul */ - 1, /* lmul */ - 1, /* fmul */ - 1, /* dmul */ - 1, /* idiv */ - 1, /* ldiv */ - 1, /* fdiv */ - 1, /* ddiv */ - 1, /* irem */ - 1, /* lrem */ - 1, /* frem */ - 1, /* drem */ - 1, /* ineg */ - 1, /* lneg */ - 1, /* fneg */ - 1, /* dneg */ - 1, /* ishl */ - 1, /* lshl */ - 1, /* ishr */ - 1, /* lshr */ - 1, /* iushr */ - 1, /* lushr */ - 1, /* iand */ - 1, /* land */ - 1, /* ior */ - 1, /* lor */ - 1, /* ixor */ - 1, /* lxor */ - 3, /* iinc */ - 1, /* i2l */ - 1, /* i2f */ - 1, /* i2d */ - 1, /* l2i */ - 1, /* l2f */ - 1, /* l2d */ - 1, /* f2i */ - 1, /* f2l */ - 1, /* f2d */ - 1, /* d2i */ - 1, /* d2l */ - 1, /* d2f */ - 1, /* i2b */ - 1, /* i2c */ - 1, /* i2s */ - 1, /* lcmp */ - 1, /* fcmpl */ - 1, /* fcmpg */ - 1, /* dcmpl */ - 1, /* dcmpg */ - 3, /* ifeq */ - 3, /* ifne */ - 3, /* iflt */ - 3, /* ifge */ - 3, /* ifgt */ - 3, /* ifle */ - 3, /* if_icmpeq */ - 3, /* if_icmpne */ - 3, /* if_icmplt */ - 3, /* if_icmpge */ - 3, /* if_icmpgt */ - 3, /* if_icmple */ - 3, /* if_acmpeq */ - 3, /* if_acmpne */ - 3, /* goto */ - 3, /* jsr */ - 2, /* ret */ - 99, /* tableswitch */ - 99, /* lookupswitch */ - 1, /* ireturn */ - 1, /* lreturn */ - 1, /* freturn */ - 1, /* dreturn */ - 1, /* areturn */ - 1, /* return */ - 3, /* getstatic */ - 3, /* putstatic */ - 3, /* getfield */ - 3, /* putfield */ - 3, /* invokevirtual */ - 3, /* invokespecial */ - 3, /* invokestatic */ - 5, /* invokeinterface */ - 0, /* xxxunusedxxx */ - 3, /* new */ - 2, /* newarray */ - 3, /* anewarray */ - 1, /* arraylength */ - 1, /* athrow */ - 3, /* checkcast */ - 3, /* instanceof */ - 1, /* monitorenter */ - 1, /* monitorexit */ - 0, /* wide */ - 4, /* multianewarray */ - 3, /* ifnull */ - 3, /* ifnonnull */ - 5, /* goto_w */ - 5, /* jsr_w */ - 1, /* breakpoint */ - 2, /* ldc_quick */ - 3, /* ldc_w_quick */ - 3, /* ldc2_w_quick */ - 3, /* getfield_quick */ - 3, /* putfield_quick */ - 3, /* getfield2_quick */ - 3, /* putfield2_quick */ - 3, /* getstatic_quick */ - 3, /* putstatic_quick */ - 3, /* getstatic2_quick */ - 3, /* putstatic2_quick */ - 3, /* invokevirtual_quick */ - 3, /* invokenonvirtual_quick */ - 3, /* invokesuper_quick */ - 3, /* invokestatic_quick */ - 5, /* invokeinterface_quick */ - 3, /* invokevirtualobject_quick */ - 3, /* invokeignored_quick */ - 3, /* new_quick */ - 3, /* anewarray_quick */ - 4, /* multianewarray_quick */ - 3, /* checkcast_quick */ - 3, /* instanceof_quick */ - 3, /* invokevirtual_quick_w */ - 3, /* getfield_quick_w */ - 3, /* putfield_quick_w */ - 1, /* nonnull_quick */ - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, -}; diff --git a/src/share/javavm/include/opcodes.list b/src/share/javavm/include/opcodes.list deleted file mode 100644 index db546070ac66dc5538f98c302e459bc04554928c..0000000000000000000000000000000000000000 --- a/src/share/javavm/include/opcodes.list +++ /dev/null @@ -1,301 +0,0 @@ -# Copyright 1994-2007 Sun Microsystems, Inc. All Rights Reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. Sun designates this -# particular file as subject to the "Classpath" exception as provided -# by Sun in the LICENSE file that accompanied this code. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -# CA 95054 USA or visit www.sun.com if you need additional information or -# have any questions. -# - -# Any line that doesn't have a-z in the 1st column is a comment. -# -# The first column is the name of the opcodes. The second column is the -# total length of the instruction. We use 99 for tableswitch and -# tablelookup, which must always be treated as special cases. -# -# The third and fourth colum give what the opcode pops off the stack, and -# what it then pushes back onto the stack -# - -# I integer -# L long integer -# F float -# D double float -# A address [array or object] -# O object only -# R return address (for jsr) -# a integer, array, or object -# ? unknown -# [I], [L], [F], [D], [A], [B], [C], [?] -# array of integer, long, float, double, address, bytes, -# chars, or anything -# 1,2,3,4,+ used by stack duplicating/popping routines. -# -# 1,2,3,4 represent >>any<< stack type except long or double. Two numbers -# separated by a + (in the third column) indicate that the two, together, can -# be used for a double or long. (Or they can represent two non-long items). -# -# The fifth column provides an *approximate* relative cost of executing the -# opcode. It is used by the instruction profiler. See profiler.h for -# blurb. - -nop 1 - - 1 /* nop */ -aconst_null 1 - A 1 /* push null object */ -iconst_m1 1 - I 1 /* push integer constant -1 */ -iconst_0 1 - I 1 /* push integer constant 0 */ -iconst_1 1 - I 1 /* push integer constant 1 */ -iconst_2 1 - I 1 /* push integer constant 2 */ -iconst_3 1 - I 1 /* push integer constant 3 */ -iconst_4 1 - I 1 /* push integer constant 4 */ -iconst_5 1 - I 1 /* push integer constant 5 */ -lconst_0 1 - L 1 /* push long 0L */ -lconst_1 1 - L 1 /* push long 1L */ -fconst_0 1 - F 1 /* push float constant 0.0 */ -fconst_1 1 - F 1 /* push float constant 1.0 */ -fconst_2 1 - F 1 /* push float constant 2.0 */ -dconst_0 1 - D 1 /* push double float constant 0.0d */ -dconst_1 1 - D 1 /* push double float constant 1.0d */ -bipush 2 - I 1 /* push byte-sized value */ -sipush 3 - I 1 /* push two-byte value */ -ldc 2 - ? 1 /* load a const from constant table */ -ldc_w 3 - ? 1 -ldc2_w 3 - ? 1 /* load a 2-word constant . . . */ -iload 2 - I 1 /* load local integer variable */ -lload 2 - L 1 /* load local long variable */ -fload 2 - F 1 /* load local floating variable */ -dload 2 - D 1 /* load local double variable */ -aload 2 - A 1 /* load local object variable */ -iload_0 1 - I 1 /* load local integer variable #0 */ -iload_1 1 - I 1 /* load local integer variable #1 */ -iload_2 1 - I 1 /* load local integer variable #2 */ -iload_3 1 - I 1 /* load local integer variable #3 */ -lload_0 1 - L 1 /* load local long variable #0 */ -lload_1 1 - L 1 /* load local long variable #1 */ -lload_2 1 - L 1 /* load local long variable #2 */ -lload_3 1 - L 1 /* load local long variable #3 */ -fload_0 1 - F 1 /* load local float variable #0 */ -fload_1 1 - F 1 /* load local float variable #1 */ -fload_2 1 - F 1 /* load local float variable #2 */ -fload_3 1 - F 1 /* load local float variable #3 */ -dload_0 1 - D 1 /* load lcl double float variable #0 */ -dload_1 1 - D 1 /* load lcl double float variable #1 */ -dload_2 1 - D 1 /* load lcl double float variable #2 */ -dload_3 1 - D 1 /* load lcl double float variable #3 */ -aload_0 1 - A 1 /* load local object variable #0 */ -aload_1 1 - A 1 /* load local object variable #1 */ -aload_2 1 - A 1 /* load local object variable #2 */ -aload_3 1 - A 1 /* load local object variable #3 */ -iaload 1 [I]I I 1 /* load from array of integer */ -laload 1 [L]I L 1 /* load from array of long */ -faload 1 [F]I F 1 /* load from array of float */ -daload 1 [D]I D 1 /* load from array of double */ -aaload 1 [A]I A 1 /* load from array of object */ -baload 1 [B]I I 1 /* load from array of (signed) bytes */ -caload 1 [C]I I 1 /* load from array of chars */ -saload 1 [S]I I 1 /* load from array of (signed) shorts */ -istore 2 I - 1 /* store local integer variable */ -lstore 2 L - 1 /* store local long variable */ -fstore 2 F - 1 /* store local float variable */ -dstore 2 D - 1 /* store local double variable */ -astore 2 A - 1 /* store local object variable */ -istore_0 1 I - 1 /* store local integer variable #0 */ -istore_1 1 I - 1 /* store local integer variable #1 */ -istore_2 1 I - 1 /* store local integer variable #2 */ -istore_3 1 I - 1 /* store local integer variable #3 */ -lstore_0 1 L - 1 /* store local long variable #0 */ -lstore_1 1 L - 1 /* store local long variable #1 */ -lstore_2 1 L - 1 /* store local long variable #2 */ -lstore_3 1 L - 1 /* store local long variable #3 */ -fstore_0 1 F - 1 /* store local float variable #0 */ -fstore_1 1 F - 1 /* store local float variable #1 */ -fstore_2 1 F - 1 /* store local float variable #2 */ -fstore_3 1 F - 1 /* store local float variable #3 */ -dstore_0 1 D - 1 /* store lcl double float variable #0 */ -dstore_1 1 D - 1 /* store lcl double float variable #1 */ -dstore_2 1 D - 1 /* store lcl double float variable #2 */ -dstore_3 1 D - 1 /* store lcl double float variable #3 */ -astore_0 1 A - 1 /* store local object variable #0 */ -astore_1 1 A - 1 /* store local object variable #1 */ -astore_2 1 A - 1 /* store local object variable #2 */ -astore_3 1 A - 1 /* store local object variable #3 */ -iastore 1 [I]II - 1 /* store into array of int */ -lastore 1 [L]IL - 1 /* store into array of long */ -fastore 1 [F]IF - 1 /* store into array of float */ -dastore 1 [D]ID - 1 /* store into array of double float */ -aastore 1 [A]IA - 1 /* store into array of object */ -bastore 1 [B]II - 1 /* store into array of (signed) bytes */ -castore 1 [C]II - 1 /* store into array of chars */ -sastore 1 [S]II - 1 /* store into array of (signed) shorts*/ -pop 1 1 - 1 /* pop top element */ -pop2 1 2+1 - 1 /* pop top two elements */ -dup 1 1 11 1 /* dup top element */ -dup_x1 1 21 121 1 /* dup top element. Skip one */ -dup_x2 1 3+21 1321 1 /* dup top element. Skip two */ -dup2 1 2+1 2121 1 /* dup top two elements. */ -dup2_x1 1 32+1 21321 1 /* dup top two elements. Skip one */ -dup2_x2 1 4+32+1 214321 1 /* dup top two elements. Skip two */ -swap 1 21 12 1 /* swap top two elements of stack. */ -iadd 1 II I 1 /* integer add */ -ladd 1 LL L 1 /* long add */ -fadd 1 FF F 1 /* floating add */ -dadd 1 DD D 1 /* double float add */ -isub 1 II I 1 /* integer subtract */ -lsub 1 LL L 1 /* long subtract */ -fsub 1 FF F 1 /* floating subtract */ -dsub 1 DD D 1 /* floating double subtract */ -imul 1 II I 1 /* integer multiply */ -lmul 1 LL L 1 /* long multiply */ -fmul 1 FF F 1 /* floating multiply */ -dmul 1 DD D 1 /* double float multiply */ -idiv 1 II I 1 /* integer divide */ -ldiv 1 LL L 1 /* long divide */ -fdiv 1 FF F 1 /* floating divide */ -ddiv 1 DD D 1 /* double float divide */ -irem 1 II I 1 /* integer mod */ -lrem 1 LL L 1 /* long mod */ -frem 1 FF F 1 /* floating mod */ -drem 1 DD D 1 /* double float mod */ -ineg 1 I I 1 /* integer negate */ -lneg 1 L L 1 /* long negate */ -fneg 1 F F 1 /* floating negate */ -dneg 1 D D 1 /* double float negate */ -ishl 1 II I 1 /* shift left */ -lshl 1 LI L 1 /* long shift left */ -ishr 1 II I 1 /* shift right */ -lshr 1 LI L 1 /* long shift right */ -iushr 1 II I 1 /* unsigned shift right */ -lushr 1 LI L 1 /* long unsigned shift right */ -iand 1 II I 1 /* boolean and */ -land 1 LL L 1 /* long boolean and */ -ior 1 II I 1 /* boolean or */ -lor 1 LL L 1 /* long boolean or */ -ixor 1 II I 1 /* boolean xor */ -lxor 1 LL L 1 /* long boolean xor */ -iinc 3 - - 1 /* increment lcl variable by constant */ -i2l 1 I L 1 /* integer to long */ -i2f 1 I F 1 /* integer to float */ -i2d 1 I D 1 /* integer to double */ -l2i 1 L I 1 /* long to integer */ -l2f 1 L F 1 /* long to float */ -l2d 1 L D 1 /* long to double */ -f2i 1 F I 1 /* float to integer */ -f2l 1 F L 1 /* float to long */ -f2d 1 F D 1 /* float to double */ -d2i 1 D I 1 /* double to integer */ -d2l 1 D L 1 /* double to long */ -d2f 1 D F 1 /* double to float */ -i2b 1 I I 1 /* integer to byte */ -i2c 1 I I 1 /* integer to character */ -i2s 1 I I 1 /* integer to signed short */ -lcmp 1 LL I 1 /* long compare */ -fcmpl 1 FF I 1 /* float compare. -1 on incomparable */ -fcmpg 1 FF I 1 /* float compare. 1 on incomparable */ -dcmpl 1 DD I 1 /* dbl floating cmp. -1 on incomp */ -dcmpg 1 DD I 1 /* dbl floating cmp. 1 on incomp */ -ifeq 3 I - 1 /* goto if equal */ -ifne 3 I - 1 /* goto if not equal */ -iflt 3 I - 1 /* goto if less than */ -ifge 3 I - 1 /* goto if greater than or equal */ -ifgt 3 I - 1 /* goto if greater than */ -ifle 3 I - 1 /* goto if less than or equal */ -if_icmpeq 3 II - 1 /* compare top two elements of stack */ -if_icmpne 3 II - 1 /* compare top two elements of stack */ -if_icmplt 3 II - 1 /* compare top two elements of stack */ -if_icmpge 3 II - 1 /* compare top two elements of stack */ -if_icmpgt 3 II - 1 /* compare top two elements of stack */ -if_icmple 3 II - 1 /* compare top two elements of stack */ -if_acmpeq 3 AA - 1 /* compare top two objects of stack */ -if_acmpne 3 AA - 1 /* compare top two objects of stack */ -goto 3 - - 1 /* unconditional goto */ -jsr 3 - R 1 /* jump subroutine */ -ret 2 - - 1 /* return from subroutine */ -tableswitch 99 I - 1 /* goto (case) */ -lookupswitch 99 I - 1 /* goto (case) */ -ireturn 1 I - 1 /* return integer from procedure */ -lreturn 1 L - 1 /* return long from procedure */ -freturn 1 F - 1 /* return float from procedure */ -dreturn 1 D - 1 /* return double from procedure */ -areturn 1 A - 1 /* return object from procedure */ -return 1 - - 1 /* return (void) from procedure */ -getstatic 3 - ? 1 /* get static field value. */ -putstatic 3 ? - 1 /* assign static field value */ -getfield 3 A ? 1 /* get field value from object. */ -putfield 3 ? - 1 /* assign field value to object. */ -invokevirtual 3 ? ? 1 /* call method, based on object. */ -invokespecial 3 ? ? 1 /* call method, not based on object. */ -invokestatic 3 ? ? 1 /* call a static method. */ -invokeinterface 5 ? ? 1 /* call an interface method */ -xxxunusedxxx 0 ? ? 1 /* was newfromname */ -new 3 - A 1 /* Create a new object */ -newarray 2 I A 1 /* Create a new array of non-objects*/ -anewarray 3 I A 1 /* Create a new array of objects */ -arraylength 1 [?] I 1 /* get length of array */ -athrow 1 O - 1 /* throw an exception */ -checkcast 3 A A 1 /* error if object not of given type */ -instanceof 3 A I 1 /* is object of given type? */ -monitorenter 1 A - 1 /* enter a monitored region of code */ -monitorexit 1 A - 1 /* exit a monitored region of code */ -wide 0 - - 1 /* prefix operation. */ -multianewarray 4 ? A 1 /* create multidimensional array */ -ifnull 3 A - 1 /* goto if null */ -ifnonnull 3 A - 1 /* goto if not null */ - -# The following instructions are "long" versions. They allow access to -# variables with index greater than 255. - -goto_w 5 - - 1 /* unconditional goto. 4byte offset */ -jsr_w 5 - R 1 /* jump subroutine. 4byte offset */ - -breakpoint 1 - - 1 /* call breakpoint handler */ - -# The compiler will not generate any of the following instructions. That -# are created by the interpreter from the non _quick versions of the -# instructions. - -ldc_quick 2 - ? 1 -ldc_w_quick 3 - ? 1 -ldc2_w_quick 3 - ? 1 -getfield_quick 3 A ? 1 -putfield_quick 3 ? - 1 -getfield2_quick 3 A ? 1 -putfield2_quick 3 ? - 1 -getstatic_quick 3 - ? 1 -putstatic_quick 3 ? - 1 -getstatic2_quick 3 - ? 1 -putstatic2_quick 3 ? _ 1 -invokevirtual_quick 3 ? ? 1 -invokenonvirtual_quick 3 ? ? 1 -invokesuper_quick 3 ? ? 1 -invokestatic_quick 3 ? ? 1 -invokeinterface_quick 5 ? ? 1 -invokevirtualobject_quick 3 ? ? 1 -invokeignored_quick 3 ? ? 1 -new_quick 3 - A 1 -anewarray_quick 3 I A 1 -multianewarray_quick 4 ? A 1 -checkcast_quick 3 A A 1 -instanceof_quick 3 A I 1 - -# The following are generated when the offset is bigger than 255 - -invokevirtual_quick_w 3 ? ? 1 -getfield_quick_w 3 A ? 1 -putfield_quick_w 3 ? - 1 - -# used for simplification - -nonnull_quick 1 A - 1 /* throw exception if stacktop null */ diff --git a/src/share/javavm/include/opcodes.weight b/src/share/javavm/include/opcodes.weight deleted file mode 100644 index e1a2d6d51dcb8fe2ebb7dbcd76e80480430c196a..0000000000000000000000000000000000000000 --- a/src/share/javavm/include/opcodes.weight +++ /dev/null @@ -1,283 +0,0 @@ -/* - * Copyright 1998-2007 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -char const opcode_weight[256] = { - 1, /* nop */ - 1, /* aconst_null */ - 1, /* iconst_m1 */ - 1, /* iconst_0 */ - 1, /* iconst_1 */ - 1, /* iconst_2 */ - 1, /* iconst_3 */ - 1, /* iconst_4 */ - 1, /* iconst_5 */ - 1, /* lconst_0 */ - 1, /* lconst_1 */ - 1, /* fconst_0 */ - 1, /* fconst_1 */ - 1, /* fconst_2 */ - 1, /* dconst_0 */ - 1, /* dconst_1 */ - 1, /* bipush */ - 1, /* sipush */ - 1, /* ldc */ - 1, /* ldc_w */ - 1, /* ldc2_w */ - 1, /* iload */ - 1, /* lload */ - 1, /* fload */ - 1, /* dload */ - 1, /* aload */ - 1, /* iload_0 */ - 1, /* iload_1 */ - 1, /* iload_2 */ - 1, /* iload_3 */ - 1, /* lload_0 */ - 1, /* lload_1 */ - 1, /* lload_2 */ - 1, /* lload_3 */ - 1, /* fload_0 */ - 1, /* fload_1 */ - 1, /* fload_2 */ - 1, /* fload_3 */ - 1, /* dload_0 */ - 1, /* dload_1 */ - 1, /* dload_2 */ - 1, /* dload_3 */ - 1, /* aload_0 */ - 1, /* aload_1 */ - 1, /* aload_2 */ - 1, /* aload_3 */ - 1, /* iaload */ - 1, /* laload */ - 1, /* faload */ - 1, /* daload */ - 1, /* aaload */ - 1, /* baload */ - 1, /* caload */ - 1, /* saload */ - 1, /* istore */ - 1, /* lstore */ - 1, /* fstore */ - 1, /* dstore */ - 1, /* astore */ - 1, /* istore_0 */ - 1, /* istore_1 */ - 1, /* istore_2 */ - 1, /* istore_3 */ - 1, /* lstore_0 */ - 1, /* lstore_1 */ - 1, /* lstore_2 */ - 1, /* lstore_3 */ - 1, /* fstore_0 */ - 1, /* fstore_1 */ - 1, /* fstore_2 */ - 1, /* fstore_3 */ - 1, /* dstore_0 */ - 1, /* dstore_1 */ - 1, /* dstore_2 */ - 1, /* dstore_3 */ - 1, /* astore_0 */ - 1, /* astore_1 */ - 1, /* astore_2 */ - 1, /* astore_3 */ - 1, /* iastore */ - 1, /* lastore */ - 1, /* fastore */ - 1, /* dastore */ - 1, /* aastore */ - 1, /* bastore */ - 1, /* castore */ - 1, /* sastore */ - 1, /* pop */ - 1, /* pop2 */ - 1, /* dup */ - 1, /* dup_x1 */ - 1, /* dup_x2 */ - 1, /* dup2 */ - 1, /* dup2_x1 */ - 1, /* dup2_x2 */ - 1, /* swap */ - 1, /* iadd */ - 1, /* ladd */ - 1, /* fadd */ - 1, /* dadd */ - 1, /* isub */ - 1, /* lsub */ - 1, /* fsub */ - 1, /* dsub */ - 1, /* imul */ - 1, /* lmul */ - 1, /* fmul */ - 1, /* dmul */ - 1, /* idiv */ - 1, /* ldiv */ - 1, /* fdiv */ - 1, /* ddiv */ - 1, /* irem */ - 1, /* lrem */ - 1, /* frem */ - 1, /* drem */ - 1, /* ineg */ - 1, /* lneg */ - 1, /* fneg */ - 1, /* dneg */ - 1, /* ishl */ - 1, /* lshl */ - 1, /* ishr */ - 1, /* lshr */ - 1, /* iushr */ - 1, /* lushr */ - 1, /* iand */ - 1, /* land */ - 1, /* ior */ - 1, /* lor */ - 1, /* ixor */ - 1, /* lxor */ - 1, /* iinc */ - 1, /* i2l */ - 1, /* i2f */ - 1, /* i2d */ - 1, /* l2i */ - 1, /* l2f */ - 1, /* l2d */ - 1, /* f2i */ - 1, /* f2l */ - 1, /* f2d */ - 1, /* d2i */ - 1, /* d2l */ - 1, /* d2f */ - 1, /* i2b */ - 1, /* i2c */ - 1, /* i2s */ - 1, /* lcmp */ - 1, /* fcmpl */ - 1, /* fcmpg */ - 1, /* dcmpl */ - 1, /* dcmpg */ - 1, /* ifeq */ - 1, /* ifne */ - 1, /* iflt */ - 1, /* ifge */ - 1, /* ifgt */ - 1, /* ifle */ - 1, /* if_icmpeq */ - 1, /* if_icmpne */ - 1, /* if_icmplt */ - 1, /* if_icmpge */ - 1, /* if_icmpgt */ - 1, /* if_icmple */ - 1, /* if_acmpeq */ - 1, /* if_acmpne */ - 1, /* goto */ - 1, /* jsr */ - 1, /* ret */ - 1, /* tableswitch */ - 1, /* lookupswitch */ - 1, /* ireturn */ - 1, /* lreturn */ - 1, /* freturn */ - 1, /* dreturn */ - 1, /* areturn */ - 1, /* return */ - 1, /* getstatic */ - 1, /* putstatic */ - 1, /* getfield */ - 1, /* putfield */ - 1, /* invokevirtual */ - 1, /* invokespecial */ - 1, /* invokestatic */ - 1, /* invokeinterface */ - 1, /* xxxunusedxxx */ - 1, /* new */ - 1, /* newarray */ - 1, /* anewarray */ - 1, /* arraylength */ - 1, /* athrow */ - 1, /* checkcast */ - 1, /* instanceof */ - 1, /* monitorenter */ - 1, /* monitorexit */ - 1, /* wide */ - 1, /* multianewarray */ - 1, /* ifnull */ - 1, /* ifnonnull */ - 1, /* goto_w */ - 1, /* jsr_w */ - 1, /* breakpoint */ - 1, /* ldc_quick */ - 1, /* ldc_w_quick */ - 1, /* ldc2_w_quick */ - 1, /* getfield_quick */ - 1, /* putfield_quick */ - 1, /* getfield2_quick */ - 1, /* putfield2_quick */ - 1, /* getstatic_quick */ - 1, /* putstatic_quick */ - 1, /* getstatic2_quick */ - 1, /* putstatic2_quick */ - 1, /* invokevirtual_quick */ - 1, /* invokenonvirtual_quick */ - 1, /* invokesuper_quick */ - 1, /* invokestatic_quick */ - 1, /* invokeinterface_quick */ - 1, /* invokevirtualobject_quick */ - 1, /* invokeignored_quick */ - 1, /* new_quick */ - 1, /* anewarray_quick */ - 1, /* multianewarray_quick */ - 1, /* checkcast_quick */ - 1, /* instanceof_quick */ - 1, /* invokevirtual_quick_w */ - 1, /* getfield_quick_w */ - 1, /* putfield_quick_w */ - 1, /* nonnull_quick */ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -}; diff --git a/src/share/javavm/include/opcodes.wide b/src/share/javavm/include/opcodes.wide deleted file mode 100644 index ed33d819b441ef2bcfee3d1a06ed05d26a7ec2f8..0000000000000000000000000000000000000000 --- a/src/share/javavm/include/opcodes.wide +++ /dev/null @@ -1,256 +0,0 @@ -NoWideOpcode(nop) -NoWideOpcode(aconst_null) -NoWideOpcode(iconst_m1) -NoWideOpcode(iconst_0) -NoWideOpcode(iconst_1) -NoWideOpcode(iconst_2) -NoWideOpcode(iconst_3) -NoWideOpcode(iconst_4) -NoWideOpcode(iconst_5) -NoWideOpcode(lconst_0) -NoWideOpcode(lconst_1) -NoWideOpcode(fconst_0) -NoWideOpcode(fconst_1) -NoWideOpcode(fconst_2) -NoWideOpcode(dconst_0) -NoWideOpcode(dconst_1) -NoWideOpcode(bipush) -NoWideOpcode(sipush) -NoWideOpcode(ldc) -NoWideOpcode(ldc_w) -NoWideOpcode(ldc2_w) -WideOpcode(iload) -WideOpcode(lload) -WideOpcode(fload) -WideOpcode(dload) -WideOpcode(aload) -NoWideOpcode(iload_0) -NoWideOpcode(iload_1) -NoWideOpcode(iload_2) -NoWideOpcode(iload_3) -NoWideOpcode(lload_0) -NoWideOpcode(lload_1) -NoWideOpcode(lload_2) -NoWideOpcode(lload_3) -NoWideOpcode(fload_0) -NoWideOpcode(fload_1) -NoWideOpcode(fload_2) -NoWideOpcode(fload_3) -NoWideOpcode(dload_0) -NoWideOpcode(dload_1) -NoWideOpcode(dload_2) -NoWideOpcode(dload_3) -NoWideOpcode(aload_0) -NoWideOpcode(aload_1) -NoWideOpcode(aload_2) -NoWideOpcode(aload_3) -NoWideOpcode(iaload) -NoWideOpcode(laload) -NoWideOpcode(faload) -NoWideOpcode(daload) -NoWideOpcode(aaload) -NoWideOpcode(baload) -NoWideOpcode(caload) -NoWideOpcode(saload) -WideOpcode(istore) -WideOpcode(lstore) -WideOpcode(fstore) -WideOpcode(dstore) -WideOpcode(astore) -NoWideOpcode(istore_0) -NoWideOpcode(istore_1) -NoWideOpcode(istore_2) -NoWideOpcode(istore_3) -NoWideOpcode(lstore_0) -NoWideOpcode(lstore_1) -NoWideOpcode(lstore_2) -NoWideOpcode(lstore_3) -NoWideOpcode(fstore_0) -NoWideOpcode(fstore_1) -NoWideOpcode(fstore_2) -NoWideOpcode(fstore_3) -NoWideOpcode(dstore_0) -NoWideOpcode(dstore_1) -NoWideOpcode(dstore_2) -NoWideOpcode(dstore_3) -NoWideOpcode(astore_0) -NoWideOpcode(astore_1) -NoWideOpcode(astore_2) -NoWideOpcode(astore_3) -NoWideOpcode(iastore) -NoWideOpcode(lastore) -NoWideOpcode(fastore) -NoWideOpcode(dastore) -NoWideOpcode(aastore) -NoWideOpcode(bastore) -NoWideOpcode(castore) -NoWideOpcode(sastore) -NoWideOpcode(pop) -NoWideOpcode(pop2) -NoWideOpcode(dup) -NoWideOpcode(dup_x1) -NoWideOpcode(dup_x2) -NoWideOpcode(dup2) -NoWideOpcode(dup2_x1) -NoWideOpcode(dup2_x2) -NoWideOpcode(swap) -NoWideOpcode(iadd) -NoWideOpcode(ladd) -NoWideOpcode(fadd) -NoWideOpcode(dadd) -NoWideOpcode(isub) -NoWideOpcode(lsub) -NoWideOpcode(fsub) -NoWideOpcode(dsub) -NoWideOpcode(imul) -NoWideOpcode(lmul) -NoWideOpcode(fmul) -NoWideOpcode(dmul) -NoWideOpcode(idiv) -NoWideOpcode(ldiv) -NoWideOpcode(fdiv) -NoWideOpcode(ddiv) -NoWideOpcode(irem) -NoWideOpcode(lrem) -NoWideOpcode(frem) -NoWideOpcode(drem) -NoWideOpcode(ineg) -NoWideOpcode(lneg) -NoWideOpcode(fneg) -NoWideOpcode(dneg) -NoWideOpcode(ishl) -NoWideOpcode(lshl) -NoWideOpcode(ishr) -NoWideOpcode(lshr) -NoWideOpcode(iushr) -NoWideOpcode(lushr) -NoWideOpcode(iand) -NoWideOpcode(land) -NoWideOpcode(ior) -NoWideOpcode(lor) -NoWideOpcode(ixor) -NoWideOpcode(lxor) -WideOpcode(iinc) -NoWideOpcode(i2l) -NoWideOpcode(i2f) -NoWideOpcode(i2d) -NoWideOpcode(l2i) -NoWideOpcode(l2f) -NoWideOpcode(l2d) -NoWideOpcode(f2i) -NoWideOpcode(f2l) -NoWideOpcode(f2d) -NoWideOpcode(d2i) -NoWideOpcode(d2l) -NoWideOpcode(d2f) -NoWideOpcode(i2b) -NoWideOpcode(i2c) -NoWideOpcode(i2s) -NoWideOpcode(lcmp) -NoWideOpcode(fcmpl) -NoWideOpcode(fcmpg) -NoWideOpcode(dcmpl) -NoWideOpcode(dcmpg) -NoWideOpcode(ifeq) -NoWideOpcode(ifne) -NoWideOpcode(iflt) -NoWideOpcode(ifge) -NoWideOpcode(ifgt) -NoWideOpcode(ifle) -NoWideOpcode(if_icmpeq) -NoWideOpcode(if_icmpne) -NoWideOpcode(if_icmplt) -NoWideOpcode(if_icmpge) -NoWideOpcode(if_icmpgt) -NoWideOpcode(if_icmple) -NoWideOpcode(if_acmpeq) -NoWideOpcode(if_acmpne) -NoWideOpcode(goto) -NoWideOpcode(jsr) -WideOpcode(ret) -NoWideOpcode(tableswitch) -NoWideOpcode(lookupswitch) -NoWideOpcode(ireturn) -NoWideOpcode(lreturn) -NoWideOpcode(freturn) -NoWideOpcode(dreturn) -NoWideOpcode(areturn) -NoWideOpcode(return) -NoWideOpcode(getstatic) -NoWideOpcode(putstatic) -NoWideOpcode(getfield) -NoWideOpcode(putfield) -NoWideOpcode(invokevirtual) -NoWideOpcode(invokespecial) -NoWideOpcode(invokestatic) -NoWideOpcode(invokeinterface) -NoWideOpcode(xxxunusedxxx) -NoWideOpcode(new) -NoWideOpcode(newarray) -NoWideOpcode(anewarray) -NoWideOpcode(arraylength) -NoWideOpcode(athrow) -NoWideOpcode(checkcast) -NoWideOpcode(instanceof) -NoWideOpcode(monitorenter) -NoWideOpcode(monitorexit) -NoWideOpcode(wide) -NoWideOpcode(multianewarray) -NoWideOpcode(ifnull) -NoWideOpcode(ifnonnull) -NoWideOpcode(goto_w) -NoWideOpcode(jsr_w) -NoWideOpcode(breakpoint) -NoWideOpcode(ldc_quick) -NoWideOpcode(ldc_w_quick) -NoWideOpcode(ldc2_w_quick) -NoWideOpcode(getfield_quick) -NoWideOpcode(putfield_quick) -NoWideOpcode(getfield2_quick) -NoWideOpcode(putfield2_quick) -NoWideOpcode(getstatic_quick) -NoWideOpcode(putstatic_quick) -NoWideOpcode(getstatic2_quick) -NoWideOpcode(putstatic2_quick) -NoWideOpcode(invokevirtual_quick) -NoWideOpcode(invokenonvirtual_quick) -NoWideOpcode(invokesuper_quick) -NoWideOpcode(invokestatic_quick) -NoWideOpcode(invokeinterface_quick) -NoWideOpcode(invokevirtualobject_quick) -NoWideOpcode(invokeignored_quick) -NoWideOpcode(new_quick) -NoWideOpcode(anewarray_quick) -NoWideOpcode(multianewarray_quick) -NoWideOpcode(checkcast_quick) -NoWideOpcode(instanceof_quick) -NoWideOpcode(invokevirtual_quick_w) -NoWideOpcode(getfield_quick_w) -NoWideOpcode(putfield_quick_w) -NoWideOpcode(nonnull_quick) -NoWideOpcode(Illegal230) -NoWideOpcode(Illegal231) -NoWideOpcode(Illegal232) -NoWideOpcode(Illegal233) -NoWideOpcode(Illegal234) -NoWideOpcode(Illegal235) -NoWideOpcode(Illegal236) -NoWideOpcode(Illegal237) -NoWideOpcode(Illegal238) -NoWideOpcode(Illegal239) -NoWideOpcode(Illegal240) -NoWideOpcode(Illegal241) -NoWideOpcode(Illegal242) -NoWideOpcode(Illegal243) -NoWideOpcode(Illegal244) -NoWideOpcode(Illegal245) -NoWideOpcode(Illegal246) -NoWideOpcode(Illegal247) -NoWideOpcode(Illegal248) -NoWideOpcode(Illegal249) -NoWideOpcode(Illegal250) -NoWideOpcode(Illegal251) -NoWideOpcode(Illegal252) -NoWideOpcode(Illegal253) -NoWideOpcode(Illegal254) -NoWideOpcode(Illegal255) diff --git a/src/share/javavm/include/sys_api.h b/src/share/javavm/include/sys_api.h deleted file mode 100644 index d7856c3f658f2b0d96e394b18dcb49ff3e6473d8..0000000000000000000000000000000000000000 --- a/src/share/javavm/include/sys_api.h +++ /dev/null @@ -1,178 +0,0 @@ -/* - * Copyright 1994-1999 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -#ifndef _JAVASOFT_SYS_API_H_ -#define _JAVASOFT_SYS_API_H_ - -#include "hpi.h" - -extern HPI_MemoryInterface *hpi_memory_interface; -extern HPI_LibraryInterface *hpi_library_interface; -extern HPI_SystemInterface *hpi_system_interface; -extern HPI_ThreadInterface *hpi_thread_interface; -extern HPI_FileInterface *hpi_file_interface; -extern HPI_SocketInterface *hpi_socket_interface; - -#define sysMalloc(x) hpi_memory_interface->Malloc(x) -#define sysRealloc(x,y) hpi_memory_interface->Realloc(x,y) -#define sysFree(x) hpi_memory_interface->Free(x) -#define sysCalloc(x,y) hpi_memory_interface->Calloc(x,y) -#define sysStrdup(x) hpi_memory_interface->Strdup(x) -#define sysMapMem(x,y) hpi_memory_interface->MapMem(x,y) -#define sysUnmapMem(x,y,z) hpi_memory_interface->UnmapMem(x,y,z) -#define sysCommitMem(x,y,z) hpi_memory_interface->CommitMem(x,y,z) -#define sysDecommitMem(x,y,z) hpi_memory_interface->DecommitMem(x,y,z) -#define sysAllocBlock(x,y) hpi_memory_interface->AllocBlock(x,y) -#define sysFreeBlock(x) hpi_memory_interface->FreeBlock(x) - -#define sysBuildLibName(a,b,c,d) hpi_library_interface->BuildLibName(a,b,c,d) -#define sysBuildFunName(a,b,c,d) hpi_library_interface->BuildFunName(a,b,c,d) -#define sysLoadLibrary(a,b,c) hpi_library_interface->LoadLibrary(a,b,c) -#define sysUnloadLibrary(a) hpi_library_interface->UnloadLibrary(a) -#define sysFindLibraryEntry(a,b) hpi_library_interface->FindLibraryEntry(a,b) - -#define sysGetSysInfo() hpi_system_interface->GetSysInfo() -#define sysGetMilliTicks() hpi_system_interface->GetMilliTicks() -#define sysTimeMillis() hpi_system_interface->TimeMillis() - -#define sysSignal(a,b) hpi_system_interface->Signal(a,b) -#define sysRaise(a) hpi_system_interface->Raise(a) -#define sysSignalNotify(a) hpi_system_interface->SignalNotify(a) -#define sysSignalWait() hpi_system_interface->SignalWait() -#define sysShutdown() hpi_system_interface->Shutdown() -#define sysSetLoggingLevel(a) hpi_system_interface->SetLoggingLevel(a) -#define sysSetMonitoringOn(a) hpi_system_interface->SetMonitoringOn(a) -#define sysGetLastErrorString(a,b) hpi_system_interface->GetLastErrorString(a,b) - -#define sysThreadBootstrap(a,b,c) hpi_thread_interface->ThreadBootstrap(a,b,c) -#define sysThreadCreate(a,b,c,d) hpi_thread_interface->ThreadCreate(a,b,c,d) -#define sysThreadSelf() hpi_thread_interface->ThreadSelf() -#define sysThreadYield() hpi_thread_interface->ThreadYield() -#define sysThreadSuspend(a) hpi_thread_interface->ThreadSuspend(a) -#define sysThreadResume(a) hpi_thread_interface->ThreadResume(a) -#define sysThreadSetPriority(a,b) hpi_thread_interface->ThreadSetPriority(a,b) -#define sysThreadGetPriority(a,b) hpi_thread_interface->ThreadGetPriority(a,b) -#define sysThreadStackPointer(a) hpi_thread_interface->ThreadStackPointer(a) -#define sysThreadStackTop(a) hpi_thread_interface->ThreadStackTop(a) -#define sysThreadRegs(a,b) hpi_thread_interface->ThreadRegs(a,b) -#define sysThreadSingle() hpi_thread_interface->ThreadSingle() -#define sysThreadMulti() hpi_thread_interface->ThreadMulti() -#define sysThreadCheckStack() hpi_thread_interface->ThreadCheckStack() -#define sysThreadPostException(a,b) \ - hpi_thread_interface->ThreadPostException(a,b) -#define sysThreadInterrupt(a) hpi_thread_interface->ThreadInterrupt(a) -#define sysThreadIsInterrupted(a,b) \ - hpi_thread_interface->ThreadIsInterrupted(a,b) -#define sysThreadAlloc(a) hpi_thread_interface->ThreadAlloc(a) -#define sysThreadFree() hpi_thread_interface->ThreadFree() -#define sysThreadCPUTime() hpi_thread_interface->ThreadCPUTime() -#define sysThreadGetStatus(a,b) hpi_thread_interface->ThreadGetStatus(a,b) -#define sysThreadEnumerateOver(a,b) \ - hpi_thread_interface->ThreadEnumerateOver(a,b) -#define sysThreadIsRunning(a) hpi_thread_interface->ThreadIsRunning(a) -#define sysThreadProfSuspend(a) hpi_thread_interface->ThreadProfSuspend(a) -#define sysThreadProfResume(a) hpi_thread_interface->ThreadProfResume(a) -#define sysAdjustTimeSlice(a) hpi_thread_interface->AdjustTimeSlice(a) - -#define sysMonitorSizeof() hpi_thread_interface->MonitorSizeof() -#define sysMonitorInit(a) hpi_thread_interface->MonitorInit(a) -#define sysMonitorDestroy(a) hpi_thread_interface->MonitorDestroy(a) -#define sysMonitorEnter(a,b) hpi_thread_interface->MonitorEnter(a,b) -#define sysMonitorEntered(a,b) hpi_thread_interface->MonitorEntered(a,b) -#define sysMonitorExit(a,b) hpi_thread_interface->MonitorExit(a,b) -#define sysMonitorNotify(a,b) hpi_thread_interface->MonitorNotify(a,b) -#define sysMonitorNotifyAll(a,b) hpi_thread_interface->MonitorNotifyAll(a,b) -#define sysMonitorWait(a,b,c) hpi_thread_interface->MonitorWait(a,b,c) -#define sysMonitorInUse(a) hpi_thread_interface->MonitorInUse(a) -#define sysMonitorOwner(a) hpi_thread_interface->MonitorOwner(a) -#define sysMonitorGetInfo(a,b) hpi_thread_interface->MonitorGetInfo(a,b) - -#define sysThreadInterruptEvent() hpi_thread_interface->ThreadInterruptEvent() -#define sysThreadNativeID(a) hpi_thread_interface->ThreadNativeID(a) - -#define sysNativePath(a) hpi_file_interface->NativePath(a) -#define sysFileType(a) hpi_file_interface->FileType(a) -#define sysOpen(a,b,c) hpi_file_interface->Open(a,b,c) -#define sysClose(a) hpi_file_interface->Close(a) -#define sysSeek(a,b,c) hpi_file_interface->Seek(a,b,c) -#define sysSetLength(a,b) hpi_file_interface->SetLength(a,b) -#define sysSync(a) hpi_file_interface->Sync(a) -#define sysAvailable(a,b) hpi_file_interface->Available(a,b) -#define sysRead(a,b,c) hpi_file_interface->Read(a,b,c) -#define sysWrite(a,b,c) hpi_file_interface->Write(a,b,c) -#define sysFileSizeFD(a,b) hpi_file_interface->FileSizeFD(a,b) - -#define sysSocketClose(a) hpi_socket_interface->Close(a) -#define sysSocketShutdown(a,b) hpi_socket_interface->SocketShutdown(a,b) -#define sysSocketAvailable(a,b) hpi_socket_interface->Available(a,b) -#define sysConnect(a,b,c) hpi_socket_interface->Connect(a,b,c) -#define sysBind(a,b,c) hpi_socket_interface->Bind(a,b,c) -#define sysAccept(a,b,c) hpi_socket_interface->Accept(a,b,c) -#define sysGetSockName(a,b,c) hpi_socket_interface->GetSocketName(a,b,c) -#define sysSendTo(a,b,c,d,e,f) hpi_socket_interface->SendTo(a,b,c,d,e,f) -#define sysRecvFrom(a,b,c,d,e,f) hpi_socket_interface->RecvFrom(a,b,c,d,e,f) -#define sysListen(a,b) hpi_socket_interface->Listen(a,b) -#define sysRecv(a,b,c,d) hpi_socket_interface->Recv(a,b,c,d) -#define sysSend(a,b,c,d) hpi_socket_interface->Send(a,b,c,d) -#define sysTimeout(a,b) hpi_socket_interface->Timeout(a,b) -#define sysGetHostName(a, b) hpi_socket_interface->GetHostName(a, b) -#define sysGetHostByAddr(a, b, c) hpi_socket_interface->GetHostByAddr(a, b, c) -#define sysGetHostByName(a) hpi_socket_interface->GetHostByName(a) -#define sysSocket(a,b,c) hpi_socket_interface->Socket(a,b,c) -#define sysGetSockOpt(a, b, c, d, e) hpi_socket_interface->SocketGetOption(a, b, c, d, e) -#define sysSetSockOpt(a, b, c, d, e) hpi_socket_interface->SocketSetOption(a, b, c, d, e) -#define sysGetProtoByName(a) hpi_socket_interface->GetProtoByName(a) - -#define SYS_SIG_DFL HPI_SIG_DFL -#define SYS_SIG_ERR HPI_SIG_ERR -#define SYS_SIG_IGN HPI_SIG_IGN - -#define SYS_OK HPI_OK -#define SYS_ERR HPI_ERR -#define SYS_INTRPT HPI_INTRPT -#define SYS_TIMEOUT HPI_TIMEOUT -#define SYS_NOMEM HPI_NOMEM -#define SYS_NORESOURCE HPI_NORESOURCE - -#define SYS_THREAD_RUNNABLE HPI_THREAD_RUNNABLE -#define SYS_THREAD_MONITOR_WAIT HPI_THREAD_MONITOR_WAIT -#define SYS_THREAD_CONDVAR_WAIT HPI_THREAD_CONDVAR_WAIT - -#define MinimumPriority HPI_MINIMUM_PRIORITY -#define MaximumPriority HPI_MAXIMUM_PRIORITY -#define NormalPriority HPI_NORMAL_PRIORITY - -#define SYS_THREAD_SUSPENDED HPI_THREAD_SUSPENDED -#define SYS_THREAD_INTERRUPTED HPI_THREAD_INTERRUPTED - -#define PAGE_ALIGNMENT HPI_PAGE_ALIGNMENT - -#define SYS_TIMEOUT_INFINITY HPI_TIMEOUT_INFINITY - -#define SYS_FILETYPE_REGULAR HPI_FILETYPE_REGULAR -#define SYS_FILETYPE_DIRECTORY HPI_FILETYPE_DIRECTORY -#define SYS_FILETYPE_OTHER HPI_FILETYPE_OTHER - -#endif /* !_JAVASOFT_SYS_API_H_ */ diff --git a/src/share/javavm/include/typedefs.h b/src/share/javavm/include/typedefs.h deleted file mode 100644 index 6c35063bca7a2764a2ffdb8874120b382094f311..0000000000000000000000000000000000000000 --- a/src/share/javavm/include/typedefs.h +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright 1994-2002 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -#ifndef _JAVASOFT_TYPEDEFS_H_ -#define _JAVASOFT_TYPEDEFS_H_ - -#include "typedefs_md.h" /* for int64_t */ - -/* - * Macros to deal with the JavaVM's stack alignment. Many machines - * require doublewords to be double aligned. This union is used by - * code in math.h as a more portable way do alingnment on machines - * that require it. This union and the macros that use it came from - * Netscape. - */ - -#ifdef HAVE_ALIGNED_LONGLONGS -#define GET_INT64(_t,_addr) \ - ((((int32_t*) &(_t))[0] = ((int32_t*)(_addr))[0]), \ - (((int32_t*) &(_t))[1] = ((int32_t*)(_addr))[1]), \ - (_t).j ) -#define SET_INT64(_t, _addr, _v) \ - ( (_t).j = (_v), \ - ((int32_t*)(_addr))[0] = ((int32_t*) &(_t))[0], \ - ((int32_t*)(_addr))[1] = ((int32_t*) &(_t))[1] ) -#else -#define GET_INT64(_t,_addr) (*(int64_t*)(_addr)) -#define SET_INT64(_t, _addr, _v) (*(int64_t*)(_addr) = (_v)) -#endif - -/* If double's must be aligned on doubleword boundaries then define this */ -#ifdef HAVE_ALIGNED_DOUBLES -#define GET_DOUBLE(_t,_addr) \ - ((((int32_t*) &(_t))[0] = ((int32_t*)(_addr))[0]), \ - (((int32_t*) &(_t))[1] = ((int32_t*)(_addr))[1]), \ - (_t).d ) -#define SET_DOUBLE(_t, _addr, _v) \ - ( (_t).d = (_v), \ - ((int32_t*)(_addr))[0] = ((int32_t*) &(_t))[0], \ - ((int32_t*)(_addr))[1] = ((int32_t*) &(_t))[1] ) -#else -#define GET_DOUBLE(_t,_addr) (*(jdouble*)(_addr)) -#define SET_DOUBLE(_t, _addr, _v) (*(jdouble*)(_addr) = (_v)) -#endif - -/* If pointers are 64bits then define this */ -#ifdef HAVE_64BIT_POINTERS -#define GET_HANDLE(_t,_addr) \ - ( ((int32_t*) &(_t))[0] = ((int32_t*)(_addr))[0]), \ - ((int32_t*) &(_t))[1] = ((int32_t*)(_addr))[1]), \ - (void*) (_t).l ) -#define SET_HANDLE(_t, _addr, _v) \ - ( *(void**) &((_t).l) = (_v), \ - ((int32_t*)(_addr))[0] = ((int32_t*) &(_t))[0], \ - ((int32_t*)(_addr))[1] = ((int32_t*) &(_t))[1] ) -#else -#define GET_HANDLE(_t,_addr) (*(JHandle*)(_addr)) -#define SET_HANDLE(_t, _addr, _v) (*(JHandle*)(_addr) = (_v)) -#endif - - -/* - * Printf-style formatters for fixed- and variable-width types as pointers and - * integers. - * - * Each platform-specific definitions file "typedefs_md.h" - * must define the macro FORMAT64_MODIFIER, which is the modifier for '%x' or - * '%d' formats to indicate a 64-bit quantity; commonly "l" (in LP64) or "ll" - * (in ILP32). - */ - -/* Format 32-bit quantities. */ -#define INT32_FORMAT "%d" -#define UINT32_FORMAT "%u" -#define PTR32_FORMAT "0x%08x" - -/* Format 64-bit quantities. */ -#define INT64_FORMAT "%" FORMAT64_MODIFIER "d" -#define UINT64_FORMAT "%" FORMAT64_MODIFIER "u" -#define PTR64_FORMAT "0x%016" FORMAT64_MODIFIER "x" - -/* Format pointers and size_t (or size_t-like integer types) which change size - * between 32- and 64-bit. - */ -#if defined(_LP64) || defined(_WIN64) -#define PTR_FORMAT PTR64_FORMAT -#define SIZE_FORMAT UINT64_FORMAT -#define SSIZE_FORMAT INT64_FORMAT -#else -#define PTR_FORMAT PTR32_FORMAT -#define SIZE_FORMAT UINT32_FORMAT -#define SSIZE_FORMAT INT32_FORMAT -#endif - -#define INTPTR_FORMAT PTR_FORMAT - - -#endif /* !_JAVASOFT_TYPEDEFS_H_ */ diff --git a/src/share/native/common/check_code.c b/src/share/native/common/check_code.c index d06b2eddd6257fc58ceec55b7117a1942f4fcbd4..7e1613255dcf48924fd92b93447469ebcf049644 100644 --- a/src/share/native/common/check_code.c +++ b/src/share/native/common/check_code.c @@ -1,5 +1,5 @@ /* - * Copyright 1994-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1994-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -87,10 +87,7 @@ #include "jni.h" #include "jvm.h" -#include "typedefs.h" - -#include "opcodes.h" -#include "opcodes.length" +#include "classfile_constants.h" #include "opcodes.in_out" #define MAX_ARRAY_DIMENSIONS 255 @@ -161,8 +158,8 @@ typedef unsigned int *bitvector; #define NULL_FULLINFO MAKE_FULLINFO(ITEM_Object, 0, 0) -/* opc_invokespecial calls to need to be treated special */ -#define opc_invokeinit 0x100 +/* JVM_OPC_invokespecial calls to need to be treated special */ +#define JVM_OPC_invokeinit 0x100 /* A hash mechanism used by the verifier. * Maps class names to unique 16 bit integers. @@ -301,7 +298,7 @@ struct mask_type { typedef unsigned short flag_type; struct instruction_data_type { - opcode_type opcode; /* may turn into "canonical" opcode */ + int opcode; /* may turn into "canonical" opcode */ unsigned changed:1; /* has it changed */ unsigned protected:1; /* must accessor be a subclass of "this" */ union { @@ -345,7 +342,7 @@ static void free_all_code(int num_methods, int* lengths, unsigned char** code); static void verify_field(context_type *context, jclass cb, int index); static void verify_opcode_operands (context_type *, unsigned int inumber, int offset); -static void set_protected(context_type *, unsigned int inumber, int key, opcode_type); +static void set_protected(context_type *, unsigned int inumber, int key, int); static jboolean is_superclass(context_type *, fullinfo_type); static void initialize_exception_table(context_type *); @@ -1084,7 +1081,7 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) int *code_data = context->code_data; int mi = context->method_index; unsigned char *code = context->code; - opcode_type opcode = this_idata->opcode; + int opcode = this_idata->opcode; int var; /* @@ -1096,17 +1093,17 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) switch (opcode) { - case opc_jsr: + case JVM_OPC_jsr: /* instruction of ret statement */ this_idata->operand2.i = UNKNOWN_RET_INSTRUCTION; /* FALLTHROUGH */ - case opc_ifeq: case opc_ifne: case opc_iflt: - case opc_ifge: case opc_ifgt: case opc_ifle: - case opc_ifnull: case opc_ifnonnull: - case opc_if_icmpeq: case opc_if_icmpne: case opc_if_icmplt: - case opc_if_icmpge: case opc_if_icmpgt: case opc_if_icmple: - case opc_if_acmpeq: case opc_if_acmpne: - case opc_goto: { + case JVM_OPC_ifeq: case JVM_OPC_ifne: case JVM_OPC_iflt: + case JVM_OPC_ifge: case JVM_OPC_ifgt: case JVM_OPC_ifle: + case JVM_OPC_ifnull: case JVM_OPC_ifnonnull: + case JVM_OPC_if_icmpeq: case JVM_OPC_if_icmpne: case JVM_OPC_if_icmplt: + case JVM_OPC_if_icmpge: case JVM_OPC_if_icmpgt: case JVM_OPC_if_icmple: + case JVM_OPC_if_acmpeq: case JVM_OPC_if_acmpne: + case JVM_OPC_goto: { /* Set the ->operand to be the instruction number of the target. */ int jump = (((signed char)(code[offset+1])) << 8) + code[offset+2]; int target = offset + jump; @@ -1116,11 +1113,11 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) break; } - case opc_jsr_w: + case JVM_OPC_jsr_w: /* instruction of ret statement */ this_idata->operand2.i = UNKNOWN_RET_INSTRUCTION; /* FALLTHROUGH */ - case opc_goto_w: { + case JVM_OPC_goto_w: { /* Set the ->operand to be the instruction number of the target. */ int jump = (((signed char)(code[offset+1])) << 24) + (code[offset+2] << 16) + (code[offset+3] << 8) + @@ -1132,8 +1129,8 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) break; } - case opc_tableswitch: - case opc_lookupswitch: { + case JVM_OPC_tableswitch: + case JVM_OPC_lookupswitch: { /* Set the ->operand to be a table of possible instruction targets. */ int *lpc = (int *) UCALIGN(code + offset + 1); int *lptr; @@ -1147,7 +1144,7 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) CCerror(context, "Non zero padding bytes in switch"); } } - if (opcode == opc_tableswitch) { + if (opcode == JVM_OPC_tableswitch) { keys = ntohl(lpc[2]) - ntohl(lpc[1]) + 1; delta = 1; } else { @@ -1169,7 +1166,7 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) for (k = keys, lptr = &lpc[3]; --k >= 0; lptr += delta) { int target = offset + ntohl(lptr[0]); if (!isLegalTarget(context, target)) - CCerror(context, "Illegal branch in opc_tableswitch"); + CCerror(context, "Illegal branch in tableswitch"); saved_operand[k + 1] = code_data[target]; } saved_operand[0] = keys + 1; /* number of successors */ @@ -1177,7 +1174,7 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) break; } - case opc_ldc: { + case JVM_OPC_ldc: { /* Make sure the constant pool item is the right type. */ int key = code[offset + 1]; int types = (1 << JVM_CONSTANT_Integer) | (1 << JVM_CONSTANT_Float) | @@ -1190,7 +1187,7 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) break; } - case opc_ldc_w: { + case JVM_OPC_ldc_w: { /* Make sure the constant pool item is the right type. */ int key = (code[offset + 1] << 8) + code[offset + 2]; int types = (1 << JVM_CONSTANT_Integer) | (1 << JVM_CONSTANT_Float) | @@ -1203,7 +1200,7 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) break; } - case opc_ldc2_w: { + case JVM_OPC_ldc2_w: { /* Make sure the constant pool item is the right type. */ int key = (code[offset + 1] << 8) + code[offset + 2]; int types = (1 << JVM_CONSTANT_Double) | (1 << JVM_CONSTANT_Long); @@ -1212,28 +1209,28 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) break; } - case opc_getfield: case opc_putfield: - case opc_getstatic: case opc_putstatic: { + case JVM_OPC_getfield: case JVM_OPC_putfield: + case JVM_OPC_getstatic: case JVM_OPC_putstatic: { /* Make sure the constant pool item is the right type. */ int key = (code[offset + 1] << 8) + code[offset + 2]; this_idata->operand.i = key; verify_constant_pool_type(context, key, 1 << JVM_CONSTANT_Fieldref); - if (opcode == opc_getfield || opcode == opc_putfield) + if (opcode == JVM_OPC_getfield || opcode == JVM_OPC_putfield) set_protected(context, inumber, key, opcode); break; } - case opc_invokevirtual: - case opc_invokespecial: - case opc_invokestatic: - case opc_invokeinterface: { + case JVM_OPC_invokevirtual: + case JVM_OPC_invokespecial: + case JVM_OPC_invokestatic: + case JVM_OPC_invokeinterface: { /* Make sure the constant pool item is the right type. */ int key = (code[offset + 1] << 8) + code[offset + 2]; const char *methodname; jclass cb = context->class; fullinfo_type clazz_info; int is_constructor, is_internal; - int kind = (opcode == opc_invokeinterface + int kind = (opcode == JVM_OPC_invokeinterface ? 1 << JVM_CONSTANT_InterfaceMethodref : 1 << JVM_CONSTANT_Methodref); /* Make sure the constant pool item is the right type. */ @@ -1249,16 +1246,16 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) this_idata->operand.i = key; this_idata->operand2.fi = clazz_info; if (is_constructor) { - if (opcode != opc_invokespecial) { + if (opcode != JVM_OPC_invokespecial) { CCerror(context, "Must call initializers using invokespecial"); } - this_idata->opcode = opc_invokeinit; + this_idata->opcode = JVM_OPC_invokeinit; } else { if (is_internal) { CCerror(context, "Illegal call to internal method"); } - if (opcode == opc_invokespecial + if (opcode == JVM_OPC_invokespecial && clazz_info != context->currentclass_info && clazz_info != context->superclass_info) { int not_found = 1; @@ -1290,7 +1287,7 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) } } } - if (opcode == opc_invokeinterface) { + if (opcode == JVM_OPC_invokeinterface) { unsigned int args1; unsigned int args2; const char *signature = @@ -1300,25 +1297,25 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) args2 = code[offset + 3]; if (args1 != args2) { CCerror(context, - "Inconsistent args_size for opc_invokeinterface"); + "Inconsistent args_size for invokeinterface"); } if (code[offset + 4] != 0) { CCerror(context, "Fourth operand byte of invokeinterface must be zero"); } pop_and_free(context); - } else if (opcode == opc_invokevirtual - || opcode == opc_invokespecial) + } else if (opcode == JVM_OPC_invokevirtual + || opcode == JVM_OPC_invokespecial) set_protected(context, inumber, key, opcode); break; } - case opc_instanceof: - case opc_checkcast: - case opc_new: - case opc_anewarray: - case opc_multianewarray: { + case JVM_OPC_instanceof: + case JVM_OPC_checkcast: + case JVM_OPC_new: + case JVM_OPC_anewarray: + case JVM_OPC_multianewarray: { /* Make sure the constant pool item is a class */ int key = (code[offset + 1] << 8) + code[offset + 2]; fullinfo_type target; @@ -1327,14 +1324,14 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) if (GET_ITEM_TYPE(target) == ITEM_Bogus) CCerror(context, "Illegal type"); switch(opcode) { - case opc_anewarray: + case JVM_OPC_anewarray: if ((GET_INDIRECTION(target)) >= MAX_ARRAY_DIMENSIONS) CCerror(context, "Array with too many dimensions"); this_idata->operand.fi = MAKE_FULLINFO(GET_ITEM_TYPE(target), GET_INDIRECTION(target) + 1, GET_EXTRA_INFO(target)); break; - case opc_new: + case JVM_OPC_new: if (WITH_ZERO_EXTRA_INFO(target) != MAKE_FULLINFO(ITEM_Object, 0, 0)) CCerror(context, "Illegal creation of multi-dimensional array"); @@ -1343,10 +1340,10 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) this_idata->operand.fi = MAKE_FULLINFO(ITEM_NewObject, 0, inumber); this_idata->operand2.fi = target; break; - case opc_multianewarray: + case JVM_OPC_multianewarray: this_idata->operand.fi = target; this_idata->operand2.i = code[offset + 3]; - if ( (this_idata->operand2.i > GET_INDIRECTION(target)) + if ( (this_idata->operand2.i > (int)GET_INDIRECTION(target)) || (this_idata->operand2.i == 0)) CCerror(context, "Illegal dimension argument"); break; @@ -1356,8 +1353,8 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) break; } - case opc_newarray: { - /* Cache the result of the opc_newarray into the operand slot */ + case JVM_OPC_newarray: { + /* Cache the result of the JVM_OPC_newarray into the operand slot */ fullinfo_type full_info; switch (code[offset + 1]) { case JVM_T_INT: @@ -1376,78 +1373,78 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) full_info = MAKE_FULLINFO(ITEM_Short, 1, 0); break; default: full_info = 0; /* Keep lint happy */ - CCerror(context, "Bad type passed to opc_newarray"); + CCerror(context, "Bad type passed to newarray"); } this_idata->operand.fi = full_info; break; } /* Fudge iload_x, aload_x, etc to look like their generic cousin. */ - case opc_iload_0: case opc_iload_1: case opc_iload_2: case opc_iload_3: - this_idata->opcode = opc_iload; - var = opcode - opc_iload_0; + case JVM_OPC_iload_0: case JVM_OPC_iload_1: case JVM_OPC_iload_2: case JVM_OPC_iload_3: + this_idata->opcode = JVM_OPC_iload; + var = opcode - JVM_OPC_iload_0; goto check_local_variable; - case opc_fload_0: case opc_fload_1: case opc_fload_2: case opc_fload_3: - this_idata->opcode = opc_fload; - var = opcode - opc_fload_0; + case JVM_OPC_fload_0: case JVM_OPC_fload_1: case JVM_OPC_fload_2: case JVM_OPC_fload_3: + this_idata->opcode = JVM_OPC_fload; + var = opcode - JVM_OPC_fload_0; goto check_local_variable; - case opc_aload_0: case opc_aload_1: case opc_aload_2: case opc_aload_3: - this_idata->opcode = opc_aload; - var = opcode - opc_aload_0; + case JVM_OPC_aload_0: case JVM_OPC_aload_1: case JVM_OPC_aload_2: case JVM_OPC_aload_3: + this_idata->opcode = JVM_OPC_aload; + var = opcode - JVM_OPC_aload_0; goto check_local_variable; - case opc_lload_0: case opc_lload_1: case opc_lload_2: case opc_lload_3: - this_idata->opcode = opc_lload; - var = opcode - opc_lload_0; + case JVM_OPC_lload_0: case JVM_OPC_lload_1: case JVM_OPC_lload_2: case JVM_OPC_lload_3: + this_idata->opcode = JVM_OPC_lload; + var = opcode - JVM_OPC_lload_0; goto check_local_variable2; - case opc_dload_0: case opc_dload_1: case opc_dload_2: case opc_dload_3: - this_idata->opcode = opc_dload; - var = opcode - opc_dload_0; + case JVM_OPC_dload_0: case JVM_OPC_dload_1: case JVM_OPC_dload_2: case JVM_OPC_dload_3: + this_idata->opcode = JVM_OPC_dload; + var = opcode - JVM_OPC_dload_0; goto check_local_variable2; - case opc_istore_0: case opc_istore_1: case opc_istore_2: case opc_istore_3: - this_idata->opcode = opc_istore; - var = opcode - opc_istore_0; + case JVM_OPC_istore_0: case JVM_OPC_istore_1: case JVM_OPC_istore_2: case JVM_OPC_istore_3: + this_idata->opcode = JVM_OPC_istore; + var = opcode - JVM_OPC_istore_0; goto check_local_variable; - case opc_fstore_0: case opc_fstore_1: case opc_fstore_2: case opc_fstore_3: - this_idata->opcode = opc_fstore; - var = opcode - opc_fstore_0; + case JVM_OPC_fstore_0: case JVM_OPC_fstore_1: case JVM_OPC_fstore_2: case JVM_OPC_fstore_3: + this_idata->opcode = JVM_OPC_fstore; + var = opcode - JVM_OPC_fstore_0; goto check_local_variable; - case opc_astore_0: case opc_astore_1: case opc_astore_2: case opc_astore_3: - this_idata->opcode = opc_astore; - var = opcode - opc_astore_0; + case JVM_OPC_astore_0: case JVM_OPC_astore_1: case JVM_OPC_astore_2: case JVM_OPC_astore_3: + this_idata->opcode = JVM_OPC_astore; + var = opcode - JVM_OPC_astore_0; goto check_local_variable; - case opc_lstore_0: case opc_lstore_1: case opc_lstore_2: case opc_lstore_3: - this_idata->opcode = opc_lstore; - var = opcode - opc_lstore_0; + case JVM_OPC_lstore_0: case JVM_OPC_lstore_1: case JVM_OPC_lstore_2: case JVM_OPC_lstore_3: + this_idata->opcode = JVM_OPC_lstore; + var = opcode - JVM_OPC_lstore_0; goto check_local_variable2; - case opc_dstore_0: case opc_dstore_1: case opc_dstore_2: case opc_dstore_3: - this_idata->opcode = opc_dstore; - var = opcode - opc_dstore_0; + case JVM_OPC_dstore_0: case JVM_OPC_dstore_1: case JVM_OPC_dstore_2: case JVM_OPC_dstore_3: + this_idata->opcode = JVM_OPC_dstore; + var = opcode - JVM_OPC_dstore_0; goto check_local_variable2; - case opc_wide: + case JVM_OPC_wide: this_idata->opcode = code[offset + 1]; var = (code[offset + 2] << 8) + code[offset + 3]; switch(this_idata->opcode) { - case opc_lload: case opc_dload: - case opc_lstore: case opc_dstore: + case JVM_OPC_lload: case JVM_OPC_dload: + case JVM_OPC_lstore: case JVM_OPC_dstore: goto check_local_variable2; default: goto check_local_variable; } - case opc_iinc: /* the increment amount doesn't matter */ - case opc_ret: - case opc_aload: case opc_iload: case opc_fload: - case opc_astore: case opc_istore: case opc_fstore: + case JVM_OPC_iinc: /* the increment amount doesn't matter */ + case JVM_OPC_ret: + case JVM_OPC_aload: case JVM_OPC_iload: case JVM_OPC_fload: + case JVM_OPC_astore: case JVM_OPC_istore: case JVM_OPC_fstore: var = code[offset + 1]; check_local_variable: /* Make sure that the variable number isn't illegal. */ @@ -1456,7 +1453,7 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) CCerror(context, "Illegal local variable number"); break; - case opc_lload: case opc_dload: case opc_lstore: case opc_dstore: + case JVM_OPC_lload: case JVM_OPC_dload: case JVM_OPC_lstore: case JVM_OPC_dstore: var = code[offset + 1]; check_local_variable2: /* Make sure that the variable number isn't illegal. */ @@ -1466,7 +1463,7 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) break; default: - if (opcode >= opc_breakpoint) + if (opcode > JVM_OPC_MAX) CCerror(context, "Quick instructions shouldn't appear yet."); break; } /* of switch */ @@ -1474,11 +1471,11 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) static void -set_protected(context_type *context, unsigned int inumber, int key, opcode_type opcode) +set_protected(context_type *context, unsigned int inumber, int key, int opcode) { JNIEnv *env = context->env; fullinfo_type clazz_info; - if (opcode != opc_invokevirtual && opcode != opc_invokespecial) { + if (opcode != JVM_OPC_invokevirtual && opcode != JVM_OPC_invokespecial) { clazz_info = cp_index_to_class_fullinfo(context, key, JVM_CONSTANT_Fieldref); } else { @@ -1497,7 +1494,7 @@ set_protected(context_type *context, unsigned int inumber, int key, opcode_type calledClass = (*env)->NewLocalRef(env, calledClass); do { jclass tmp_cb; - if (opcode != opc_invokevirtual && opcode != opc_invokespecial) { + if (opcode != JVM_OPC_invokevirtual && opcode != JVM_OPC_invokespecial) { access = JVM_GetCPFieldModifiers (env, context->class, key, calledClass); } else { @@ -1607,9 +1604,10 @@ initialize_exception_table(context_type *context) */ static int instruction_length(unsigned char *iptr, unsigned char *end) { + static unsigned char opcode_length[] = JVM_OPCODE_LENGTH_INITIALIZER; int instruction = *iptr; switch (instruction) { - case opc_tableswitch: { + case JVM_OPC_tableswitch: { int *lpc = (int *)UCALIGN(iptr + 1); int index; if (lpc + 2 >= (int *)end) { @@ -1623,7 +1621,7 @@ static int instruction_length(unsigned char *iptr, unsigned char *end) } } - case opc_lookupswitch: { + case JVM_OPC_lookupswitch: { int *lpc = (int *) UCALIGN(iptr + 1); int npairs; if (lpc + 1 >= (int *)end) @@ -1638,18 +1636,18 @@ static int instruction_length(unsigned char *iptr, unsigned char *end) return (unsigned char *)(&lpc[2 * (npairs + 1)]) - iptr; } - case opc_wide: + case JVM_OPC_wide: if (iptr + 1 >= end) return -1; /* do not read pass the end */ switch(iptr[1]) { - case opc_ret: - case opc_iload: case opc_istore: - case opc_fload: case opc_fstore: - case opc_aload: case opc_astore: - case opc_lload: case opc_lstore: - case opc_dload: case opc_dstore: + case JVM_OPC_ret: + case JVM_OPC_iload: case JVM_OPC_istore: + case JVM_OPC_fload: case JVM_OPC_fstore: + case JVM_OPC_aload: case JVM_OPC_astore: + case JVM_OPC_lload: case JVM_OPC_lstore: + case JVM_OPC_dload: case JVM_OPC_dstore: return 4; - case opc_iinc: + case JVM_OPC_iinc: return 6; default: return -1; @@ -1767,7 +1765,7 @@ run_dataflow(context_type *context) { jclass cb = context->class; int max_stack_size = JVM_GetMethodIxMaxStack(env, cb, mi); instruction_data_type *idata = context->instruction_data; - int icount = context->instruction_count; + unsigned int icount = context->instruction_count; jboolean work_to_do = JNI_TRUE; unsigned int inumber; @@ -1839,7 +1837,7 @@ check_register_values(context_type *context, unsigned int inumber) { instruction_data_type *idata = context->instruction_data; instruction_data_type *this_idata = &idata[inumber]; - opcode_type opcode = this_idata->opcode; + int opcode = this_idata->opcode; int operand = this_idata->operand.i; int register_count = this_idata->register_info.register_count; fullinfo_type *registers = this_idata->register_info.registers; @@ -1849,17 +1847,17 @@ check_register_values(context_type *context, unsigned int inumber) switch (opcode) { default: return; - case opc_iload: case opc_iinc: + case JVM_OPC_iload: case JVM_OPC_iinc: type = ITEM_Integer; break; - case opc_fload: + case JVM_OPC_fload: type = ITEM_Float; break; - case opc_aload: + case JVM_OPC_aload: type = ITEM_Object; break; - case opc_ret: + case JVM_OPC_ret: type = ITEM_ReturnAddress; break; - case opc_lload: + case JVM_OPC_lload: type = ITEM_Long; double_word = JNI_TRUE; break; - case opc_dload: + case JVM_OPC_dload: type = ITEM_Double; double_word = JNI_TRUE; break; } if (!double_word) { @@ -1871,7 +1869,7 @@ check_register_values(context_type *context, unsigned int inumber) } reg = registers[operand]; - if (WITH_ZERO_EXTRA_INFO(reg) == MAKE_FULLINFO(type, 0, 0)) { + if (WITH_ZERO_EXTRA_INFO(reg) == (unsigned)MAKE_FULLINFO(type, 0, 0)) { /* the register is obviously of the given type */ return; } else if (GET_INDIRECTION(reg) > 0 && type == ITEM_Object) { @@ -1882,7 +1880,7 @@ check_register_values(context_type *context, unsigned int inumber) operand); /* alternatively (GET_ITEM_TYPE(reg) == ITEM_ReturnAddress) - && (opcode == opc_iload) + && (opcode == JVM_OPC_iload) && (type == ITEM_Object || type == ITEM_Integer) but this never occurs */ @@ -1902,8 +1900,8 @@ check_register_values(context_type *context, unsigned int inumber) "Accessing value from uninitialized register pair %d/%d", operand, operand+1); } else { - if ((registers[operand] == MAKE_FULLINFO(type, 0, 0)) && - (registers[operand + 1] == MAKE_FULLINFO(type + 1, 0, 0))) { + if ((registers[operand] == (unsigned)MAKE_FULLINFO(type, 0, 0)) && + (registers[operand + 1] == (unsigned)MAKE_FULLINFO(type + 1, 0, 0))) { return; } else { CCerror(context, "Register pair %d/%d contains wrong type", @@ -1922,16 +1920,16 @@ check_flags(context_type *context, unsigned int inumber) { instruction_data_type *idata = context->instruction_data; instruction_data_type *this_idata = &idata[inumber]; - opcode_type opcode = this_idata->opcode; + int opcode = this_idata->opcode; switch (opcode) { - case opc_return: + case JVM_OPC_return: /* We need a constructor, but we aren't guaranteed it's called */ if ((this_idata->or_flags & FLAG_NEED_CONSTRUCTOR) && !(this_idata->and_flags & FLAG_CONSTRUCTED)) CCerror(context, "Constructor must call super() or this()"); /* fall through */ - case opc_ireturn: case opc_lreturn: - case opc_freturn: case opc_dreturn: case opc_areturn: + case JVM_OPC_ireturn: case JVM_OPC_lreturn: + case JVM_OPC_freturn: case JVM_OPC_dreturn: case JVM_OPC_areturn: if (this_idata->or_flags & FLAG_NO_RETURN) /* This method cannot exit normally */ CCerror(context, "Cannot return normally"); @@ -1950,7 +1948,7 @@ pop_stack(context_type *context, unsigned int inumber, stack_info_type *new_stac { instruction_data_type *idata = context->instruction_data; instruction_data_type *this_idata = &idata[inumber]; - opcode_type opcode = this_idata->opcode; + int opcode = this_idata->opcode; stack_item_type *stack = this_idata->stack_info.stack; int stack_size = this_idata->stack_info.stack_size; char *stack_operands, *p; @@ -1958,7 +1956,7 @@ pop_stack(context_type *context, unsigned int inumber, stack_info_type *new_stac fullinfo_type stack_extra_info_buffer[256]; /* save info popped off stack */ fullinfo_type *stack_extra_info = &stack_extra_info_buffer[256]; fullinfo_type full_info; /* only used in case of invoke instructions */ - fullinfo_type put_full_info; /* only used in case opc_putstatic and opc_putfield */ + fullinfo_type put_full_info; /* only used in case JVM_OPC_putstatic and JVM_OPC_putfield */ switch(opcode) { default: @@ -1966,7 +1964,7 @@ pop_stack(context_type *context, unsigned int inumber, stack_info_type *new_stac stack_operands = opcode_in_out[opcode][0]; break; - case opc_putstatic: case opc_putfield: { + case JVM_OPC_putstatic: case JVM_OPC_putfield: { /* The top thing on the stack depends on the signature of * the object. */ int operand = this_idata->operand.i; @@ -1981,7 +1979,7 @@ pop_stack(context_type *context, unsigned int inumber, stack_info_type *new_stac print_formatted_fieldname(context, operand); } #endif - if (opcode == opc_putfield) + if (opcode == JVM_OPC_putfield) *ip++ = 'A'; /* object for putfield */ *ip++ = signature_to_fieldtype(context, &signature, &put_full_info); *ip = '\0'; @@ -1990,9 +1988,9 @@ pop_stack(context_type *context, unsigned int inumber, stack_info_type *new_stac break; } - case opc_invokevirtual: case opc_invokespecial: - case opc_invokeinit: /* invokespecial call to */ - case opc_invokestatic: case opc_invokeinterface: { + case JVM_OPC_invokevirtual: case JVM_OPC_invokespecial: + case JVM_OPC_invokeinit: /* invokespecial call to */ + case JVM_OPC_invokestatic: case JVM_OPC_invokeinterface: { /* The top stuff on the stack depends on the method signature */ int operand = this_idata->operand.i; const char *signature = @@ -2007,9 +2005,9 @@ pop_stack(context_type *context, unsigned int inumber, stack_info_type *new_stac print_formatted_methodname(context, operand); } #endif - if (opcode != opc_invokestatic) + if (opcode != JVM_OPC_invokestatic) /* First, push the object */ - *ip++ = (opcode == opc_invokeinit ? '@' : 'A'); + *ip++ = (opcode == JVM_OPC_invokeinit ? '@' : 'A'); for (p = signature + 1; *p != JVM_SIGNATURE_ENDFUNC; ) { *ip++ = signature_to_fieldtype(context, &p, &full_info); if (ip >= buffer + sizeof(buffer) - 1) @@ -2022,7 +2020,7 @@ pop_stack(context_type *context, unsigned int inumber, stack_info_type *new_stac break; } - case opc_multianewarray: { + case JVM_OPC_multianewarray: { /* Count can't be larger than 255. So can't overflow buffer */ int count = this_idata->operand2.i; /* number of ints on stack */ memset(buffer, 'I', count); @@ -2062,19 +2060,19 @@ pop_stack(context_type *context, unsigned int inumber, stack_info_type *new_stac * one of the special cases */ if ( (WITH_ZERO_EXTRA_INFO(top_type) == MAKE_FULLINFO(ITEM_ReturnAddress, 0, 0)) - && (opcode == opc_astore)) + && (opcode == JVM_OPC_astore)) break; if ( (GET_ITEM_TYPE(top_type) == ITEM_NewObject || (GET_ITEM_TYPE(top_type) == ITEM_InitObject)) - && ((opcode == opc_astore) || (opcode == opc_aload) - || (opcode == opc_ifnull) || (opcode == opc_ifnonnull))) + && ((opcode == JVM_OPC_astore) || (opcode == JVM_OPC_aload) + || (opcode == JVM_OPC_ifnull) || (opcode == JVM_OPC_ifnonnull))) break; /* The 2nd edition VM of the specification allows field * initializations before the superclass initializer, * if the field is defined within the current class. */ if ( (GET_ITEM_TYPE(top_type) == ITEM_InitObject) - && (opcode == opc_putfield)) { + && (opcode == JVM_OPC_putfield)) { int operand = this_idata->operand.i; int access_bits = JVM_GetCPFieldModifiers(context->env, context->class, @@ -2231,7 +2229,7 @@ pop_stack(context_type *context, unsigned int inumber, stack_info_type *new_stac */ switch (opcode) { default: break; - case opc_aastore: { /* array index object */ + case JVM_OPC_aastore: { /* array index object */ fullinfo_type array_type = stack_extra_info[0]; fullinfo_type object_type = stack_extra_info[2]; fullinfo_type target_type = decrement_indirection(array_type); @@ -2246,12 +2244,12 @@ pop_stack(context_type *context, unsigned int inumber, stack_info_type *new_stac break; } - case opc_putfield: - case opc_getfield: - case opc_putstatic: { + case JVM_OPC_putfield: + case JVM_OPC_getfield: + case JVM_OPC_putstatic: { int operand = this_idata->operand.i; fullinfo_type stack_object = stack_extra_info[0]; - if (opcode == opc_putfield || opcode == opc_getfield) { + if (opcode == JVM_OPC_putfield || opcode == JVM_OPC_getfield) { if (!isAssignableTo (context, stack_object, @@ -2266,8 +2264,8 @@ pop_stack(context_type *context, unsigned int inumber, stack_info_type *new_stac CCerror(context, "Bad access to protected data"); } } - if (opcode == opc_putfield || opcode == opc_putstatic) { - int item = (opcode == opc_putfield ? 1 : 0); + if (opcode == JVM_OPC_putfield || opcode == JVM_OPC_putstatic) { + int item = (opcode == JVM_OPC_putfield ? 1 : 0); if (!isAssignableTo(context, stack_extra_info[item], put_full_info)) { CCerror(context, "Bad type in putfield/putstatic"); @@ -2276,23 +2274,23 @@ pop_stack(context_type *context, unsigned int inumber, stack_info_type *new_stac break; } - case opc_athrow: + case JVM_OPC_athrow: if (!isAssignableTo(context, stack_extra_info[0], context->throwable_info)) { CCerror(context, "Can only throw Throwable objects"); } break; - case opc_aaload: { /* array index */ + case JVM_OPC_aaload: { /* array index */ /* We need to pass the information to the stack updater */ fullinfo_type array_type = stack_extra_info[0]; context->swap_table[0] = decrement_indirection(array_type); break; } - case opc_invokevirtual: case opc_invokespecial: - case opc_invokeinit: - case opc_invokeinterface: case opc_invokestatic: { + case JVM_OPC_invokevirtual: case JVM_OPC_invokespecial: + case JVM_OPC_invokeinit: + case JVM_OPC_invokeinterface: case JVM_OPC_invokestatic: { int operand = this_idata->operand.i; const char *signature = JVM_GetCPMethodSignatureUTF(context->env, @@ -2301,15 +2299,15 @@ pop_stack(context_type *context, unsigned int inumber, stack_info_type *new_stac int item; const char *p; check_and_push(context, signature, VM_STRING_UTF); - if (opcode == opc_invokestatic) { + if (opcode == JVM_OPC_invokestatic) { item = 0; - } else if (opcode == opc_invokeinit) { + } else if (opcode == JVM_OPC_invokeinit) { fullinfo_type init_type = this_idata->operand2.fi; fullinfo_type object_type = stack_extra_info[0]; context->swap_table[0] = object_type; /* save value */ if (GET_ITEM_TYPE(stack_extra_info[0]) == ITEM_NewObject) { /* We better be calling the appropriate init. Find the - * inumber of the "opc_new" instruction", and figure + * inumber of the "JVM_OPC_new" instruction", and figure * out what the type really is. */ unsigned int new_inumber = GET_EXTRA_INFO(stack_extra_info[0]); @@ -2341,7 +2339,7 @@ pop_stack(context_type *context, unsigned int inumber, stack_info_type *new_stac CCerror(context, "Incompatible object argument for function call"); } - if (opcode == opc_invokespecial + if (opcode == JVM_OPC_invokespecial && !isAssignableTo(context, object_type, context->currentclass_info)) { /* Make sure object argument is assignment compatible to current class */ @@ -2381,13 +2379,13 @@ pop_stack(context_type *context, unsigned int inumber, stack_info_type *new_stac break; } - case opc_return: + case JVM_OPC_return: if (context->return_type != MAKE_FULLINFO(ITEM_Void, 0, 0)) CCerror(context, "Wrong return type in function"); break; - case opc_ireturn: case opc_lreturn: case opc_freturn: - case opc_dreturn: case opc_areturn: { + case JVM_OPC_ireturn: case JVM_OPC_lreturn: case JVM_OPC_freturn: + case JVM_OPC_dreturn: case JVM_OPC_areturn: { fullinfo_type target_type = context->return_type; fullinfo_type object_type = stack_extra_info[0]; if (!isAssignableTo(context, object_type, target_type)) { @@ -2396,7 +2394,7 @@ pop_stack(context_type *context, unsigned int inumber, stack_info_type *new_stac break; } - case opc_new: { + case JVM_OPC_new: { /* Make sure that nothing on the stack already looks like what * we want to create. I can't image how this could possibly happen * but we should test for it anyway, since if it could happen, the @@ -2433,7 +2431,7 @@ update_registers(context_type *context, unsigned int inumber, { instruction_data_type *idata = context->instruction_data; instruction_data_type *this_idata = &idata[inumber]; - opcode_type opcode = this_idata->opcode; + int opcode = this_idata->opcode; int operand = this_idata->operand.i; int register_count = this_idata->register_info.register_count; fullinfo_type *registers = this_idata->register_info.registers; @@ -2453,11 +2451,11 @@ update_registers(context_type *context, unsigned int inumber, /* Remember, we've already verified the type at the top of the stack. */ switch (opcode) { default: break; - case opc_istore: case opc_fstore: case opc_astore: + case JVM_OPC_istore: case JVM_OPC_fstore: case JVM_OPC_astore: access = ACCESS_SINGLE; goto continue_store; - case opc_lstore: case opc_dstore: + case JVM_OPC_lstore: case JVM_OPC_dstore: access = ACCESS_DOUBLE; goto continue_store; @@ -2484,16 +2482,16 @@ update_registers(context_type *context, unsigned int inumber, break; } - case opc_iload: case opc_fload: case opc_aload: - case opc_iinc: case opc_ret: + case JVM_OPC_iload: case JVM_OPC_fload: case JVM_OPC_aload: + case JVM_OPC_iinc: case JVM_OPC_ret: access = ACCESS_SINGLE; break; - case opc_lload: case opc_dload: + case JVM_OPC_lload: case JVM_OPC_dload: access = ACCESS_DOUBLE; break; - case opc_jsr: case opc_jsr_w: + case JVM_OPC_jsr: case JVM_OPC_jsr_w: for (i = 0; i < new_mask_count; i++) if (new_masks[i].entry == operand) CCerror(context, "Recursive call to jsr entry"); @@ -2501,8 +2499,8 @@ update_registers(context_type *context, unsigned int inumber, new_mask_count++; break; - case opc_invokeinit: - case opc_new: { + case JVM_OPC_invokeinit: + case JVM_OPC_new: { /* For invokeinit, an uninitialized object has been initialized. * For new, all previous occurrences of an uninitialized object * from the same instruction must be made bogus. @@ -2588,7 +2586,7 @@ update_flags(context_type *context, unsigned int inumber, flag_type or_flags = this_idata->or_flags; /* Set the "we've done a constructor" flag */ - if (this_idata->opcode == opc_invokeinit) { + if (this_idata->opcode == JVM_OPC_invokeinit) { fullinfo_type from = context->swap_table[0]; if (from == MAKE_FULLINFO(ITEM_InitObject, 0, 0)) and_flags |= FLAG_CONSTRUCTED; @@ -2611,7 +2609,7 @@ push_stack(context_type *context, unsigned int inumber, stack_info_type *new_sta { instruction_data_type *idata = context->instruction_data; instruction_data_type *this_idata = &idata[inumber]; - opcode_type opcode = this_idata->opcode; + int opcode = this_idata->opcode; int operand = this_idata->operand.i; int stack_size = new_stack_info->stack_size; @@ -2631,7 +2629,7 @@ push_stack(context_type *context, unsigned int inumber, stack_info_type *new_sta stack_results = opcode_in_out[opcode][1]; break; - case opc_ldc: case opc_ldc_w: case opc_ldc2_w: { + case JVM_OPC_ldc: case JVM_OPC_ldc_w: case JVM_OPC_ldc2_w: { /* Look to constant pool to determine correct result. */ unsigned char *type_table = context->constant_types; switch (type_table[operand]) { @@ -2661,7 +2659,7 @@ push_stack(context_type *context, unsigned int inumber, stack_info_type *new_sta break; } - case opc_getstatic: case opc_getfield: { + case JVM_OPC_getstatic: case JVM_OPC_getfield: { /* Look to signature to determine correct result. */ int operand = this_idata->operand.i; const char *signature = JVM_GetCPFieldSignatureUTF(context->env, @@ -2680,9 +2678,9 @@ push_stack(context_type *context, unsigned int inumber, stack_info_type *new_sta break; } - case opc_invokevirtual: case opc_invokespecial: - case opc_invokeinit: - case opc_invokestatic: case opc_invokeinterface: { + case JVM_OPC_invokevirtual: case JVM_OPC_invokespecial: + case JVM_OPC_invokeinit: + case JVM_OPC_invokestatic: case JVM_OPC_invokeinterface: { /* Look to signature to determine correct result. */ int operand = this_idata->operand.i; const char *signature = JVM_GetCPMethodSignatureUTF(context->env, @@ -2703,28 +2701,28 @@ push_stack(context_type *context, unsigned int inumber, stack_info_type *new_sta break; } - case opc_aconst_null: + case JVM_OPC_aconst_null: stack_results = opcode_in_out[opcode][1]; full_info = NULL_FULLINFO; /* special NULL */ break; - case opc_new: - case opc_checkcast: - case opc_newarray: - case opc_anewarray: - case opc_multianewarray: + case JVM_OPC_new: + case JVM_OPC_checkcast: + case JVM_OPC_newarray: + case JVM_OPC_anewarray: + case JVM_OPC_multianewarray: stack_results = opcode_in_out[opcode][1]; /* Conveniently, this result type is stored here */ full_info = this_idata->operand.fi; break; - case opc_aaload: + case JVM_OPC_aaload: stack_results = opcode_in_out[opcode][1]; /* pop_stack() saved value for us. */ full_info = context->swap_table[0]; break; - case opc_aload: + case JVM_OPC_aload: stack_results = opcode_in_out[opcode][1]; /* The register hasn't been modified, so we can use its value. */ full_info = this_idata->register_info.registers[operand]; @@ -2772,7 +2770,7 @@ push_stack(context_type *context, unsigned int inumber, stack_info_type *new_sta stack_size++; } /* outer for loop */ - if (opcode == opc_invokeinit) { + if (opcode == JVM_OPC_invokeinit) { /* If there are any instances of "from" on the stack, we need to * replace it with "to", since calling initializes all versions * of the object, obviously. */ @@ -2807,7 +2805,7 @@ merge_into_successors(context_type *context, unsigned int inumber, { instruction_data_type *idata = context->instruction_data; instruction_data_type *this_idata = &idata[inumber]; - opcode_type opcode = this_idata->opcode; + int opcode = this_idata->opcode; int operand = this_idata->operand.i; struct handler_info_type *handler_info = context->handler_info; int handler_info_length = @@ -2827,35 +2825,35 @@ merge_into_successors(context_type *context, unsigned int inumber, buffer[0] = inumber + 1; break; - case opc_ifeq: case opc_ifne: case opc_ifgt: - case opc_ifge: case opc_iflt: case opc_ifle: - case opc_ifnull: case opc_ifnonnull: - case opc_if_icmpeq: case opc_if_icmpne: case opc_if_icmpgt: - case opc_if_icmpge: case opc_if_icmplt: case opc_if_icmple: - case opc_if_acmpeq: case opc_if_acmpne: + case JVM_OPC_ifeq: case JVM_OPC_ifne: case JVM_OPC_ifgt: + case JVM_OPC_ifge: case JVM_OPC_iflt: case JVM_OPC_ifle: + case JVM_OPC_ifnull: case JVM_OPC_ifnonnull: + case JVM_OPC_if_icmpeq: case JVM_OPC_if_icmpne: case JVM_OPC_if_icmpgt: + case JVM_OPC_if_icmpge: case JVM_OPC_if_icmplt: case JVM_OPC_if_icmple: + case JVM_OPC_if_acmpeq: case JVM_OPC_if_acmpne: successors_count = 2; buffer[0] = inumber + 1; buffer[1] = operand; break; - case opc_jsr: case opc_jsr_w: + case JVM_OPC_jsr: case JVM_OPC_jsr_w: if (this_idata->operand2.i != UNKNOWN_RET_INSTRUCTION) idata[this_idata->operand2.i].changed = JNI_TRUE; /* FALLTHROUGH */ - case opc_goto: case opc_goto_w: + case JVM_OPC_goto: case JVM_OPC_goto_w: successors_count = 1; buffer[0] = operand; break; - case opc_ireturn: case opc_lreturn: case opc_return: - case opc_freturn: case opc_dreturn: case opc_areturn: - case opc_athrow: + case JVM_OPC_ireturn: case JVM_OPC_lreturn: case JVM_OPC_return: + case JVM_OPC_freturn: case JVM_OPC_dreturn: case JVM_OPC_areturn: + case JVM_OPC_athrow: /* The testing for the returns is handled in pop_stack() */ successors_count = 0; break; - case opc_ret: { + case JVM_OPC_ret: { /* This is slightly slow, but good enough for a seldom used instruction. * The EXTRA_ITEM_INFO of the ITEM_ReturnAddress indicates the * address of the first instruction of the subroutine. We can return @@ -2866,16 +2864,16 @@ merge_into_successors(context_type *context, unsigned int inumber, int called_instruction = GET_EXTRA_INFO(registers[operand]); int i, count, *ptr;; for (i = context->instruction_count, count = 0; --i >= 0; ) { - if (((idata[i].opcode == opc_jsr) || - (idata[i].opcode == opc_jsr_w)) && + if (((idata[i].opcode == JVM_OPC_jsr) || + (idata[i].opcode == JVM_OPC_jsr_w)) && (idata[i].operand.i == called_instruction)) count++; } this_idata->operand2.ip = ptr = NEW(int, count + 1); *ptr++ = count; for (i = context->instruction_count, count = 0; --i >= 0; ) { - if (((idata[i].opcode == opc_jsr) || - (idata[i].opcode == opc_jsr_w)) && + if (((idata[i].opcode == JVM_OPC_jsr) || + (idata[i].opcode == JVM_OPC_jsr_w)) && (idata[i].operand.i == called_instruction)) *ptr++ = i + 1; } @@ -2886,8 +2884,8 @@ merge_into_successors(context_type *context, unsigned int inumber, } - case opc_tableswitch: - case opc_lookupswitch: + case JVM_OPC_tableswitch: + case JVM_OPC_lookupswitch: successors = this_idata->operand.ip; /* use this instead */ successors_count = *successors++; break; @@ -2907,9 +2905,9 @@ merge_into_successors(context_type *context, unsigned int inumber, handler_info = context->handler_info; for (i = handler_info_length; --i >= 0; handler_info++) { - if (handler_info->start <= inumber && handler_info->end > inumber) { + if (handler_info->start <= (int)inumber && handler_info->end > (int)inumber) { int handler = handler_info->handler; - if (opcode != opc_invokeinit) { + if (opcode != JVM_OPC_invokeinit) { merge_into_one_successor(context, inumber, handler, &this_idata->register_info, /* old */ &handler_info->stack_info, @@ -2984,9 +2982,9 @@ merge_into_one_successor(context_type *context, * ret are executed. Thus uninitialized objects can't propagate * into or out of a subroutine. */ - if (idata[from_inumber].opcode == opc_ret || - idata[from_inumber].opcode == opc_jsr || - idata[from_inumber].opcode == opc_jsr_w) { + if (idata[from_inumber].opcode == JVM_OPC_ret || + idata[from_inumber].opcode == JVM_OPC_jsr || + idata[from_inumber].opcode == JVM_OPC_jsr_w) { int new_register_count = new_register_info->register_count; fullinfo_type *new_registers = new_register_info->registers; int i; @@ -3036,7 +3034,7 @@ merge_into_one_successor(context_type *context, * that needs to get merged into the new instruction is a joining * of info from the ret instruction with stuff in the jsr instruction */ - if (idata[from_inumber].opcode == opc_ret && !isException) { + if (idata[from_inumber].opcode == JVM_OPC_ret && !isException) { int new_register_count = new_register_info->register_count; fullinfo_type *new_registers = new_register_info->registers; int new_mask_count = new_register_info->mask_count; @@ -3045,7 +3043,7 @@ merge_into_one_successor(context_type *context, int called_instruction = GET_EXTRA_INFO(new_registers[operand]); instruction_data_type *jsr_idata = &idata[to_inumber - 1]; register_info_type *jsr_reginfo = &jsr_idata->register_info; - if (jsr_idata->operand2.i != from_inumber) { + if (jsr_idata->operand2.i != (int)from_inumber) { if (jsr_idata->operand2.i != UNKNOWN_RET_INSTRUCTION) CCerror(context, "Multiple returns to single jsr"); jsr_idata->operand2.i = from_inumber; @@ -3675,7 +3673,7 @@ signature_to_fieldtype(context_type *context, char *buffer = buffer_space; char *finish = strchr(p, JVM_SIGNATURE_ENDCLASS); int length = finish - p; - if (length + 1 > sizeof(buffer_space)) { + if (length + 1 > (int)sizeof(buffer_space)) { buffer = malloc(length + 1); check_and_push(context, buffer, VM_MALLOC_BLK); } diff --git a/src/share/native/common/check_format.c b/src/share/native/common/check_format.c index 26539d133feb6dd3c04581dc214c87e5819b1da5..0b5f42077db3255d79809ed679ec414212604476 100644 --- a/src/share/native/common/check_format.c +++ b/src/share/native/common/check_format.c @@ -1,5 +1,5 @@ /* - * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -246,7 +246,7 @@ VerifyClassname(char *name, jboolean allowArrayClass) /* skip over the fieldname. Slashes are okay */ p = skip_over_fieldname(name, JNI_TRUE, length); } - return (p != 0 && p - name == length); + return (p != 0 && p - name == (ptrdiff_t)length); } /* diff --git a/src/solaris/back/util_md.h b/src/solaris/back/util_md.h index 52f7d18aaa57a08840f69d97f24530579c403749..10853f4e65a2bf7cc3a23f8db08c776ef4a83d32 100644 --- a/src/solaris/back/util_md.h +++ b/src/solaris/back/util_md.h @@ -1,5 +1,5 @@ /* - * Copyright 1998-2005 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1998-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,6 +26,9 @@ #ifndef JDWP_UTIL_MD_H #define JDWP_UTIL_MD_H +#include +#include /* To get uintptr_t */ + #include #include diff --git a/src/solaris/instrument/FileSystemSupport_md.h b/src/solaris/instrument/FileSystemSupport_md.h index c092193f192c43fe6b0eb406498485934c1952df..a83e3d16f0a1795299513c95584a5f65a1a218cb 100644 --- a/src/solaris/instrument/FileSystemSupport_md.h +++ b/src/solaris/instrument/FileSystemSupport_md.h @@ -1,5 +1,5 @@ /* - * Copyright 2004 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2004-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,5 +23,8 @@ * have any questions. */ +#include +#include /* For uintprt_t */ #include #include /* For MAXPATHLEN */ + diff --git a/src/solaris/javavm/export/jvm_md.h b/src/solaris/javavm/export/jvm_md.h index 2789492eeb596676249f611598e041e673baf4a5..4c6b8e14ec36d38c8fbdcb723bedf7b82e94f189 100644 --- a/src/solaris/javavm/export/jvm_md.h +++ b/src/solaris/javavm/export/jvm_md.h @@ -1,5 +1,5 @@ /* - * Copyright 1997-1999 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -34,6 +34,8 @@ #include /* For DIR */ #include /* For MAXPATHLEN */ #include /* For F_OK, R_OK, W_OK */ +#include /* For ptrdiff_t */ +#include /* For uintptr_t */ #define JNI_ONLOAD_SYMBOLS {"JNI_OnLoad"} #define JNI_ONUNLOAD_SYMBOLS {"JNI_OnUnload"} diff --git a/src/solaris/javavm/include/typedefs_md.h b/src/solaris/javavm/include/typedefs_md.h deleted file mode 100644 index 552a7951a7583cb1773f596a4b003f78db111ed4..0000000000000000000000000000000000000000 --- a/src/solaris/javavm/include/typedefs_md.h +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Copyright 1994-2002 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -/* - * Solaris-dependent types for Green threads - */ - -#ifndef _JAVASOFT_SOLARIS_TYPES_MD_H_ -#define _JAVASOFT_SOLARIS_TYPES_MD_H_ - -#include -#include - -#ifdef __linux__ -#include -#define HAVE_INTPTR_T -#define _UINT64_T -#endif - -#define int8_t char - -/* Fix for varargs differences on PowerPC */ -#if defined(__powerpc__) -#define VARGS(x) (x) -#else -#define VARGS(x) (&x) -#endif /* __powerpc__ */ - - -#if defined(__alpha__) -#define PTR_IS_64 1 -#define LONG_IS_64 1 -#else -#define PTR_IS_32 1 -#endif - -/* don't redefine typedef's on Solaris 2.6 or Later */ - -#if !defined(_ILP32) && !defined(_LP64) - -#ifndef HAVE_INTPTR_T -#ifdef LONG_IS_64 -typedef long intptr_t; -typedef unsigned long uintptr_t; -#else -typedef int intptr_t; -typedef unsigned int uintptr_t; -#endif /* LONG_IS_64 */ -#endif /* don't HAVE_INTPTR_T */ - -#ifndef _UINT64_T -#define _UINT64_T -#ifdef LONG_IS_64 -typedef unsigned long uint64_t; -#else -typedef unsigned long long uint64_t; -#endif -#define _UINT32_T -#ifndef uint32_t /* [sbb] scaffolding */ -typedef unsigned int uint32_t; -#endif /* [sbb] scaffolding */ -#if defined(__linux__) -typedef unsigned int uint_t; -#endif -#endif - -#ifndef __BIT_TYPES_DEFINED__ -/* that should get Linux, at least */ -#ifndef _INT64_T -#define _INT64_T -#ifdef LONG_IS_64 -typedef long int64_t; -#else -typedef long long int64_t; -#endif -#define _INT32_T -#ifndef int32_t /* [sbb] scaffolding */ -typedef int int32_t; -#endif /* [sbb] scaffolding */ -#if defined(__linux__) -typedef int int_t; -#endif -#endif -#endif /* __BIT_TYPES_DEFINED__ */ - -#endif /* !defined(_ILP32) && !defined(_LP64) */ - -/* use these macros when the compiler supports the long long type */ - -#define ll_high(a) ((uint32_t)(((uint64_t)(a))>>32)) -#define ll_low(a) ((uint32_t)(a)) -#define int2ll(a) ((int64_t)(a)) -#define ll2int(a) ((int)(a)) -#define ll_add(a, b) ((int64_t)(a) + (int64_t)(b)) -#define ll_and(a, b) ((int64_t)(a) & (int64_t)(b)) -#define ll_div(a, b) ((int64_t)(a) / (int64_t)(b)) -#define ll_mul(a, b) ((int64_t)(a) * (int64_t)(b)) -#define ll_neg(a) (-(a)) -#define ll_not(a) (~(uint64_t)(a)) -#define ll_or(a, b) ((uint64_t)(a) | (b)) -#define ll_shl(a, n) ((uint64_t)(a) << (n)) -#define ll_shr(a, n) ((int64_t)(a) >> (n)) -#define ll_sub(a, b) ((uint64_t)(a) - (b)) -#define ll_ushr(a, n) ((uint64_t)(a) >>(n)) -#define ll_xor(a, b) ((int64_t)(a) ^ (int64_t)(b)) -#define uint2ll(a) ((uint64_t)(a)) -#define ll_rem(a,b) ((int64_t)(a) % (int64_t)(b)) - -extern int32_t float2l(float f); -extern int32_t double2l(double d); -extern int64_t float2ll(float f); -extern int64_t double2ll(double d); - -#define ll2float(a) ((float) (a)) -#define ll2double(a) ((double) (a)) - -/* Useful on machines where jlong and jdouble have different endianness. */ -#define ll2double_bits(a) ((void) 0) - -/* comparison operators */ -#define ll_ltz(ll) ((ll)<0) -#define ll_gez(ll) ((ll)>=0) -#define ll_eqz(a) ((a) == 0) -#define ll_nez(a) ((a) != 0) -#define ll_eq(a, b) ((a) == (b)) -#define ll_ne(a,b) ((a) != (b)) -#define ll_ge(a,b) ((a) >= (b)) -#define ll_le(a,b) ((a) <= (b)) -#define ll_lt(a,b) ((a) < (b)) -#define ll_gt(a,b) ((a) > (b)) - -#define ll_zero_const ((int64_t) 0) -#define ll_one_const ((int64_t) 1) - -extern void ll2str(int64_t a, char *s, char *limit); - -#define ll2ptr(a) ((void*)(uintptr_t)(a)) -#define ptr2ll(a) ((int64_t)(uintptr_t)(a)) - -#ifdef ppc -#define HAVE_ALIGNED_DOUBLES -#define HAVE_ALIGNED_LONGLONGS -#endif - -/* printf format modifier for printing pointers */ -#ifdef _LP64 -#define FORMAT64_MODIFIER "l" -#else -#define FORMAT64_MODIFIER "ll" -#endif - -#endif /* !_JAVASOFT_SOLARIS_TYPES_MD_H_ */ diff --git a/src/solaris/native/common/gdefs_md.h b/src/solaris/native/common/gdefs_md.h index 006e753f60ebe13624545a5fc5796ca4b70a29c1..dd74cfc2ce645b025aa2ec4bd915dc5d37d16ac2 100644 --- a/src/solaris/native/common/gdefs_md.h +++ b/src/solaris/native/common/gdefs_md.h @@ -1,5 +1,5 @@ /* - * Copyright 2000-2002 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,15 +24,12 @@ */ /* - * Solaris dependent type definitions includes intptr_t, etc + * Solaris/Linux dependent type definitions includes intptr_t, etc */ +#include +#include /* For uintptr_t */ +#include #include -/* - * Linux version of does not define intptr_t - */ -#ifdef __linux__ -#include -#include -#endif /* __linux__ */ + diff --git a/src/solaris/native/common/jlong_md.h b/src/solaris/native/common/jlong_md.h index 4460701065e2a575836d05dbf604b13e4bed6c56..a12044e475188d3aa83cece3b017d0e497ce55f6 100644 --- a/src/solaris/native/common/jlong_md.h +++ b/src/solaris/native/common/jlong_md.h @@ -1,5 +1,5 @@ /* - * Copyright 1997-2002 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -28,7 +28,7 @@ /* Make sure ptrdiff_t is defined */ #include -#include "typedefs.h" +#include /* For uintptr_t */ #define jlong_high(a) ((jint)((a)>>32)) #define jlong_low(a) ((jint)(a)) diff --git a/src/windows/back/util_md.h b/src/windows/back/util_md.h index 2b9200b77a6156f47280247c6795fabf225f8357..604b3cccb9b59d77576c499e67fae25a52332068 100644 --- a/src/windows/back/util_md.h +++ b/src/windows/back/util_md.h @@ -1,5 +1,5 @@ /* - * Copyright 1998-2005 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1998-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,6 +26,7 @@ #ifndef JDWP_UTIL_MD_H #define JDWP_UTIL_MD_H +#include /* for uintptr_t */ #include /* for _MAx_PATH */ typedef unsigned __int64 UNSIGNED_JLONG; diff --git a/src/windows/hpi/src/socket_md.c b/src/windows/hpi/src/socket_md.c index 852022a4938f9165b0f6cc18c2e6c1aff4136434..8dd5f95680f53feb7a1ec11e9b9808f83632765d 100644 --- a/src/windows/hpi/src/socket_md.c +++ b/src/windows/hpi/src/socket_md.c @@ -1,5 +1,5 @@ /* - * Copyright 1997-2005 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -29,7 +29,6 @@ #include "hpi_impl.h" #include "mutex_md.h" -#include "typedefs.h" struct sockaddr; diff --git a/src/windows/hpi/src/threads_md.c b/src/windows/hpi/src/threads_md.c index 410f61c98075d3f9f5ab3b52e1fe621203f336a5..1c6b63f33b73c2d21200608666e0167f380faf6f 100644 --- a/src/windows/hpi/src/threads_md.c +++ b/src/windows/hpi/src/threads_md.c @@ -1,5 +1,5 @@ /* - * Copyright 1994-2003 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1994-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -35,7 +35,6 @@ #include "threads_md.h" #include "monitor_md.h" -#include "typedefs.h" /* diff --git a/src/windows/instrument/FileSystemSupport_md.h b/src/windows/instrument/FileSystemSupport_md.h index bd9c029bcbd8a86c7bf39f16077159a1cc378536..9d29ea6fef05fe336b97b105a73597ebcd60f648 100644 --- a/src/windows/instrument/FileSystemSupport_md.h +++ b/src/windows/instrument/FileSystemSupport_md.h @@ -1,5 +1,5 @@ /* - * Copyright 2004 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2004-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,6 +23,7 @@ * have any questions. */ +#include /* For uintprt_t */ #include #define MAXPATHLEN _MAX_PATH diff --git a/src/windows/javavm/export/jvm_md.h b/src/windows/javavm/export/jvm_md.h index 76560f6ec7d341806c671082439aba6eb3df34eb..cf98f61acb7f22ce0226f4e148a1bbc2336bcaac 100644 --- a/src/windows/javavm/export/jvm_md.h +++ b/src/windows/javavm/export/jvm_md.h @@ -53,6 +53,7 @@ typedef struct { WIN32_FIND_DATA find_data; } DIR; +#include /* For uintptr_t */ #include #define JVM_MAXPATHLEN _MAX_PATH @@ -65,6 +66,19 @@ typedef struct { JNIEXPORT void * JNICALL JVM_GetThreadInterruptEvent(); +/* + * These routines are only reentrant on Windows + */ + +JNIEXPORT struct protoent * JNICALL +JVM_GetProtoByName(char* name); + +JNIEXPORT struct hostent* JNICALL +JVM_GetHostByAddr(const char* name, int len, int type); + +JNIEXPORT struct hostent* JNICALL +JVM_GetHostByName(char* name); + /* * File I/O */ diff --git a/src/windows/javavm/include/typedefs_md.h b/src/windows/javavm/include/typedefs_md.h deleted file mode 100644 index 7c41e9aa706a489603c163df2e005a1b10621a0f..0000000000000000000000000000000000000000 --- a/src/windows/javavm/include/typedefs_md.h +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright 1994-2002 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -/* - * Win32 dependent type definitions - */ - -#ifndef _JAVASOFT_WIN32_TYPEDEF_MD_H_ -#define _JAVASOFT_WIN32_TYPEDEF_MD_H_ - -#include - -#define VARGS(x) (&x) - -typedef char int8_t; -typedef __int16 int16_t; -typedef __int32 int32_t; -typedef __int64 int64_t; - -typedef unsigned char uint8_t; -typedef unsigned __int16 uint16_t; -typedef unsigned int uint_t; -typedef unsigned __int32 uint32_t; -typedef unsigned __int64 uint64_t; - -/* Make sure that we have the intptr_t and uintptr_t definitions */ -#ifndef _INTPTR_T_DEFINED -#ifdef _WIN64 -typedef __int64 intptr_t; -#else -typedef int intptr_t; -#endif -#define _INTPTR_T_DEFINED -#endif - -#ifndef _UINTPTR_T_DEFINED -#ifdef _WIN64 -typedef unsigned __int64 uintptr_t; -#else -typedef unsigned int uintptr_t; -#endif -#define _UINTPTR_T_DEFINED -#endif - -typedef intptr_t ssize_t; - -/* use these macros when the compiler supports the long long type */ - -#define ll_high(a) ((long)((a)>>32)) -#define ll_low(a) ((long)(a)) -#define int2ll(a) ((int64_t)(a)) -#define ll2int(a) ((int)(a)) -#define ll_add(a, b) ((a) + (b)) -#define ll_and(a, b) ((a) & (b)) -#define ll_div(a, b) ((a) / (b)) -#define ll_mul(a, b) ((a) * (b)) -#define ll_neg(a) (-(a)) -#define ll_not(a) (~(a)) -#define ll_or(a, b) ((a) | (b)) -/* THE FOLLOWING DEFINITION IS NOW A FUNCTION CALL IN ORDER TO WORKAROUND - OPTIMIZER BUG IN MSVC++ 2.1 (see system_md.c) - #define ll_shl(a, n) ((a) << (n)) */ -#define ll_shr(a, n) ((a) >> (n)) -#define ll_sub(a, b) ((a) - (b)) -#define ll_ushr(a, n) ((uint64_t)(a) >> (n)) -#define ll_xor(a, b) ((a) ^ (b)) -#define uint2ll(a) ((uint64_t)(unsigned long)(a)) -#define ll_rem(a,b) ((a) % (b)) - -int32_t float2l(float f); -int32_t double2l(double f); -int64_t float2ll(float f); -int64_t double2ll(double f); -#define ll2float(a) ((float) (a)) -#define ll2double(a) ((double) (a)) - -/* Useful on machines where jlong and jdouble have different endianness. */ -#define ll2double_bits(a) ((void) 0) - -/* comparison operators */ -#define ll_ltz(ll) ((ll) < 0) -#define ll_gez(ll) ((ll) >= 0) -#define ll_eqz(a) ((a) == 0) -#define ll_nez(a) ((a) != 0) -#define ll_eq(a, b) ((a) == (b)) -#define ll_ne(a,b) ((a) != (b)) -#define ll_ge(a,b) ((a) >= (b)) -#define ll_le(a,b) ((a) <= (b)) -#define ll_lt(a,b) ((a) < (b)) -#define ll_gt(a,b) ((a) > (b)) - -#define ll_zero_const ((int64_t) 0) -#define ll_one_const ((int64_t) 1) - -int64_t ll_shl(int64_t a, int bits); - -#define ll2ptr(a) ((void*)(a)) -#define ptr2ll(a) ((jlong)(a)) - -/* printf format modifier for printing pointers */ -#define FORMAT64_MODIFIER "I64" - -#endif /* !_JAVASOFT_WIN32_TYPEDEF_MD_H_ */ diff --git a/src/windows/native/java/net/net_util_md.c b/src/windows/native/java/net/net_util_md.c index 87dbdcf79e0166e5c8a6b4ca06a0cb4e8cd2aedd..5fe1dc5d936715432cb0215accb589dd06dbe0c0 100644 --- a/src/windows/native/java/net/net_util_md.c +++ b/src/windows/native/java/net/net_util_md.c @@ -1,5 +1,5 @@ /* - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -28,7 +28,6 @@ #include "net_util.h" #include "jni.h" -#include "typedefs.h" #ifndef IPTOS_TOS_MASK #define IPTOS_TOS_MASK 0x1e