--- gforth/engine/profile.c 2002/02/10 14:02:25 1.6 +++ gforth/engine/profile.c 2007/12/31 18:40:25 1.14 @@ -1,12 +1,12 @@ /* VM profiling support stuff - Copyright (C) 2001 Free Software Foundation, Inc. + Copyright (C) 2001,2002,2003 Free Software Foundation, Inc. This file is part of Gforth. Gforth is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 + as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -15,15 +15,14 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + along with this program; if not, see http://www.gnu.org/licenses/. */ #include "config.h" +#include "forth.h" #include #include #include -#include "forth.h" /* data structure: simple hash table with external chaining */ @@ -85,9 +84,9 @@ void vm_count_block(Xt *ip) } #ifdef DIRECT_THREADED -#define VM_IS_INST(inst, n) ((inst) == vm_prims[(n)+DOESJUMP+1]) +#define VM_IS_INST(inst, n) ((inst) == vm_prims[n]) #else -#define VM_IS_INST(inst, n) ((inst) == &(vm_prims[(n)+DOESJUMP+1])) +#define VM_IS_INST(inst, n) ((inst) == &(vm_prims[n])) #endif void postprocess_block(block_count *b) @@ -128,7 +127,7 @@ void postprocess(void) } } -#if 0 +#if 1 /* full basic blocks only */ void print_block(FILE *file, block_count *b) { @@ -158,7 +157,7 @@ void print_block(FILE *file, block_count { size_t i,j,k; - for (i=2; i<12; i++) + for (i=1; i<2; i++) for (j=0; i+j<=b->ninsts; j++) { fprintf(file,"%14lld\t",b->count); for (k=j; k