e576bb2002-10-11Martin Nilsson /* || This file is part of Pike. For copyright information see COPYRIGHT. || Pike is distributed under GPL, LGPL and MPL. See the file COPYING || for more information.
ee6a782003-11-19Henrik Grubbström (Grubba) || $Id: peep.h,v 1.14 2003/11/19 17:19:29 grubba Exp $
e576bb2002-10-11Martin Nilsson */
1b10db2002-10-08Martin Nilsson 
2199ed1996-04-13Fredrik Hübinette (Hubbe) #ifndef PEEP_H #define PEEP_H #include "dynamic_buffer.h" extern dynamic_buffer instrbuf;
928f952000-11-30Fredrik Hübinette (Hubbe) struct p_instr_s { short opcode; short line; struct pike_string *file; INT32 arg; INT32 arg2; }; typedef struct p_instr_s p_instr;
2199ed1996-04-13Fredrik Hübinette (Hubbe) /* Prototypes begin here */
be478c1997-08-30Henrik Grubbström (Grubba) void init_bytecode(void); void exit_bytecode(void);
7a35a42000-08-14Henrik Grubbström (Grubba) ptrdiff_t insert_opcode2(unsigned int f,
fd7b9b2002-11-01Henrik Grubbström (Grubba)  INT32 a,
7a35a42000-08-14Henrik Grubbström (Grubba)  INT32 b, INT32 current_line, struct pike_string *current_file); ptrdiff_t insert_opcode1(unsigned int f,
fd7b9b2002-11-01Henrik Grubbström (Grubba)  INT32 a,
7a35a42000-08-14Henrik Grubbström (Grubba)  INT32 current_line, struct pike_string *current_file);
fd7b9b2002-11-01Henrik Grubbström (Grubba) ptrdiff_t insert_opcode0(int f,int current_line, struct pike_string *current_file);
2199ed1996-04-13Fredrik Hübinette (Hubbe) void update_arg(int instr,INT32 arg);
ee6a782003-11-19Henrik Grubbström (Grubba) INT32 assemble(int store_linenumbers);
2199ed1996-04-13Fredrik Hübinette (Hubbe) /* Prototypes end here */ #endif