X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FDisassembler.c;h=8b526c0af5aae669f9660159f97eb23ea9c3729a;hb=0c0a693f3bc05a7c31f53c7b27f55479c1bc0ee9;hp=27b6848d315ee5dbf53d35165423e91bf4cddd39;hpb=44f0f21f7e788f76bb766bab6560f5e8d09826ef;p=ghc-hetmet.git diff --git a/ghc/rts/Disassembler.c b/ghc/rts/Disassembler.c index 27b6848..8b526c0 100644 --- a/ghc/rts/Disassembler.c +++ b/ghc/rts/Disassembler.c @@ -5,12 +5,13 @@ * Copyright (c) 1994-1998. * * $RCSfile: Disassembler.c,v $ - * $Revision: 1.20 $ - * $Date: 2001/03/21 10:56:04 $ + * $Revision: 1.25 $ + * $Date: 2002/07/17 09:21:49 $ * ---------------------------------------------------------------------------*/ #ifdef DEBUG +#include "PosixSource.h" #include "Rts.h" #include "RtsAPI.h" #include "RtsUtils.h" @@ -23,6 +24,8 @@ #include "Disassembler.h" #include "Interpreter.h" +#include + /* -------------------------------------------------------------------------- * Disassembler * ------------------------------------------------------------------------*/ @@ -44,6 +47,17 @@ int disInstr ( StgBCO *bco, int pc ) StgInfoTable** itbls = (StgInfoTable**)(&itbls_arr->payload[0]); switch (instrs[pc++]) { + case bci_SWIZZLE: + fprintf(stderr, "SWIZZLE stkoff %d by %d\n", + instrs[pc], (signed int)instrs[pc+1]); + pc += 2; break; + case bci_CCALL: + fprintf(stderr, "CCALL marshaller at 0x%x\n", + literals[instrs[pc]] ); + pc += 1; break; + case bci_STKCHECK: + fprintf(stderr, "STKCHECK %d\n", instrs[pc] ); + pc += 1; break; case bci_ARGCHECK: fprintf(stderr, "ARGCHECK %d\n", instrs[pc] ); pc += 1; break;