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

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

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

revision 955 by zherczeg, Tue Apr 3 15:32:36 2012 UTC revision 956 by zherczeg, Wed Apr 4 05:35:52 2012 UTC
# Line 149  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_ Line 149  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_
149  #ifdef _WIN32  #ifdef _WIN32
150          if (local_size > 1024) {          if (local_size > 1024) {
151                  FAIL_IF(emit_do_imm(compiler, 0xb8 + reg_map[SLJIT_TEMPORARY_REG1], local_size));                  FAIL_IF(emit_do_imm(compiler, 0xb8 + reg_map[SLJIT_TEMPORARY_REG1], local_size));
152                  FAIL_IF(sljit_emit_ijump(compiler, SLJIT_CALL1, SLJIT_IMM, SLJIT_FUNC_OFFSET(sljit_touch_stack)));                  FAIL_IF(sljit_emit_ijump(compiler, SLJIT_CALL1, SLJIT_IMM, SLJIT_FUNC_OFFSET(sljit_grow_stack)));
153          }          }
154  #endif  #endif
155    
156          compiler->local_size = local_size;          compiler->local_size = local_size;
157          if (local_size > 0)          SLJIT_ASSERT(local_size > 0);
158                  return emit_non_cum_binary(compiler, 0x2b, 0x29, 0x5 << 3, 0x2d,          return emit_non_cum_binary(compiler, 0x2b, 0x29, 0x5 << 3, 0x2d,
159                          SLJIT_LOCALS_REG, 0, SLJIT_LOCALS_REG, 0, SLJIT_IMM, local_size);                  SLJIT_LOCALS_REG, 0, SLJIT_LOCALS_REG, 0, SLJIT_IMM, local_size);
160    
161          return SLJIT_SUCCESS;          return SLJIT_SUCCESS;
162  }  }
# Line 199  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_ Line 199  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_
199          compiler->flags_saved = 0;          compiler->flags_saved = 0;
200          FAIL_IF(emit_mov_before_return(compiler, op, src, srcw));          FAIL_IF(emit_mov_before_return(compiler, op, src, srcw));
201    
202          if (compiler->local_size > 0)          SLJIT_ASSERT(compiler->local_size > 0);
203                  FAIL_IF(emit_cum_binary(compiler, 0x03, 0x01, 0x0 << 3, 0x05,          FAIL_IF(emit_cum_binary(compiler, 0x03, 0x01, 0x0 << 3, 0x05,
204                                  SLJIT_LOCALS_REG, 0, SLJIT_LOCALS_REG, 0, SLJIT_IMM, compiler->local_size));                  SLJIT_LOCALS_REG, 0, SLJIT_LOCALS_REG, 0, SLJIT_IMM, compiler->local_size));
205    
206          size = 2 + (compiler->saveds <= 3 ? compiler->saveds : 3);          size = 2 + (compiler->saveds <= 3 ? compiler->saveds : 3);
207  #if (defined SLJIT_X86_32_FASTCALL && SLJIT_X86_32_FASTCALL)  #if (defined SLJIT_X86_32_FASTCALL && SLJIT_X86_32_FASTCALL)

Legend:
Removed from v.955  
changed lines
  Added in v.956

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12