⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bytecodes.java

📁 是一款用JAVA 编写的编译器 具有很强的编译功能
💻 JAVA
字号:
/* * Copyright 1999-2005 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. */package com.sun.tools.javac.jvm;/** Bytecode instruction codes, as well as typecodes used as *  instruction modifiers. * *  <p><b>This is NOT part of any API supported by Sun Microsystems.  If *  you write code that depends on this, you do so at your own risk. *  This code and its internal interfaces are subject to change or *  deletion without notice.</b> */public interface ByteCodes {    /** Byte code instruction codes.     */    int illegal 	= -1,	nop		= 0,	aconst_null	= 1,	iconst_m1	= 2,	iconst_0 	= 3,	iconst_1 	= 4,	iconst_2 	= 5,	iconst_3 	= 6,	iconst_4 	= 7,	iconst_5 	= 8,	lconst_0 	= 9,	lconst_1 	= 10,	fconst_0 	= 11,	fconst_1 	= 12,	fconst_2 	= 13,	dconst_0 	= 14,	dconst_1 	= 15,	bipush 		= 16,	sipush		= 17,	ldc1		= 18,	ldc2		= 19,	ldc2w		= 20,	iload		= 21,	lload		= 22,	fload		= 23,	dload		= 24,	aload		= 25,	iload_0 	= 26,	iload_1 	= 27,	iload_2 	= 28,	iload_3 	= 29,	lload_0 	= 30,	lload_1 	= 31,	lload_2 	= 32,	lload_3 	= 33,	fload_0 	= 34,	fload_1 	= 35,	fload_2 	= 36,	fload_3 	= 37,	dload_0 	= 38,	dload_1 	= 39,	dload_2 	= 40,	dload_3 	= 41,	aload_0 	= 42,	aload_1 	= 43,	aload_2 	= 44,	aload_3 	= 45,	iaload		= 46,	laload		= 47,	faload		= 48,	daload		= 49,	aaload		= 50,	baload		= 51,	caload		= 52,	saload		= 53,	istore		= 54,	lstore		= 55,	fstore		= 56,	dstore		= 57,	astore		= 58,	istore_0 	= 59,	istore_1 	= 60,	istore_2 	= 61,	istore_3 	= 62,	lstore_0 	= 63,	lstore_1 	= 64,	lstore_2 	= 65,	lstore_3 	= 66,	fstore_0 	= 67,	fstore_1 	= 68,	fstore_2 	= 69,	fstore_3 	= 70,	dstore_0 	= 71,	dstore_1 	= 72,	dstore_2 	= 73,	dstore_3 	= 74,	astore_0 	= 75,	astore_1 	= 76,	astore_2 	= 77,	astore_3 	= 78,	iastore		= 79,	lastore		= 80,	fastore		= 81,	dastore		= 82,	aastore		= 83,	bastore		= 84,	castore		= 85,	sastore		= 86,	pop		= 87,	pop2		= 88,	dup		= 89,	dup_x1		= 90,	dup_x2		= 91,	dup2		= 92,	dup2_x1		= 93,	dup2_x2		= 94,	swap		= 95,	iadd		= 96,	ladd		= 97,	fadd		= 98,	dadd		= 99,	isub		= 100,	lsub		= 101,	fsub		= 102,	dsub		= 103,	imul		= 104,	lmul		= 105,	fmul		= 106,	dmul		= 107,	idiv		= 108,	ldiv		= 109,	fdiv		= 110,	ddiv		= 111,	imod		= 112,	lmod		= 113,	fmod		= 114,	dmod		= 115,	ineg		= 116,	lneg		= 117,	fneg		= 118,	dneg		= 119,	ishl		= 120,	lshl		= 121,	ishr		= 122,	lshr		= 123,	iushr		= 124,	lushr		= 125,	iand		= 126,	land		= 127,	ior		= 128,	lor		= 129,	ixor		= 130,	lxor		= 131,	iinc		= 132,	i2l		= 133,	i2f		= 134,	i2d		= 135,	l2i		= 136,	l2f		= 137,	l2d		= 138,	f2i		= 139,	f2l		= 140,	f2d		= 141,	d2i		= 142,	d2l		= 143,	d2f		= 144,	int2byte	= 145,	int2char	= 146,	int2short	= 147,	lcmp		= 148,	fcmpl		= 149,	fcmpg		= 150,	dcmpl		= 151,	dcmpg		= 152,	ifeq		= 153,	ifne		= 154,	iflt		= 155,	ifge		= 156,	ifgt		= 157,	ifle		= 158,	if_icmpeq	= 159,	if_icmpne	= 160,	if_icmplt	= 161,	if_icmpge	= 162,	if_icmpgt	= 163,	if_icmple	= 164,	if_acmpeq	= 165,	if_acmpne	= 166,	goto_		= 167,	jsr		= 168,	ret		= 169,	tableswitch	= 170,	lookupswitch	= 171,	ireturn		= 172,	lreturn		= 173,	freturn		= 174,	dreturn		= 175,	areturn		= 176,	return_		= 177,	getstatic	= 178,	putstatic	= 179,	getfield	= 180,	putfield	= 181,	invokevirtual	= 182,	invokespecial   = 183,	invokestatic	= 184,	invokeinterface	= 185,	// ___unused___	= 186,	new_		= 187,	newarray	= 188,	anewarray	= 189,	arraylength	= 190,	athrow		= 191,	checkcast	= 192,	instanceof_	= 193,	monitorenter	= 194,	monitorexit	= 195,        wide            = 196,	multianewarray	= 197,	if_acmp_null    = 198,        if_acmp_nonnull = 199,        goto_w          = 200,        jsr_w           = 201,        breakpoint      = 202,	ByteCodeCount   = 203;    /** Virtual instruction codes; used for constant folding.     */    int string_add 	= 256,  // string +	bool_not 	= 257,  // boolean !	bool_and 	= 258,  // boolean &&	bool_or 	= 259;  // boolean ||    /** Virtual opcodes; used for shifts with long shiftcount     */    int ishll		= 270,  // int shift left with long count	lshll		= 271,  // long shift left with long count	ishrl		= 272,  // int shift right with long count	lshrl		= 273,  // long shift right with long count	iushrl		= 274,  // int unsigned shift right with long count	lushrl		= 275;  // long unsigned shift right with long count    /** Virtual opcode for null reference checks     */    int nullchk         = 276;  // return operand if non-null,                                // otherwise throw NullPointerException.    /** Virtual opcode for disallowed operations.     */    int error		= 277;    /** All conditional jumps come in pairs. To streamline the     *  treatment of jumps, we also introduce a negation of an     *  unconditional jump. That opcode happens to be jsr.     */    int dontgoto        = jsr;    /** Shift and mask constants for shifting prefix instructions.     *  a pair of instruction codes such as LCMP ; IFEQ is encoded     *  in Symtab as (LCMP << preShift) + IFEQ.     */    int preShift 	= 9;    int preMask  	= (1 << preShift) - 1;    /** Type codes.     */    int INTcode 	= 0,	LONGcode 	= 1,	FLOATcode 	= 2,	DOUBLEcode 	= 3,	OBJECTcode 	= 4,	BYTEcode 	= 5,	CHARcode 	= 6,	SHORTcode 	= 7,	VOIDcode 	= 8,	TypeCodeCount 	= 9;    static final String[] typecodeNames = {	"int",	"long",	"float",	"double",	"object",	"byte",	"char",	"short",	"void",	"oops"    };}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -