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.
fd7b9b2002-11-01Henrik Grubbström (Grubba) || $Id: peep.h,v 1.12 2002/11/01 15:56:30 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;
fd7b9b2002-11-01Henrik Grubbström (Grubba)  INT32 label;
928f952000-11-30Fredrik Hübinette (Hubbe) }; 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);
fd7b9b2002-11-01Henrik Grubbström (Grubba) ptrdiff_t insert_opcode(unsigned int f, INT32 a, INT32 b, INT32 l, INT32 current_line, struct pike_string *current_file)
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); ptrdiff_t insert_opcode1l(unsigned int f, INT32 a, INT32 l, INT32 current_line, struct pike_string *current_file); ptrdiff_t insert_opcodel(int f, INT32 l, int current_line, struct pike_string *current_file);
2199ed1996-04-13Fredrik Hübinette (Hubbe) void update_arg(int instr,INT32 arg);
66d51c1997-03-04Fredrik Hübinette (Hubbe) void assemble(void);
2199ed1996-04-13Fredrik Hübinette (Hubbe) /* Prototypes end here */ #endif