/[pcre]/code/trunk/pcre_jit_compile.c
ViewVC logotype

Diff of /code/trunk/pcre_jit_compile.c

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

revision 752 by zherczeg, Sat Nov 19 15:28:29 2011 UTC revision 780 by ph10, Fri Dec 2 11:39:21 2011 UTC
# Line 166  typedef struct executable_function { Line 166  typedef struct executable_function {
166    void *executable_func;    void *executable_func;
167    pcre_jit_callback callback;    pcre_jit_callback callback;
168    void *userdata;    void *userdata;
169      sljit_uw executable_size;
170  } executable_function;  } executable_function;
171    
172  typedef struct jump_list {  typedef struct jump_list {
# Line 6099  pcre_study_data *study; Line 6100  pcre_study_data *study;
6100  uschar *ccend;  uschar *ccend;
6101  executable_function *function;  executable_function *function;
6102  void *executable_func;  void *executable_func;
6103    sljit_uw executable_size;
6104  struct sljit_label *leave;  struct sljit_label *leave;
6105  struct sljit_label *mainloop = NULL;  struct sljit_label *mainloop = NULL;
6106  struct sljit_label *empty_match_found;  struct sljit_label *empty_match_found;
# Line 6428  if (common->getucd != NULL) Line 6430  if (common->getucd != NULL)
6430    
6431  SLJIT_FREE(common->localptrs);  SLJIT_FREE(common->localptrs);
6432  executable_func = sljit_generate_code(compiler);  executable_func = sljit_generate_code(compiler);
6433    executable_size = sljit_get_generated_code_size(compiler);
6434  sljit_free_compiler(compiler);  sljit_free_compiler(compiler);
6435  if (executable_func == NULL)  if (executable_func == NULL)
6436    return;    return;
# Line 6442  if (function == NULL) Line 6445  if (function == NULL)
6445    }    }
6446    
6447  function->executable_func = executable_func;  function->executable_func = executable_func;
6448    function->executable_size = executable_size;
6449  function->callback = NULL;  function->callback = NULL;
6450  function->userdata = NULL;  function->userdata = NULL;
6451  extra->executable_jit = function;  extra->executable_jit = function;
# Line 6530  sljit_free_code(function->executable_fun Line 6534  sljit_free_code(function->executable_fun
6534  SLJIT_FREE(function);  SLJIT_FREE(function);
6535  }  }
6536    
6537    int
6538    _pcre_jit_get_size(void *executable_func)
6539    {
6540    return ((executable_function*)executable_func)->executable_size;
6541    }
6542    
6543  PCRE_EXP_DECL pcre_jit_stack *  PCRE_EXP_DECL pcre_jit_stack *
6544  pcre_jit_stack_alloc(int startsize, int maxsize)  pcre_jit_stack_alloc(int startsize, int maxsize)
6545  {  {

Legend:
Removed from v.752  
changed lines
  Added in v.780

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12