php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
dasm_arm.h File Reference
#include <stddef.h>
#include <stdarg.h>
#include <string.h>
#include <stdlib.h>

Go to the source code of this file.

Data Structures

struct  dasm_Section
 
struct  dasm_State
 

Macros

#define DASM_ARCH   "arm"
 
#define DASM_EXTERN(a, b, c, d)
 
#define DASM_MAXSECPOS   25
 
#define DASM_S_OK   0x00000000
 
#define DASM_S_NOMEM   0x01000000
 
#define DASM_S_PHASE   0x02000000
 
#define DASM_S_MATCH_SEC   0x03000000
 
#define DASM_S_RANGE_I   0x11000000
 
#define DASM_S_RANGE_SEC   0x12000000
 
#define DASM_S_RANGE_LG   0x13000000
 
#define DASM_S_RANGE_PC   0x14000000
 
#define DASM_S_RANGE_REL   0x15000000
 
#define DASM_S_UNDEF_LG   0x21000000
 
#define DASM_S_UNDEF_PC   0x22000000
 
#define DASM_POS2IDX(pos)
 
#define DASM_POS2BIAS(pos)
 
#define DASM_SEC2POS(sec)
 
#define DASM_POS2SEC(pos)
 
#define DASM_POS2PTR(D, pos)
 
#define DASM_PSZ(ms)
 
#define CK(x, st)
 
#define CKPL(kind, st)
 
#define CK(x, st)
 

Typedefs

typedef const unsigned int * dasm_ActList
 
typedef struct dasm_Section dasm_Section
 

Enumerations

enum  {
  DASM_STOP , DASM_SECTION , DASM_ESC , DASM_REL_EXT ,
  DASM_ALIGN , DASM_REL_LG , DASM_LABEL_LG , DASM_REL_PC ,
  DASM_LABEL_PC , DASM_IMM , DASM_IMM12 , DASM_IMM16 ,
  DASM_IMML8 , DASM_IMML12 , DASM_IMMV8 , DASM__MAX
}
 

Functions

void dasm_init (Dst_DECL, int maxsection)
 
void dasm_free (Dst_DECL)
 
void dasm_setupglobal (Dst_DECL, void **gl, unsigned int maxgl)
 
void dasm_growpc (Dst_DECL, unsigned int maxpc)
 
void dasm_setup (Dst_DECL, const void *actionlist)
 
void dasm_put (Dst_DECL, int start,...)
 
int dasm_link (Dst_DECL, size_t *szp)
 
int dasm_encode (Dst_DECL, void *buffer)
 
int dasm_getpclabel (Dst_DECL, unsigned int pc)
 

Macro Definition Documentation

◆ CK [1/2]

#define CK ( x,
st )
Value:
((void)0)
ZEND_API void(ZEND_FASTCALL *zend_touch_vm_stack_data)(void *vm_stack_data)

Definition at line 159 of file dasm_arm.h.

◆ CK [2/2]

#define CK ( x,
st )
Value:
((void)0)

Definition at line 159 of file dasm_arm.h.

◆ CKPL

#define CKPL ( kind,
st )
Value:
((void)0)

Definition at line 160 of file dasm_arm.h.

◆ DASM_ARCH

#define DASM_ARCH   "arm"

Definition at line 12 of file dasm_arm.h.

◆ DASM_EXTERN

#define DASM_EXTERN ( a,
b,
c,
d )
Value:
0

Definition at line 15 of file dasm_arm.h.

◆ DASM_MAXSECPOS

#define DASM_MAXSECPOS   25

Definition at line 30 of file dasm_arm.h.

◆ DASM_POS2BIAS

#define DASM_POS2BIAS ( pos)
Value:
((pos)&0xff000000)
unsigned const char * pos
Definition php_ffi.h:52

Definition at line 47 of file dasm_arm.h.

◆ DASM_POS2IDX

#define DASM_POS2IDX ( pos)
Value:
((pos)&0x00ffffff)

Definition at line 46 of file dasm_arm.h.

◆ DASM_POS2PTR

#define DASM_POS2PTR ( D,
pos )
Value:
(D->sections[DASM_POS2SEC(pos)].rbuf + (pos))
#define DASM_POS2SEC(pos)
Definition dasm_arm.h:49
#define D(d)

