Byte Code

Revision as of 07:25, 7 July 2006 by Manus (Talk | contribs) (List of byte codes)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Below is a description of all opcodes we current support in the Eiffel interpreter. They are sorted

Contents

BC_START

BC_PRECOND

BC_POSTCOND

BC_DEFERRED

BC_REVERSE

BC_CHECK

BC_ASSERT

BC_NULL

BC_PRE

BC_PST

BC_CHK

BC_LINV

BC_LVAR

BC_INV

BC_END

BC_TAG

BC_NOTAG

BC_JMP

BC_JMP

BC_LOOP

BC_END

BC_INIT

BC_DEBUG

BC_RASSIGN

BC_LASSIGN

BC_ASSIGN

BC_CREATE

BC_CTYPE

BC_CARG

BC_CLIKE

BC_CCUR

BC_INSPECT

BC_RANGE

BC_INSPECT

BC_LREVERSE

BC_RREVERSE

BC_FEATURE

BC_METAMORPHOSE

BC_CURRENT

BC_ROTATE

BC_FEATURE

BC_ATTRIBUTE

BC_ATTRIBUTE

BC_EXTERN

BC_EXTERN

BC_CHAR

BC_BOOL

BC_INT

BC_INT

BC_DOUBLE

BC_RESULT

BC_LOCAL

BC_ARG

BC_UPLUS

BC_UMINUS

BC_NOT

BC_LT

BC_GT

BC_MINUS

BC_XOR

BC_GE

BC_EQ

BC_NE

BC_STAR

BC_POWER

BC_LE

BC_DIV

BC_NHOOK

BC_AND

BC_SLASH

BC_MOD

BC_PLUS

BC_OR

BC_ADDR

BC_STRING

BC_AND

BC_OR

BC_SPCREATE

BC_TUPLE

BC_JMP

BC_TUPLE

BC_RESCUE

BC_END

BC_RETRY

BC_EXP

BC_CLONE

BC_EXP

BC_VOID

BC_NONE

BC_LEXP

BC_REXP

BC_CLONE

BC_NO

BC_FALSE

BC_TRUE

BC_STANDARD

BC_BIT

BC_HOOK

BC_BIT

BC_ARRAY

BC_RETRIEVE

BC_FLOAT

BC_OLD

BC_ADD

BC_END

BC_LBIT

BC_RAISE

BC_GOTO

BC_NOT

BC_END

BC_CAST

BC_CAST

BC_CAST

BC_CAST

BC_INV

BC_CREAT

BC_END

BC_START

BC_OBJECT

BC_PFEATURE

BC_PFEATURE

BC_PEXTERN

BC_PEXTERN

BC_PARRAY

BC_PATTRIBUTE

BC_PATTRIBUTE

BC_PEXP

BC_PASSIGN

BC_PREVERSE

BC_PCLIKE

BC_OBJECT

BC_RESERVE

BC_POP

BC_REF

BC_RCREATE

/* Byte code for the creation of a generic parameter */

BC_GEN

/* Byte code for expression creation */

BC_CAST

BC_NULL

BC_BASIC

BC_MAX

BC_MIN

BC_GENERATOR

BC_OFFSET

BC_ZERO

BC_ONE

BC_THREE

BC_INT

BC_INT

BC_INT

BC_INT

BC_INT

BC_INT

BC_INT

BC_INT

BC_INT

BC_INT

/* New basic types */

BC_WCHAR

BC_INT

BC_INT

BC_INT

/* Conversion */

BC_CAST

/* Once manifest strings */

BC_ONCE

BC_ALLOCATE

/* Cloning */

BC_CCLONE

BC_UINT

BC_UINT

BC_UINT

BC_UINT

BC_NOTUSED

BC_NOTUSED

BC_NOTUSED

BC_NOTUSED

BC_NOTUSED

BC_NOTUSED

BC_NOTUSED

BC_NOTUSED

BC_NOTUSED

BC_NOTUSED

BC_NOTUSED

BC_NOTUSED

BC_NOTUSED

BC_NOTUSED

/* Manifest tuple */

BC_TUPLE

BC_PTUPLE

BC_JAVA

BC_JAVA

MAX_CODE 201 /* Maximum legal byte code */