X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fincludes%2FBytecodes.h;h=fe32488b65531ea001280b4d096f2d635ba73dcb;hb=351afa5ad7cc7012d5460c126cad4999e457a30d;hp=fc44f2673e388d6a7f26105e53121b1a0c7ba6dd;hpb=52ac8225f6460e43dcc3e0a858859ecfdd88e768;p=ghc-hetmet.git diff --git a/ghc/includes/Bytecodes.h b/ghc/includes/Bytecodes.h index fc44f26..fe32488 100644 --- a/ghc/includes/Bytecodes.h +++ b/ghc/includes/Bytecodes.h @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------------- - * $Id: Bytecodes.h,v 1.2 2000/12/08 15:45:55 sewardj Exp $ + * $Id: Bytecodes.h,v 1.8 2001/08/09 11:19:16 sewardj Exp $ * * (c) The GHC Team, 1998-2000 * @@ -27,32 +27,39 @@ #define bci_ARGCHECK 1 #define bci_PUSH_L 2 -#define bci_PUSH_LL 28 -#define bci_PUSH_LLL 29 -#define bci_PUSH_G 3 -#define bci_PUSH_AS 26 -#define bci_PUSHT_I 4 -#define bci_PUSHT_F 5 -#define bci_PUSHT_D 6 -#define bci_PUSHU_I 7 -#define bci_PUSHU_F 8 -#define bci_PUSHU_D 9 -#define bci_SLIDE 10 -#define bci_ALLOC 11 -#define bci_MKAP 12 -#define bci_UNPACK 13 +#define bci_PUSH_LL 3 +#define bci_PUSH_LLL 4 +#define bci_PUSH_G 5 +#define bci_PUSH_AS 6 +#define bci_PUSH_UBX 7 +#define bci_PUSH_TAG 8 +#define bci_SLIDE 9 +#define bci_ALLOC 10 +#define bci_MKAP 11 +#define bci_UNPACK 12 +#define bci_UPK_TAG 13 #define bci_PACK 14 -#define bci_LABEL 15 -#define bci_TESTLT_I 16 -#define bci_TESTEQ_I 17 -#define bci_TESTLT_F 18 -#define bci_TESTEQ_F 19 -#define bci_TESTLT_D 20 -#define bci_TESTEQ_D 21 -#define bci_TESTLT_P 22 -#define bci_TESTEQ_P 23 -#define bci_CASEFAIL 24 -#define bci_ENTER 25 -#define bci_RETURN 27 +#define bci_TESTLT_I 15 +#define bci_TESTEQ_I 16 +#define bci_TESTLT_F 17 +#define bci_TESTEQ_F 18 +#define bci_TESTLT_D 19 +#define bci_TESTEQ_D 20 +#define bci_TESTLT_P 21 +#define bci_TESTEQ_P 22 +#define bci_CASEFAIL 23 +#define bci_ENTER 24 +#define bci_RETURN 25 +#define bci_STKCHECK 26 +#define bci_JMP 27 +#define bci_CCALL 28 +#define bci_SWIZZLE 29 + +/* If a BCO definitely requires less than this many words of stack, + don't include an explicit STKCHECK insn in it. The interpreter + will check for this many words of stack before running each BCO, + rendering an explicit check unnecessary in the majority of + cases. */ +#define INTERP_STACK_CHECK_THRESH 50 /*-------------------------------------------------------------------------*/