Skip to content
Snippets Groups Projects
Select Git revision
  • 4e31533e6bf28833bcccd8b9ce51521a0685ea1b
  • master default protected
  • 8.0
  • 9.0
  • 7.8
  • 7.6
  • 7.4
  • 7.2
  • 7.0
  • 0.6
  • rosuav/latex-markdown-renderer
  • rxnpatch/rxnpatch
  • marcus/gobject-introspection
  • rxnpatch/8.0
  • rosuav/pre-listening-ports
  • nt-tools
  • rosuav/async-annotations
  • rosuav/pgsql-ssl
  • rxnpatch/rxnpatch-broken/2023-10-06T094250
  • grubba/fdlib
  • grubba/wip/sakura/8.0
  • v8.0.2004
  • v8.0.2002
  • v8.0.2000
  • v8.0.1998
  • v8.0.1996
  • v8.0.1994
  • v8.0.1992
  • v8.0.1990
  • v8.0.1988
  • v8.0.1986
  • rxnpatch/clusters/8.0/2025-04-29T124414
  • rxnpatch/2025-04-29T124414
  • v8.0.1984
  • v8.0.1982
  • v8.0.1980
  • v8.0.1978
  • v8.0.1976
  • v8.0.1974
  • v8.0.1972
  • v8.0.1970
41 results

docode.h

Blame
    • Fredrik Hübinette (Hubbe)'s avatar
      a96ce9ba
      bye bye accumulator · a96ce9ba
      Fredrik Hübinette (Hubbe) authored
      Rev: bin/mkpeep.pike:1.14
      Rev: src/Makefile.in:1.190
      Rev: src/array.c:1.67
      Rev: src/docode.c:1.68
      Rev: src/docode.h:1.9
      Rev: src/error.h:1.41
      Rev: src/gc.c:1.75
      Rev: src/interpret_functions.h:1.10
      Rev: src/interpreter.h:1.42
      Rev: src/language.yacc:1.180
      Rev: src/lex.c:1.74
      Rev: src/lex.h:1.15
      Rev: src/object.c:1.117
      Rev: src/opcodes.c:1.74
      Rev: src/operators.c:1.91
      Rev: src/peep.c:1.30
      Rev: src/peep.h:1.5
      Rev: src/peep.in:1.28
      a96ce9ba
      History
      bye bye accumulator
      Fredrik Hübinette (Hubbe) authored
      Rev: bin/mkpeep.pike:1.14
      Rev: src/Makefile.in:1.190
      Rev: src/array.c:1.67
      Rev: src/docode.c:1.68
      Rev: src/docode.h:1.9
      Rev: src/error.h:1.41
      Rev: src/gc.c:1.75
      Rev: src/interpret_functions.h:1.10
      Rev: src/interpreter.h:1.42
      Rev: src/language.yacc:1.180
      Rev: src/lex.c:1.74
      Rev: src/lex.h:1.15
      Rev: src/object.c:1.117
      Rev: src/opcodes.c:1.74
      Rev: src/operators.c:1.91
      Rev: src/peep.c:1.30
      Rev: src/peep.h:1.5
      Rev: src/peep.in:1.28
    docode.h 1.16 KiB
    /*\
    ||| This file a part of Pike, and is copyright by Fredrik Hubinette
    ||| Pike is distributed as GPL (General Public License)
    ||| See the files COPYING and DISCLAIMER for more information.
    \*/
    
    /*
     * $Id: docode.h,v 1.9 2000/04/20 02:41:44 hubbe Exp $
     */
    #ifndef DOCODE_H
    #define DOCODE_H
    
    #define DO_LVALUE 1
    #define DO_NOT_COPY 2
    #define DO_POP 4
    #define DO_INDIRECT 8
    #define DO_LVALUE_IF_POSSIBLE 16
    #define DO_DEFER_POP 32
    
    #define WANT_LVALUE (DO_LVALUE | DO_INDIRECT)
    
    extern int store_linenumbers;
    
    #define emit0(X)     insert_opcode0((X),lex.current_line, lex.current_file)
    #define emit1(X,Y)   insert_opcode1((X),(Y),lex.current_line, lex.current_file)
    #define emit2(X,Y,Z) insert_opcode2((X),(Y),(Z),lex.current_line, lex.current_file)
    
    /* Prototypes begin here */
    void upd_int(int offset, INT32 tmp);
    INT32 read_int(int offset);
    void push_address(void);
    void push_explicit(INT32 address);
    INT32 pop_address(void);
    int alloc_label(void);
    int do_jump(int token,INT32 lbl);
    void do_pop(int x);
    int do_docode(node *n,INT16 flags);
    void do_cond_jump(node *n, int label, int iftrue, int flags);
    void do_code_block(node *n);
    int docode(node *n);
    /* Prototypes end here */
    
    #endif