Github User Fetcher 1.0.0
C Application with Server and GUI
|
#include "duk_internal.h"
Go to the source code of this file.
Macros | |
#define | DUK__HASH_INITIAL(hash, h_size) DUK_STRTAB_HASH_INITIAL((hash),(h_size)) |
#define | DUK__HASH_PROBE_STEP(hash) DUK_STRTAB_HASH_PROBE_STEP((hash)) |
#define | DUK__DELETED_MARKER(heap) DUK_STRTAB_DELETED_MARKER((heap)) |
#define | DUK__PREVENT_MS_SIDE_EFFECTS(heap) |
#define DUK__DELETED_MARKER | ( | heap | ) | DUK_STRTAB_DELETED_MARKER((heap)) |
Definition at line 10 of file duktape-1.5.2/src-separate/duk_heap_stringtable.c.
Referenced by duk__count_used_probe(), duk__find_matching_string_probe(), duk__insert_hstring_probe(), duk__remove_matching_hstring_probe(), and duk__resize_strtab_raw_probe().
#define DUK__HASH_INITIAL | ( | hash, | |
h_size ) DUK_STRTAB_HASH_INITIAL((hash),(h_size)) |
Definition at line 8 of file duktape-1.5.2/src-separate/duk_heap_stringtable.c.
Referenced by duk__find_matching_string_probe(), duk__insert_hstring_probe(), and duk__remove_matching_hstring_probe().
#define DUK__HASH_PROBE_STEP | ( | hash | ) | DUK_STRTAB_HASH_PROBE_STEP((hash)) |
Definition at line 9 of file duktape-1.5.2/src-separate/duk_heap_stringtable.c.
Referenced by duk__find_matching_string_probe(), duk__insert_hstring_probe(), and duk__remove_matching_hstring_probe().
#define DUK__PREVENT_MS_SIDE_EFFECTS | ( | heap | ) |
Definition at line 14 of file duktape-1.5.2/src-separate/duk_heap_stringtable.c.
Referenced by duk__do_intern(), and duk_heap_force_strtab_resize().
DUK_LOCAL duk_hstring * duk__alloc_init_hstring | ( | duk_heap * | heap, |
const duk_uint8_t * | str, | ||
duk_uint32_t | blen, | ||
duk_uint32_t | strhash, | ||
const duk_uint8_t * | extdata ) |
Definition at line 32 of file duktape-1.5.2/src-separate/duk_heap_stringtable.c.
References DUK_ALLOC, DUK_ASSERT, DUK_D, DUK_DDD, DUK_DDDPRINT, DUK_DPRINT, DUK_FREE, DUK_HEAPHDR_SET_TYPE_AND_FLAGS, DUK_HEAPHDR_STRING_INIT_NULLS, DUK_HSTRING_FLAG_EXTDATA, DUK_HSTRING_GET_BYTELEN, DUK_HSTRING_GET_CHARLEN, DUK_HSTRING_GET_HASH, DUK_HSTRING_HAS_ARRIDX, DUK_HSTRING_HAS_ASCII, DUK_HSTRING_HAS_EXTDATA, DUK_HSTRING_HAS_INTERNAL, DUK_HSTRING_SET_ARRIDX, DUK_HSTRING_SET_ASCII, DUK_HSTRING_SET_BYTELEN, DUK_HSTRING_SET_CHARLEN, DUK_HSTRING_SET_HASH, DUK_HSTRING_SET_INTERNAL, DUK_HTYPE_STRING, duk_js_to_arrayindex_raw_string(), DUK_MEMCPY, DUK_MEMZERO, duk_unicode_unvalidated_utf8_length(), dummy, duk_hstring::hdr, and NULL.
Referenced by duk__do_intern().
Definition at line 469 of file duktape-1.5.2/src-separate/duk_heap_stringtable.c.
References DUK__DELETED_MARKER, duk__insert_hstring_probe(), DUK_LOCAL, NULL, duk_heap::st_size, and duk_heap::strtable.
Referenced by duk__resize_strtab_probe(), and duk__resize_strtab_raw_probe().
DUK_LOCAL duk_hstring * duk__do_intern | ( | duk_heap * | heap, |
const duk_uint8_t * | str, | ||
duk_uint32_t | blen, | ||
duk_uint32_t | strhash ) |
Definition at line 833 of file duktape-1.5.2/src-separate/duk_heap_stringtable.c.
References duk__alloc_init_hstring(), duk__insert_hstring_probe(), DUK__PREVENT_MS_SIDE_EFFECTS, duk__recheck_strtab_size_probe(), DUK_ASSERT, DUK_FREE, DUK_LOSE_CONST, DUK_MS_FLAG_NO_STRINGTABLE_RESIZE, DUK_PRINTF, duk_heap::heap_udata, duk_heap::mark_and_sweep_base_flags, NULL, duk_heap::st_size, duk_heap::st_used, and duk_heap::strtable.
Referenced by duk_heap_string_intern().
DUK_LOCAL duk_hstring * duk__do_lookup | ( | duk_heap * | heap, |
const duk_uint8_t * | str, | ||
duk_uint32_t | blen, | ||
duk_uint32_t * | out_strhash ) |
Definition at line 921 of file duktape-1.5.2/src-separate/duk_heap_stringtable.c.
References duk__find_matching_string_probe(), DUK_ASSERT, DUK_DD, DUK_DDPRINT, duk_heap_hashstring(), DUK_HSTRING_GET_BYTELEN, DUK_HSTRING_GET_DATA, DUK_HSTRING_GET_HASH, DUK_LOSE_CONST, DUK_MEMCMP, duk_heap::st_size, and duk_heap::strtable.
Referenced by duk_heap_string_intern().
DUK_LOCAL duk_hstring * duk__find_matching_string_probe | ( | duk_heap * | heap, |
duk_hstring ** | entries, | ||
duk_uint32_t | size, | ||
const duk_uint8_t * | str, | ||
duk_uint32_t | blen, | ||
duk_uint32_t | strhash ) |
Definition at line 554 of file duktape-1.5.2/src-separate/duk_heap_stringtable.c.
References DUK__DELETED_MARKER, DUK__HASH_INITIAL, DUK__HASH_PROBE_STEP, DUK_ASSERT, DUK_DDD, DUK_DDDPRINT, DUK_HSTRING_GET_BYTELEN, DUK_HSTRING_GET_DATA, DUK_MEMCMP, DUK_UNREACHABLE, duk_heap::heap_udata, and NULL.
Referenced by duk__do_lookup(), and duk__insert_hstring_probe().
DUK_LOCAL void duk__insert_hstring_probe | ( | duk_heap * | heap, |
duk_hstring ** | entries, | ||
duk_uint32_t | size, | ||
duk_uint32_t * | p_used, | ||
duk_hstring * | h ) |
Definition at line 493 of file duktape-1.5.2/src-separate/duk_heap_stringtable.c.
References DUK__DELETED_MARKER, duk__find_matching_string_probe(), DUK__HASH_INITIAL, DUK__HASH_PROBE_STEP, DUK_ASSERT, DUK_DDD, DUK_DDDPRINT, DUK_HSTRING_GET_HASH, DUK_LOCAL, duk_heap::heap_udata, and NULL.
Referenced by duk__count_used_probe(), duk__do_intern(), and duk__resize_strtab_raw_probe().
DUK_LOCAL duk_bool_t duk__recheck_strtab_size_probe | ( | duk_heap * | heap, |
duk_uint32_t | new_used ) |
Definition at line 780 of file duktape-1.5.2/src-separate/duk_heap_stringtable.c.
References duk__resize_strtab_probe(), DUK_ASSERT, DUK_STRTAB_MIN_FREE_DIVISOR, DUK_STRTAB_MIN_USED_DIVISOR, and duk_heap::st_size.
Referenced by duk__do_intern().
DUK_LOCAL void duk__remove_matching_hstring_probe | ( | duk_heap * | heap, |
duk_hstring ** | entries, | ||
duk_uint32_t | size, | ||
duk_hstring * | h ) |
Definition at line 594 of file duktape-1.5.2/src-separate/duk_heap_stringtable.c.
References DUK__DELETED_MARKER, DUK__HASH_INITIAL, DUK__HASH_PROBE_STEP, DUK_ASSERT, DUK_DDD, DUK_DDDPRINT, DUK_HSTRING_GET_HASH, DUK_UNREACHABLE, and duk_heap::heap_udata.
Referenced by duk_heap_string_remove().
DUK_LOCAL duk_bool_t duk__resize_strtab_probe | ( | duk_heap * | heap | ) |
Definition at line 758 of file duktape-1.5.2/src-separate/duk_heap_stringtable.c.
References duk__count_used_probe(), duk__resize_strtab_raw_probe(), DUK_ASSERT, DUK_STRTAB_GROW_ST_SIZE, DUK_STRTAB_HIGHEST_32BIT_PRIME, and duk_util_get_hash_prime().
Referenced by duk__recheck_strtab_size_probe(), and duk_heap_force_strtab_resize().
DUK_LOCAL duk_bool_t duk__resize_strtab_raw_probe | ( | duk_heap * | heap, |
duk_uint32_t | new_size ) |
Definition at line 647 of file duktape-1.5.2/src-separate/duk_heap_stringtable.c.
References duk__count_used_probe(), DUK__DELETED_MARKER, duk__insert_hstring_probe(), DUK_ALLOC, DUK_ASSERT, DUK_DD, DUK_DDD, DUK_DDDPRINT, DUK_DDPRINT, DUK_FREE, DUK_MEMZERO, DUK_MS_FLAG_NO_FINALIZERS, DUK_MS_FLAG_NO_OBJECT_COMPACTION, DUK_MS_FLAG_NO_STRINGTABLE_RESIZE, DUK_UNREF, duk_heap::heap_udata, duk_heap::mark_and_sweep_base_flags, NULL, duk_heap::st_size, duk_heap::st_used, and duk_heap::strtable.
Referenced by duk__resize_strtab_probe().
DUK_INTERNAL void duk_heap_force_strtab_resize | ( | duk_heap * | heap | ) |
Definition at line 1053 of file duktape-1.5.2/src-separate/duk_heap_stringtable.c.
References DUK__PREVENT_MS_SIDE_EFFECTS, duk__resize_strtab_probe(), DUK_ASSERT, DUK_MS_FLAG_NO_STRINGTABLE_RESIZE, DUK_UNREF, and duk_heap::mark_and_sweep_base_flags.
DUK_INTERNAL void duk_heap_free_strtab | ( | duk_heap * | heap | ) |
Definition at line 1139 of file duktape-1.5.2/src-separate/duk_heap_stringtable.c.
References DUK_ASSERT, DUK_FREE, duk_free_hstring_inner(), DUK_STRTAB_DELETED_MARKER, duk_heap::heap_udata, NULL, duk_heap::st_size, and duk_heap::strtable.
DUK_INTERNAL duk_hstring * duk_heap_string_intern | ( | duk_heap * | heap, |
const duk_uint8_t * | str, | ||
duk_uint32_t | blen ) |
Definition at line 980 of file duktape-1.5.2/src-separate/duk_heap_stringtable.c.
References duk__do_intern(), duk__do_lookup(), DUK_ASSERT, and DUK_HSTRING_MAX_BYTELEN.
Referenced by duk_heap_string_intern_checked(), and duk_heap_string_intern_u32().
DUK_INTERNAL duk_hstring * duk_heap_string_intern_checked | ( | duk_hthread * | thr, |
const duk_uint8_t * | str, | ||
duk_uint32_t | blen ) |
Definition at line 996 of file duktape-1.5.2/src-separate/duk_heap_stringtable.c.
References DUK_ERROR_ALLOC_DEFMSG, duk_heap_string_intern(), and duk_hthread::heap.
DUK_INTERNAL duk_hstring * duk_heap_string_intern_u32 | ( | duk_heap * | heap, |
duk_uint32_t | val ) |
Definition at line 1014 of file duktape-1.5.2/src-separate/duk_heap_stringtable.c.
References DUK_ASSERT, duk_heap_string_intern(), DUK_SNPRINTF, DUK_STRLEN, DUK_STRTAB_U32_MAX_STRLEN, and DUK_UINT32_MAX.
Referenced by duk_heap_string_intern_u32_checked().
DUK_INTERNAL duk_hstring * duk_heap_string_intern_u32_checked | ( | duk_hthread * | thr, |
duk_uint32_t | val ) |
Definition at line 1022 of file duktape-1.5.2/src-separate/duk_heap_stringtable.c.
References DUK_ERROR_ALLOC_DEFMSG, duk_heap_string_intern_u32(), and duk_hthread::heap.
DUK_INTERNAL void duk_heap_string_remove | ( | duk_heap * | heap, |
duk_hstring * | h ) |
Definition at line 1032 of file duktape-1.5.2/src-separate/duk_heap_stringtable.c.
References duk__remove_matching_hstring_probe(), DUK_DDD, DUK_DDDPRINT, duk_heap::st_size, and duk_heap::strtable.