Main Page | Class List | Directories | File List | Class Members | File Members

peep.c File Reference

#include "global.h"
#include "stralloc.h"
#include "dynamic_buffer.h"
#include "program.h"
#include "las.h"
#include "docode.h"
#include "pike_embed.h"
#include "pike_error.h"
#include "lex.h"
#include "pike_memory.h"
#include "peep.h"
#include "dmalloc.h"
#include "stuff.h"
#include "bignum.h"
#include "opcodes.h"
#include "builtin_functions.h"
#include "constants.h"
#include "interpret.h"
#include "pikecode.h"
#include "peep_engine.c"

Defines

#define FLUSH_CODE_GENERATOR_STATE()
#define TWOO(X, Y)   (((X)<<8)+(Y))
#define DO_OPTIMIZATION_PREQUEL(topop)
#define DO_OPTIMIZATION_POSTQUEL(q)

Functions

void init_bytecode (void)
void exit_bytecode (void)
ptrdiff_t insert_opcode2 (unsigned int f, INT32 b, INT32 c, INT32 current_line, struct pike_string *current_file)
ptrdiff_t insert_opcode1 (unsigned int f, INT32 b, INT32 current_line, struct pike_string *current_file)
ptrdiff_t insert_opcode0 (int f, int current_line, struct pike_string *current_file)
void update_arg (int instr, INT32 arg)
INT32 assemble (int store_linenumbers)

Variables

dynamic_buffer instrbuf
int remove_clear_locals = 0x7fffffff

Define Documentation

#define DO_OPTIMIZATION_POSTQUEL  ) 
 

Value:

fifo_len+=q;                    \
    free_string(cf);                    \
    debug();                            \
                                        \
    DO_IF_DEBUG(                        \
      if(a_flag>5)                      \
      {                                 \
        int e;                          \
        for(e=0;e<q;e++)                \
        {                               \
          fprintf(stderr," ");          \
          dump_instr(instr(e));         \
        }                               \
        fprintf(stderr,"\n");           \
      }                                 \
    )                                   \
                                        \
    /* Note: The 5 below is the longest \
     *       match prefix in the ruleset\
     */                                 \
    fifo_len += q + 5;                  \
  }  while(0)

#define DO_OPTIMIZATION_PREQUEL topop   ) 
 

Value:

do {    \
    struct pike_string *cf;                     \
    INT32 cl=instr(0)->line;                    \
                                                \
    DO_IF_DEBUG(                                \
      if(a_flag>5)                              \
      {                                         \
        int e;                                  \
        fprintf(stderr,"PEEP at %d:",cl);       \
        for(e=0;e<topop;e++)                    \
        {                                       \
          fprintf(stderr," ");                  \
          dump_instr(instr(e));                 \
        }                                       \
        fprintf(stderr," => ");                 \
      }                                         \
    )                                           \
                                                \
    copy_shared_string(cf,instr(0)->file);      \
    pop_n_opcodes(topop)

 
#define FLUSH_CODE_GENERATOR_STATE  ) 
 

#define TWOO X,
 )     (((X)<<8)+(Y))
 


Function Documentation

INT32 assemble int  store_linenumbers  ) 
 

void exit_bytecode void   ) 
 

void init_bytecode void   ) 
 

ptrdiff_t insert_opcode0 int  f,
int  current_line,
struct pike_string current_file
 

ptrdiff_t insert_opcode1 unsigned int  f,
INT32  b,
INT32  current_line,
struct pike_string current_file
 

ptrdiff_t insert_opcode2 unsigned int  f,
INT32  b,
INT32  c,
INT32  current_line,
struct pike_string current_file
 

void update_arg int  instr,
INT32  arg
 


Variable Documentation

dynamic_buffer instrbuf
 

int remove_clear_locals = 0x7fffffff
 


Generated on Fri Jul 22 23:44:30 2005 for Pike by  doxygen 1.3.9.1