Definition at line 50 of file dasm_arm.h.

◆ DASM_POS2SEC

#define DASM_POS2SEC ( pos)
Value:
((pos)>>24)

Definition at line 49 of file dasm_arm.h.

◆ DASM_PSZ

#define DASM_PSZ ( ms)
Value:
(sizeof(dasm_State)+(ms-1)*sizeof(dasm_Section))

Definition at line 82 of file dasm_arm.h.

◆ DASM_S_MATCH_SEC

#define DASM_S_MATCH_SEC   0x03000000

Definition at line 36 of file dasm_arm.h.

◆ DASM_S_NOMEM

#define DASM_S_NOMEM   0x01000000

Definition at line 34 of file dasm_arm.h.

◆ DASM_S_OK

#define DASM_S_OK   0x00000000

Definition at line 33 of file dasm_arm.h.

◆ DASM_S_PHASE

#define DASM_S_PHASE   0x02000000

Definition at line 35 of file dasm_arm.h.

◆ DASM_S_RANGE_I

#define DASM_S_RANGE_I   0x11000000

Definition at line 37 of file dasm_arm.h.

◆ DASM_S_RANGE_LG

#define DASM_S_RANGE_LG   0x13000000

Definition at line 39 of file dasm_arm.h.

◆ DASM_S_RANGE_PC

#define DASM_S_RANGE_PC   0x14000000

Definition at line 40 of file dasm_arm.h.

◆ DASM_S_RANGE_REL

#define DASM_S_RANGE_REL   0x15000000

Definition at line 41 of file dasm_arm.h.

◆ DASM_S_RANGE_SEC

#define DASM_S_RANGE_SEC   0x12000000

Definition at line 38 of file dasm_arm.h.

◆ DASM_S_UNDEF_LG

#define DASM_S_UNDEF_LG   0x21000000

Definition at line 42 of file dasm_arm.h.

◆ DASM_S_UNDEF_PC

#define DASM_S_UNDEF_PC   0x22000000

Definition at line 43 of file dasm_arm.h.

◆ DASM_SEC2POS

#define DASM_SEC2POS ( sec)
Value:
((sec)<<24)

Definition at line 48 of file dasm_arm.h.

Typedef Documentation

◆ dasm_ActList

typedef const unsigned int* dasm_ActList

Definition at line 53 of file dasm_arm.h.

◆ dasm_Section

typedef struct dasm_Section dasm_Section

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
DASM_STOP 
DASM_SECTION 
DASM_ESC 
DASM_REL_EXT 
DASM_ALIGN 
DASM_REL_LG 
DASM_LABEL_LG 
DASM_REL_PC 
DASM_LABEL_PC 
DASM_IMM 
DASM_IMM12 
DASM_IMM16 
DASM_IMML8 
DASM_IMML12 
DASM_IMMV8 
DASM__MAX 

Definition at line 19 of file dasm_arm.h.

Function Documentation

◆ dasm_encode()

int dasm_encode ( Dst_DECL ,
void * buffer )

Definition at line 340 of file dasm_arm.h.

◆ dasm_free()

void dasm_free ( Dst_DECL )

Definition at line 104 of file dasm_arm.h.

◆ dasm_getpclabel()

int dasm_getpclabel ( Dst_DECL ,
unsigned int pc )

Definition at line 427 of file dasm_arm.h.

◆ dasm_growpc()

void dasm_growpc ( Dst_DECL ,
unsigned int maxpc )

Definition at line 125 of file dasm_arm.h.

◆ dasm_init()

void dasm_init ( Dst_DECL ,
int maxsection )

Definition at line 86 of file dasm_arm.h.

◆ dasm_link()

int dasm_link ( Dst_DECL ,
size_t * szp )

Definition at line 274 of file dasm_arm.h.

◆ dasm_put()

void dasm_put ( Dst_DECL ,
int start,
... )

Definition at line 172 of file dasm_arm.h.

◆ dasm_setup()

void dasm_setup ( Dst_DECL ,
const void * actionlist )

Definition at line 134 of file dasm_arm.h.

◆ dasm_setupglobal()

void dasm_setupglobal ( Dst_DECL ,
void ** gl,
unsigned int maxgl )

Definition at line 117 of file dasm_arm.h.