Skip to content
Snippets Groups Projects
Select Git revision
  • ff68c47c0c47d84f1b5ca6886edb7659af6ebd95
  • master default
  • wip-slh-dsa-sha2-128s
  • master-updates
  • release-3.10-fixes
  • getopt-prototype
  • fix-bcrypt-warning
  • refactor-hmac
  • wip-use-alignas
  • trim-sha3-context
  • fix-gitlab-ci
  • check-fat-emulate
  • delete-digest_func-size
  • slh-dsa-shake-128f-nettle
  • slh-dsa-shake-128s-nettle
  • slh-dsa-shake-128s
  • delete-openpgp
  • ppc64-sha512
  • delete-md5-compat
  • cleanup-hmac-tests
  • ppc64-sha256
  • nettle_3.10.2_release_20250626
  • nettle_3.10.1_release_20241230
  • nettle_3.10_release_20240616
  • nettle_3.10rc2
  • nettle_3.10rc1
  • nettle_3.9.1_release_20230601
  • nettle_3.9_release_20230514
  • nettle_3.8.1_release_20220727
  • nettle_3.8_release_20220602
  • nettle_3.7.3_release_20210606
  • nettle_3.7.2_release_20210321
  • nettle_3.7.1_release_20210217
  • nettle_3.7_release_20210104
  • nettle_3.7rc1
  • nettle_3.6_release_20200429
  • nettle_3.6rc3
  • nettle_3.6rc2
  • nettle_3.6rc1
  • nettle_3.5.1_release_20190627
  • nettle_3.5_release_20190626
41 results

arctwo.c

Blame
  • bytecode.h 1.74 KiB
    /*
    || 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.
    || $Id: bytecode.h,v 1.13 2005/11/21 10:38:22 grubba Exp $
    */
    
    #define UPDATE_PC()
    
    #define ins_pointer(PTR)	add_relocated_int_to_program((PTR))
    #define read_pointer(OFF)	read_int(OFF)
    #define upd_pointer(OFF, PTR)	upd_int((OFF), (PTR))
    #define ins_align(ALIGN)	do { \
        while (Pike_compiler->new_program->num_program % (ALIGN)) { \
          add_to_program(0); \
        } \
      } while(0)
    #define ins_byte(VAL)		add_to_program((VAL))
    #define ins_data(VAL)		add_relocated_int_to_program((VAL))
    #define read_program_data(PTR, OFF)	EXTRACT_INT((PTR) + (sizeof(INT32)*(OFF)))
    
    #define PROG_COUNTER pc
    
    #define READ_INCR_BYTE(PC)	EXTRACT_UCHAR((PC)++)
    
    #define CHECK_RELOC(REL, PROG_SIZE)		\
      do {						\
        if ((REL) > (PROG_SIZE)-4) {		\
          Pike_error("Bad relocation: %"PRINTSIZET"d > %"PRINTSIZET"d\n",	\
    		 (REL), (PROG_SIZE)-4);		\
        }						\
      } while(0)
    
    /* FIXME: Uses internal variable 'byteorder'. */
    #define DECODE_PROGRAM(P)						\
      do {									\
        struct program *p_ = (P);						\
        int num_reloc = (int)p_->num_relocations;				\
        if (byteorder != PIKE_BYTEORDER) {					\
          int e;								\
          /* NOTE: Only 1234 <==> 4321 byte-order relocation supported. */	\
          for (e=0; e<num_reloc; e++) {					\
    	size_t reloc = p_->relocations[e];				\
    	unsigned INT8 tmp1;						\
    	unsigned INT8 tmp2;						\
    	tmp1 = p_->program[reloc];					\
    	tmp2 = p_->program[reloc+1];					\
    	p_->program[reloc] = p_->program[reloc+3];			\
    	p_->program[reloc+1] = p_->program[reloc+2];			\
    	p_->program[reloc+3] = tmp1;					\
    	p_->program[reloc+2] = tmp2;					\
          }									\
        }									\
      } while(0)