/[pcre]/code/trunk/sljit/sljitNativeARM_Thumb2.c
ViewVC logotype

Diff of /code/trunk/sljit/sljitNativeARM_Thumb2.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 722 by zherczeg, Fri Oct 7 19:18:55 2011 UTC revision 740 by zherczeg, Mon Oct 31 06:10:14 2011 UTC
# Line 24  Line 24 
24   * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.   * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25   */   */
26    
27  SLJIT_CONST char* sljit_get_platform_name()  SLJIT_API_FUNC_ATTRIBUTE SLJIT_CONST char* sljit_get_platform_name()
28  {  {
29          return "arm-thumb2";          return "arm-thumb2";
30  }  }
# Line 340  static SLJIT_INLINE void set_jump_instru Line 340  static SLJIT_INLINE void set_jump_instru
340                  SLJIT_ASSERT_STOP();                  SLJIT_ASSERT_STOP();
341  }  }
342    
343  void* sljit_generate_code(struct sljit_compiler *compiler)  SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compiler)
344  {  {
345          struct sljit_memory_fragment *buf;          struct sljit_memory_fragment *buf;
346          sljit_uh *code;          sljit_uh *code;
# Line 1076  static SLJIT_INLINE int emit_op_mem(stru Line 1076  static SLJIT_INLINE int emit_op_mem(stru
1076          return getput_arg(compiler, flags, reg, arg, argw, 0, 0);          return getput_arg(compiler, flags, reg, arg, argw, 0, 0);
1077  }  }
1078    
1079  int sljit_emit_enter(struct sljit_compiler *compiler, int args, int temporaries, int generals, int local_size)  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_enter(struct sljit_compiler *compiler, int args, int temporaries, int generals, int local_size)
1080  {  {
1081          int size;          int size;
1082          sljit_ins push;          sljit_ins push;
# Line 1127  int sljit_emit_enter(struct sljit_compil Line 1127  int sljit_emit_enter(struct sljit_compil
1127          return SLJIT_SUCCESS;          return SLJIT_SUCCESS;
1128  }  }
1129    
1130  void sljit_fake_enter(struct sljit_compiler *compiler, int args, int temporaries, int generals, int local_size)  SLJIT_API_FUNC_ATTRIBUTE void sljit_fake_enter(struct sljit_compiler *compiler, int args, int temporaries, int generals, int local_size)
1131  {  {
1132          int size;          int size;
1133    
# Line 1144  void sljit_fake_enter(struct sljit_compi Line 1144  void sljit_fake_enter(struct sljit_compi
1144          compiler->local_size = local_size;          compiler->local_size = local_size;
1145  }  }
1146    
1147  int sljit_emit_return(struct sljit_compiler *compiler, int src, sljit_w srcw)  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_return(struct sljit_compiler *compiler, int src, sljit_w srcw)
1148  {  {
1149          sljit_ins pop;          sljit_ins pop;
1150    
# Line 1187  int sljit_emit_return(struct sljit_compi Line 1187  int sljit_emit_return(struct sljit_compi
1187  /*  Operators                                                            */  /*  Operators                                                            */
1188  /* --------------------------------------------------------------------- */  /* --------------------------------------------------------------------- */
1189    
1190  int sljit_emit_op0(struct sljit_compiler *compiler, int op)  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_op0(struct sljit_compiler *compiler, int op)
1191  {  {
1192          CHECK_ERROR();          CHECK_ERROR();
1193          check_sljit_emit_op0(compiler, op);          check_sljit_emit_op0(compiler, op);
# Line 1205  int sljit_emit_op0(struct sljit_compiler Line 1205  int sljit_emit_op0(struct sljit_compiler
1205          return SLJIT_SUCCESS;          return SLJIT_SUCCESS;
1206  }  }
1207    
1208  int sljit_emit_op1(struct sljit_compiler *compiler, int op,  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_op1(struct sljit_compiler *compiler, int op,
1209          int dst, sljit_w dstw,          int dst, sljit_w dstw,
1210          int src, sljit_w srcw)          int src, sljit_w srcw)
1211  {  {
# Line 1332  int sljit_emit_op1(struct sljit_compiler Line 1332  int sljit_emit_op1(struct sljit_compiler
1332          return SLJIT_SUCCESS;          return SLJIT_SUCCESS;
1333  }  }
1334    
1335  int sljit_emit_op2(struct sljit_compiler *compiler, int op,  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_op2(struct sljit_compiler *compiler, int op,
1336          int dst, sljit_w dstw,          int dst, sljit_w dstw,
1337          int src1, sljit_w src1w,          int src1, sljit_w src1w,
1338          int src2, sljit_w src2w)          int src2, sljit_w src2w)
# Line 1415  int sljit_emit_op2(struct sljit_compiler Line 1415  int sljit_emit_op2(struct sljit_compiler
1415  /*  Floating point operators                                             */  /*  Floating point operators                                             */
1416  /* --------------------------------------------------------------------- */  /* --------------------------------------------------------------------- */
1417    
1418  int sljit_is_fpu_available(void)  SLJIT_API_FUNC_ATTRIBUTE int sljit_is_fpu_available(void)
1419  {  {
1420          return 1;          return 1;
1421  }  }
# Line 1470  static int emit_fop_mem(struct sljit_com Line 1470  static int emit_fop_mem(struct sljit_com
1470          return push_inst32(compiler, inst | 0x800000 | RN4(TMP_REG3) | DD4(reg));          return push_inst32(compiler, inst | 0x800000 | RN4(TMP_REG3) | DD4(reg));
1471  }  }
1472    
1473  int sljit_emit_fop1(struct sljit_compiler *compiler, int op,  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_fop1(struct sljit_compiler *compiler, int op,
1474          int dst, sljit_w dstw,          int dst, sljit_w dstw,
1475          int src, sljit_w srcw)          int src, sljit_w srcw)
1476  {  {
# Line 1519  int sljit_emit_fop1(struct sljit_compile Line 1519  int sljit_emit_fop1(struct sljit_compile
1519          return SLJIT_SUCCESS;          return SLJIT_SUCCESS;
1520  }  }
1521    
1522  int sljit_emit_fop2(struct sljit_compiler *compiler, int op,  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_fop2(struct sljit_compiler *compiler, int op,
1523          int dst, sljit_w dstw,          int dst, sljit_w dstw,
1524          int src1, sljit_w src1w,          int src1, sljit_w src1w,
1525          int src2, sljit_w src2w)          int src2, sljit_w src2w)
# Line 1566  int sljit_emit_fop2(struct sljit_compile Line 1566  int sljit_emit_fop2(struct sljit_compile
1566  /*  Other instructions                                                   */  /*  Other instructions                                                   */
1567  /* --------------------------------------------------------------------- */  /* --------------------------------------------------------------------- */
1568    
1569  int sljit_emit_fast_enter(struct sljit_compiler *compiler, int dst, sljit_w dstw, int args, int temporaries, int generals, int local_size)  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_fast_enter(struct sljit_compiler *compiler, int dst, sljit_w dstw, int args, int temporaries, int generals, int local_size)
1570  {  {
1571          int size;          int size;
1572    
# Line 1596  int sljit_emit_fast_enter(struct sljit_c Line 1596  int sljit_emit_fast_enter(struct sljit_c
1596          return SLJIT_SUCCESS;          return SLJIT_SUCCESS;
1597  }  }
1598    
1599  int sljit_emit_fast_return(struct sljit_compiler *compiler, int src, sljit_w srcw)  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_fast_return(struct sljit_compiler *compiler, int src, sljit_w srcw)
1600  {  {
1601          CHECK_ERROR();          CHECK_ERROR();
1602          check_sljit_emit_fast_return(compiler, src, srcw);          check_sljit_emit_fast_return(compiler, src, srcw);
# Line 1676  static sljit_uw get_cc(int type) Line 1676  static sljit_uw get_cc(int type)
1676          }          }
1677  }  }
1678    
1679  struct sljit_label* sljit_emit_label(struct sljit_compiler *compiler)  SLJIT_API_FUNC_ATTRIBUTE struct sljit_label* sljit_emit_label(struct sljit_compiler *compiler)
1680  {  {
1681          struct sljit_label *label;          struct sljit_label *label;
1682    
# Line 1692  struct sljit_label* sljit_emit_label(str Line 1692  struct sljit_label* sljit_emit_label(str
1692          return label;          return label;
1693  }  }
1694    
1695  struct sljit_jump* sljit_emit_jump(struct sljit_compiler *compiler, int type)  SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_jump(struct sljit_compiler *compiler, int type)
1696  {  {
1697          struct sljit_jump *jump;          struct sljit_jump *jump;
1698          int cc;          int cc;
# Line 1725  struct sljit_jump* sljit_emit_jump(struc Line 1725  struct sljit_jump* sljit_emit_jump(struc
1725          return jump;          return jump;
1726  }  }
1727    
1728  int sljit_emit_ijump(struct sljit_compiler *compiler, int type, int src, sljit_w srcw)  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_ijump(struct sljit_compiler *compiler, int type, int src, sljit_w srcw)
1729  {  {
1730          struct sljit_jump *jump;          struct sljit_jump *jump;
1731    
# Line 1754  int sljit_emit_ijump(struct sljit_compil Line 1754  int sljit_emit_ijump(struct sljit_compil
1754          return SLJIT_SUCCESS;          return SLJIT_SUCCESS;
1755  }  }
1756    
1757  int sljit_emit_cond_value(struct sljit_compiler *compiler, int op, int dst, sljit_w dstw, int type)  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_cond_value(struct sljit_compiler *compiler, int op, int dst, sljit_w dstw, int type)
1758  {  {
1759          int dst_r;          int dst_r;
1760          sljit_uw cc;          sljit_uw cc;
# Line 1801  int sljit_emit_cond_value(struct sljit_c Line 1801  int sljit_emit_cond_value(struct sljit_c
1801          return SLJIT_SUCCESS;          return SLJIT_SUCCESS;
1802  }  }
1803    
1804  struct sljit_const* sljit_emit_const(struct sljit_compiler *compiler, int dst, sljit_w dstw, sljit_w init_value)  SLJIT_API_FUNC_ATTRIBUTE struct sljit_const* sljit_emit_const(struct sljit_compiler *compiler, int dst, sljit_w dstw, sljit_w init_value)
1805  {  {
1806          struct sljit_const *const_;          struct sljit_const *const_;
1807          int dst_r;          int dst_r;
# Line 1821  struct sljit_const* sljit_emit_const(str Line 1821  struct sljit_const* sljit_emit_const(str
1821          return const_;          return const_;
1822  }  }
1823    
1824  void sljit_set_jump_addr(sljit_uw addr, sljit_uw new_addr)  SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_uw new_addr)
1825  {  {
1826          inline_set_jump_addr(addr, new_addr, 1);          inline_set_jump_addr(addr, new_addr, 1);
1827  }  }
1828    
1829  void sljit_set_const(sljit_uw addr, sljit_w new_constant)  SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_w new_constant)
1830  {  {
1831          sljit_uh* inst = (sljit_uh*)addr;          sljit_uh* inst = (sljit_uh*)addr;
1832          modify_imm32_const(inst, new_constant);          modify_imm32_const(inst, new_constant);

Legend:
Removed from v.722  
changed lines
  Added in v.740

  ViewVC Help
Powered by ViewVC 1.1.5