From: Valentin Bartenev Date: Thu, 10 Nov 2016 16:09:13 +0000 (+0300) Subject: Moved njs_string_offset_map_init() closer to its usage. X-Git-Tag: 0.1.5~4 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=528f1a95fee5c5e53fb1026dd678d3e0ee078117;p=njs.git Moved njs_string_offset_map_init() closer to its usage. No functional changes. --- diff --git a/njs/njs_string.c b/njs/njs_string.c index 4c6361fb..c3a6ac84 100644 --- a/njs/njs_string.c +++ b/njs/njs_string.c @@ -466,35 +466,6 @@ njs_string_prototype_length(njs_vm_t *vm, njs_value_t *value) } -nxt_noinline void -njs_string_offset_map_init(const u_char *start, size_t size) -{ - size_t offset; - uint32_t *map; - nxt_uint_t n; - const u_char *p, *end; - - end = start + size; - map = njs_string_map_start(end); - p = start; - n = 0; - offset = NJS_STRING_MAP_STRIDE; - - do { - if (offset == 0) { - map[n++] = p - start; - offset = NJS_STRING_MAP_STRIDE; - } - - /* The UTF-8 string should be valid since its length is known. */ - p = nxt_utf8_next(p, end); - - offset--; - - } while (p < end); -} - - nxt_bool_t njs_string_eq(const njs_value_t *v1, const njs_value_t *v2) { @@ -1588,6 +1559,35 @@ njs_string_index(njs_string_prop_t *string, uint32_t offset) } +nxt_noinline void +njs_string_offset_map_init(const u_char *start, size_t size) +{ + size_t offset; + uint32_t *map; + nxt_uint_t n; + const u_char *p, *end; + + end = start + size; + map = njs_string_map_start(end); + p = start; + n = 0; + offset = NJS_STRING_MAP_STRIDE; + + do { + if (offset == 0) { + map[n++] = p - start; + offset = NJS_STRING_MAP_STRIDE; + } + + /* The UTF-8 string should be valid since its length is known. */ + p = nxt_utf8_next(p, end); + + offset--; + + } while (p < end); +} + + /* * String.toLowerCase(). * The method supports only simple folding. For example, Turkish "İ" diff --git a/njs/njs_string.h b/njs/njs_string.h index 597c752e..f731837a 100644 --- a/njs/njs_string.h +++ b/njs/njs_string.h @@ -128,7 +128,6 @@ nxt_noinline size_t njs_string_prop(njs_string_prop_t *string, njs_value_t *value); njs_ret_t njs_string_constructor(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, njs_index_t unused); -void njs_string_offset_map_init(const u_char *start, size_t size); nxt_bool_t njs_string_eq(const njs_value_t *val1, const njs_value_t *val2); nxt_int_t njs_string_cmp(const njs_value_t *val1, const njs_value_t *val2); njs_ret_t njs_string_slice(njs_vm_t *vm, njs_value_t *dst, @@ -137,6 +136,7 @@ const u_char *njs_string_offset(const u_char *start, const u_char *end, size_t index); nxt_noinline uint32_t njs_string_index(njs_string_prop_t *string, uint32_t offset); +void njs_string_offset_map_init(const u_char *start, size_t size); njs_ret_t njs_primitive_value_to_string(njs_vm_t *vm, njs_value_t *dst, const njs_value_t *src); double njs_string_to_number(njs_value_t *value, nxt_bool_t exact);