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__NO_ARRAY_INDEX DUK_HSTRING_NO_ARRAY_INDEX |
#define | DUK__HASH_INITIAL(hash, h_size) DUK_HOBJECT_HASH_INITIAL((hash),(h_size)) |
#define | DUK__HASH_PROBE_STEP(hash) DUK_HOBJECT_HASH_PROBE_STEP((hash)) |
#define | DUK__HASH_UNUSED DUK_HOBJECT_HASHIDX_UNUSED |
#define | DUK__HASH_DELETED DUK_HOBJECT_HASHIDX_DELETED |
#define | DUK__VALSTACK_SPACE 10 |
#define | DUK__VALSTACK_PROXY_LOOKUP 20 |
#define DUK__HASH_DELETED DUK_HOBJECT_HASHIDX_DELETED |
Definition at line 60 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
Referenced by duk__alloc_entry_checked(), duk__realloc_props(), duk_hobject_delprop_raw(), and duk_hobject_find_existing_entry().
#define DUK__HASH_INITIAL | ( | hash, | |
h_size ) DUK_HOBJECT_HASH_INITIAL((hash),(h_size)) |
Definition at line 55 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
Referenced by duk__alloc_entry_checked(), duk__realloc_props(), and duk_hobject_find_existing_entry().
#define DUK__HASH_PROBE_STEP | ( | hash | ) | DUK_HOBJECT_HASH_PROBE_STEP((hash)) |
Definition at line 56 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
Referenced by duk__alloc_entry_checked(), duk__realloc_props(), and duk_hobject_find_existing_entry().
#define DUK__HASH_UNUSED DUK_HOBJECT_HASHIDX_UNUSED |
Definition at line 59 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
Referenced by duk__alloc_entry_checked(), duk__realloc_props(), and duk_hobject_find_existing_entry().
#define DUK__NO_ARRAY_INDEX DUK_HSTRING_NO_ARRAY_INDEX |
Definition at line 52 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
Referenced by duk__get_old_array_length(), duk__get_own_propdesc_raw(), duk__getprop_fastpath_bufobj_tval(), duk__getprop_shallow_fastpath_array_tval(), duk__handle_put_array_length_smaller(), duk__putprop_fastpath_bufobj_tval(), duk__putprop_shallow_fastpath_array_tval(), duk__tval_number_to_arr_idx(), duk_hobject_define_property_helper(), duk_hobject_define_property_internal(), duk_hobject_define_property_internal_arridx(), duk_hobject_delprop(), duk_hobject_delprop_raw(), duk_hobject_getprop(), and duk_hobject_putprop().
#define DUK__VALSTACK_PROXY_LOOKUP 20 |
Definition at line 70 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
Referenced by duk__proxy_check_prop().
#define DUK__VALSTACK_SPACE 10 |
Definition at line 65 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
Referenced by duk__check_arguments_map_for_delete(), duk__check_arguments_map_for_get(), duk__check_arguments_map_for_put(), duk__get_old_array_length(), duk__get_own_propdesc_raw(), duk__get_propdesc(), duk__handle_put_array_length(), duk__handle_put_array_length_smaller(), duk__lookup_arguments_map(), duk__realloc_props(), duk_hobject_define_accessor_internal(), duk_hobject_define_property_helper(), duk_hobject_define_property_internal(), duk_hobject_delprop(), duk_hobject_delprop_raw(), duk_hobject_get_own_propdesc(), duk_hobject_getprop(), duk_hobject_hasprop(), duk_hobject_hasprop_raw(), duk_hobject_object_get_own_property_descriptor(), duk_hobject_object_seal_freeze_helper(), and duk_hobject_putprop().
DUK_LOCAL void duk__abandon_array_checked | ( | duk_hthread * | thr, |
duk_hobject * | obj ) |
Definition at line 998 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk__compute_a_stats(), duk__count_used_e_keys(), duk__get_default_h_size(), duk__get_min_grow_e(), duk__realloc_props(), DUK_ASSERT, DUK_DD, DUK_DDPRINT, and NULL.
Referenced by duk_hobject_define_property_helper(), duk_hobject_object_seal_freeze_helper(), and duk_hobject_putprop().
DUK_LOCAL duk_bool_t duk__abandon_array_density_check | ( | duk_uint32_t | a_used, |
duk_uint32_t | a_size ) |
Definition at line 267 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_HOBJECT_A_ABANDON_LIMIT.
Referenced by duk_hobject_compact_props(), and duk_hobject_putprop().
DUK_LOCAL duk_bool_t duk__abandon_array_slow_check_required | ( | duk_uint32_t | arr_idx, |
duk_uint32_t | old_size ) |
Definition at line 288 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_HOBJECT_A_FAST_RESIZE_LIMIT.
Referenced by duk_hobject_putprop().
DUK_LOCAL duk_bool_t duk__alloc_entry_checked | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_hstring * | key ) |
Definition at line 1257 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk__grow_props_for_new_entry_item(), DUK__HASH_DELETED, DUK__HASH_INITIAL, DUK__HASH_PROBE_STEP, DUK__HASH_UNUSED, DUK_ASSERT, DUK_ASSERT_DISABLE, DUK_DDD, DUK_DDDPRINT, DUK_HOBJECT_E_GET_KEY, DUK_HOBJECT_E_SET_KEY, DUK_HOBJECT_GET_ENEXT, DUK_HOBJECT_GET_ESIZE, DUK_HOBJECT_GET_HSIZE, DUK_HOBJECT_H_GET_BASE, DUK_HOBJECT_POSTINC_ENEXT, DUK_HSTRING_GET_HASH, DUK_HSTRING_INCREF, DUK_UNLIKELY, duk_hthread::heap, and NULL.
Referenced by duk_hobject_define_property_helper(), duk_hobject_define_property_internal(), and duk_hobject_putprop().
DUK_LOCAL_DECL void duk__check_arguments_map_for_delete | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_hstring * | key, | ||
duk_propdesc * | temp_desc ) |
Definition at line 1528 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_VALSTACK_SPACE, DUK_DDD, DUK_DDDPRINT, DUK_GETDESC_FLAG_PUSH_VALUE, duk_hobject_delprop_raw(), duk_hobject_get_own_propdesc(), DUK_HOBJECT_HAS_EXOTIC_BEHAVIOR, DUK_HTHREAD_STRING_INT_MAP, duk_pop(), duk_require_hobject(), and NULL.
Referenced by duk_hobject_delprop_raw().
DUK_LOCAL_DECL duk_bool_t duk__check_arguments_map_for_get | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_hstring * | key, | ||
duk_propdesc * | temp_desc ) |
Definition at line 1446 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk__lookup_arguments_map(), DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_VALSTACK_SPACE, DUK_DDD, DUK_DDDPRINT, duk_js_getvar_envrec(), duk_pop(), duk_require_hstring(), and NULL.
Referenced by duk__get_own_propdesc_raw(), and duk_hobject_getprop().
DUK_LOCAL_DECL void duk__check_arguments_map_for_put | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_hstring * | key, | ||
duk_propdesc * | temp_desc, | ||
duk_bool_t | throw_flag ) |
Definition at line 1484 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk__lookup_arguments_map(), DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_VALSTACK_SPACE, DUK_DDD, DUK_DDDPRINT, duk_js_putvar_envrec(), duk_pop(), duk_require_hstring(), duk_require_tval(), and NULL.
Referenced by duk_hobject_putprop().
DUK_LOCAL void duk__compute_a_stats | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_uint32_t * | out_used, | ||
duk_uint32_t * | out_min_size ) |
Definition at line 237 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_ASSERT, DUK_HOBJECT_A_GET_BASE, DUK_HOBJECT_GET_ASIZE, DUK_TVAL_IS_UNUSED, DUK_UNREF, duk_hthread::heap, and NULL.
Referenced by duk__abandon_array_checked(), duk_hobject_compact_props(), and duk_hobject_putprop().
DUK_LOCAL duk_uint32_t duk__count_used_e_keys | ( | duk_hthread * | thr, |
duk_hobject * | obj ) |
Definition at line 215 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_ASSERT, DUK_HOBJECT_E_GET_KEY_BASE, DUK_HOBJECT_GET_ENEXT, DUK_UNREF, duk_hthread::heap, and NULL.
Referenced by duk__abandon_array_checked(), duk__grow_props_for_new_entry_item(), and duk_hobject_compact_props().
DUK_LOCAL duk_uint32_t duk__get_default_h_size | ( | duk_uint32_t | e_size | ) |
Definition at line 174 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_ASSERT, DUK_HOBJECT_E_USE_HASH_LIMIT, DUK_HOBJECT_H_SIZE_DIVISOR, DUK_HOBJECT_MAX_PROPERTIES, and duk_util_get_hash_prime().
Referenced by duk__abandon_array_checked(), duk__grow_props_for_new_entry_item(), and duk_hobject_compact_props().
DUK_LOCAL duk_uint32_t duk__get_min_grow_a | ( | duk_uint32_t | a_size | ) |
Definition at line 204 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_ASSERT, DUK_HOBJECT_A_MIN_GROW_ADD, DUK_HOBJECT_A_MIN_GROW_DIVISOR, and DUK_HOBJECT_MAX_PROPERTIES.
Referenced by duk__grow_props_for_array_item().
DUK_LOCAL duk_uint32_t duk__get_min_grow_e | ( | duk_uint32_t | e_size | ) |
Definition at line 193 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_ASSERT, DUK_HOBJECT_E_MIN_GROW_ADD, DUK_HOBJECT_E_MIN_GROW_DIVISOR, and DUK_HOBJECT_MAX_PROPERTIES.
Referenced by duk__abandon_array_checked(), and duk__grow_props_for_new_entry_item().
DUK_LOCAL duk_uint32_t duk__get_old_array_length | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_propdesc * | temp_desc ) |
Definition at line 2869 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk__get_own_propdesc_raw(), DUK__NO_ARRAY_INDEX, DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_VALSTACK_SPACE, DUK_HOBJECT_E_GET_VALUE_TVAL_PTR, DUK_HTHREAD_STRING_LENGTH, DUK_TVAL_GET_DOUBLE, DUK_TVAL_GET_NUMBER, DUK_TVAL_IS_DOUBLE, DUK_TVAL_IS_NUMBER, DUK_UNREF, duk_propdesc::e_idx, and duk_hthread::heap.
Referenced by duk__handle_put_array_length(), duk__putprop_shallow_fastpath_array_tval(), duk_hobject_define_property_helper(), and duk_hobject_putprop().
DUK_LOCAL_DECL duk_bool_t duk__get_own_propdesc_raw | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_hstring * | key, | ||
duk_uint32_t | arr_idx, | ||
duk_propdesc * | out_desc, | ||
duk_small_uint_t | flags ) |
Definition at line 1592 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk_propdesc::a_idx, duk_hbufferobject::buf, duk__check_arguments_map_for_get(), DUK__NO_ARRAY_INDEX, DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_HBUFFEROBJECT_VALID, DUK_ASSERT_VALSTACK_SPACE, DUK_D, DUK_DDD, DUK_DDDPRINT, DUK_DPRINT, duk_get_tval(), DUK_GETDESC_FLAG_PUSH_VALUE, DUK_HBUFFER_GET_DATA_PTR, duk_hbufferobject_push_validated_read(), DUK_HBUFFEROBJECT_VALID_BYTEOFFSET_EXCL, DUK_HNATIVEFUNCTION_NARGS_VARARGS, DUK_HOBJECT_A_GET_VALUE_PTR, DUK_HOBJECT_E_GET_FLAGS, DUK_HOBJECT_E_GET_VALUE_GETTER, DUK_HOBJECT_E_GET_VALUE_SETTER, DUK_HOBJECT_E_GET_VALUE_TVAL_PTR, duk_hobject_find_existing_entry(), DUK_HOBJECT_GET_ASIZE, duk_hobject_get_internal_value_string(), DUK_HOBJECT_HAS_ARRAY_PART, DUK_HOBJECT_HAS_EXOTIC_ARGUMENTS, DUK_HOBJECT_HAS_EXOTIC_DUKFUNC, DUK_HOBJECT_HAS_EXOTIC_STRINGOBJ, DUK_HOBJECT_IS_BUFFEROBJECT, DUK_HSTRING_GET_CHARLEN, DUK_HTHREAD_STRING_BYTE_LENGTH, DUK_HTHREAD_STRING_BYTE_OFFSET, DUK_HTHREAD_STRING_BYTES_PER_ELEMENT, DUK_HTHREAD_STRING_LENGTH, DUK_PROPDESC_FLAG_ACCESSOR, DUK_PROPDESC_FLAG_CONFIGURABLE, DUK_PROPDESC_FLAG_ENUMERABLE, DUK_PROPDESC_FLAG_VIRTUAL, DUK_PROPDESC_FLAG_WRITABLE, duk_push_hstring(), duk_push_int(), duk_push_tval(), duk_push_uint(), duk_push_undefined(), duk_remove(), duk_substring(), DUK_TVAL_IS_UNUSED, duk_propdesc::e_idx, duk_propdesc::flags, duk_propdesc::get, duk_propdesc::h_idx, duk_hthread::heap, duk_hbufferobject::length, NULL, duk_hbufferobject::offset, duk_propdesc::set, and duk_hbufferobject::shift.
Referenced by duk__get_old_array_length(), duk__get_propdesc(), duk_hobject_define_property_helper(), duk_hobject_define_property_internal(), duk_hobject_delprop(), duk_hobject_delprop_raw(), duk_hobject_get_own_propdesc(), duk_hobject_getprop(), duk_hobject_hasprop(), and duk_hobject_putprop().
DUK_LOCAL_DECL duk_bool_t duk__get_propdesc | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_hstring * | key, | ||
duk_propdesc * | out_desc, | ||
duk_small_uint_t | flags ) |
Definition at line 1906 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk__get_own_propdesc_raw(), DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_VALSTACK_SPACE, DUK_DDD, DUK_DDDPRINT, DUK_ERROR_RANGE, DUK_GETDESC_FLAG_IGNORE_PROTOLOOP, DUK_HOBJECT_GET_PROTOTYPE, DUK_HOBJECT_PROTOTYPE_CHAIN_SANITY, DUK_HSTRING_GET_ARRIDX_FAST, DUK_STR_PROTOTYPE_CHAIN_LIMIT, duk_hthread::heap, and NULL.
Referenced by duk_hobject_hasprop(), and duk_hobject_hasprop_raw().
DUK_LOCAL duk_bool_t duk__getprop_fastpath_bufobj_tval | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_tval * | tv_key ) |
Definition at line 2102 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk_hbufferobject::buf, DUK__NO_ARRAY_INDEX, duk__tval_number_to_arr_idx(), DUK_ASSERT, DUK_D, DUK_DPRINT, DUK_HBUFFER_GET_DATA_PTR, duk_hbufferobject_push_validated_read(), DUK_HBUFFEROBJECT_VALID_BYTEOFFSET_EXCL, DUK_HOBJECT_IS_BUFFEROBJECT, duk_push_uint(), DUK_TVAL_IS_DOUBLE, duk_hthread::heap, duk_hbufferobject::length, NULL, duk_hbufferobject::offset, and duk_hbufferobject::shift.
Referenced by duk_hobject_getprop().
DUK_LOCAL duk_tval * duk__getprop_shallow_fastpath_array_tval | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_tval * | tv_key ) |
Definition at line 1974 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK__NO_ARRAY_INDEX, duk__tval_number_to_arr_idx(), DUK_ASSERT, DUK_DDD, DUK_DDDPRINT, DUK_HOBJECT_A_GET_VALUE_PTR, DUK_HOBJECT_GET_ASIZE, DUK_HOBJECT_HAS_ARRAY_PART, DUK_HOBJECT_HAS_EXOTIC_ARGUMENTS, DUK_HOBJECT_HAS_EXOTIC_PROXYOBJ, DUK_HOBJECT_HAS_EXOTIC_STRINGOBJ, DUK_HOBJECT_IS_BUFFEROBJECT, DUK_TVAL_IS_DOUBLE, DUK_TVAL_IS_UNUSED, DUK_UNREF, duk_hthread::heap, and NULL.
Referenced by duk_hobject_getprop().
DUK_LOCAL void duk__grow_props_for_array_item | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_uint32_t | highest_arr_idx ) |
Definition at line 974 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk__get_min_grow_a(), duk__realloc_props(), DUK_ASSERT, DUK_HOBJECT_GET_ASIZE, DUK_HOBJECT_GET_ESIZE, DUK_HOBJECT_GET_HSIZE, and NULL.
Referenced by duk_hobject_define_property_internal(), duk_hobject_define_property_internal_arridx(), and duk_hobject_putprop().
DUK_LOCAL void duk__grow_props_for_new_entry_item | ( | duk_hthread * | thr, |
duk_hobject * | obj ) |
Definition at line 944 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk__count_used_e_keys(), duk__get_default_h_size(), duk__get_min_grow_e(), duk__realloc_props(), DUK_ASSERT, DUK_HOBJECT_GET_ASIZE, and NULL.
Referenced by duk__alloc_entry_checked().
DUK_LOCAL_DECL duk_bool_t duk__handle_put_array_length | ( | duk_hthread * | thr, |
duk_hobject * | obj ) |
Definition at line 3126 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk__get_old_array_length(), duk__handle_put_array_length_smaller(), duk__to_new_array_length_checked(), DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_VALSTACK_SPACE, DUK_DDD, DUK_DDDPRINT, duk_dup(), duk_get_tval(), DUK_HOBJECT_E_GET_VALUE_TVAL_PTR, DUK_HOBJECT_E_SLOT_IS_ACCESSOR, duk_is_valid_index(), DUK_PROPDESC_FLAG_WRITABLE, DUK_TVAL_IS_NUMBER, DUK_TVAL_SET_FASTINT_U32, duk_propdesc::e_idx, duk_propdesc::flags, duk_hthread::heap, and NULL.
Referenced by duk_hobject_putprop().
DUK_LOCAL_DECL duk_bool_t duk__handle_put_array_length_smaller | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_uint32_t | old_len, | ||
duk_uint32_t | new_len, | ||
duk_bool_t | force_flag, | ||
duk_uint32_t * | out_result_len ) |
Definition at line 2943 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK__NO_ARRAY_INDEX, DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_VALSTACK_SPACE, DUK_DDD, DUK_DDDPRINT, DUK_DELPROP_FLAG_FORCE, DUK_HOBJECT_A_GET_VALUE_PTR, duk_hobject_delprop_raw(), DUK_HOBJECT_E_GET_KEY, DUK_HOBJECT_E_SLOT_IS_CONFIGURABLE, DUK_HOBJECT_GET_ASIZE, DUK_HOBJECT_GET_ENEXT, DUK_HOBJECT_HAS_ARRAY_PART, DUK_HSTRING_GET_ARRIDX_SLOW, DUK_HSTRING_HAS_ARRIDX, DUK_TVAL_SET_UNUSED_UPDREF, DUK_UNREACHABLE, DUK_UNREF, duk_hthread::heap, and NULL.
Referenced by duk__handle_put_array_length(), and duk_hobject_define_property_helper().
DUK_LOCAL duk_bool_t duk__key_is_lightfunc_ownprop | ( | duk_hthread * | thr, |
duk_hstring * | key ) |
Definition at line 162 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_HTHREAD_STRING_LENGTH, DUK_HTHREAD_STRING_NAME, and DUK_UNREF.
Referenced by duk_hobject_delprop(), duk_hobject_hasprop(), and duk_hobject_putprop().
DUK_LOCAL duk_bool_t duk__lookup_arguments_map | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_hstring * | key, | ||
duk_propdesc * | temp_desc, | ||
duk_hobject ** | out_map, | ||
duk_hobject ** | out_varenv ) |
Definition at line 1389 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_VALSTACK_SPACE, DUK_DDD, DUK_DDDPRINT, duk_get_tval(), DUK_GETDESC_FLAG_PUSH_VALUE, duk_hobject_get_own_propdesc(), DUK_HTHREAD_STRING_INT_MAP, DUK_HTHREAD_STRING_INT_VARENV, duk_is_string(), duk_pop(), duk_require_hobject(), DUK_UNREF, and NULL.
Referenced by duk__check_arguments_map_for_get(), duk__check_arguments_map_for_put(), and duk_hobject_define_property_helper().
DUK_LOCAL duk_bool_t duk__proxy_check_prop | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_small_uint_t | stridx_trap, | ||
duk_tval * | tv_key, | ||
duk_hobject ** | out_target ) |
Definition at line 393 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK__VALSTACK_PROXY_LOOKUP, DUK_ASSERT, DUK_DDD, DUK_DDDPRINT, duk_get_prop_stridx(), duk_hobject_proxy_check(), DUK_HSTRING_HAS_INTERNAL, duk_insert(), duk_pop_2(), duk_push_hobject(), duk_require_stack(), DUK_TVAL_GET_STRING, DUK_TVAL_IS_STRING, and NULL.
Referenced by duk_hobject_delprop(), duk_hobject_getprop(), duk_hobject_hasprop(), and duk_hobject_putprop().
DUK_LOCAL duk_uint32_t duk__push_tval_to_hstring_arr_idx | ( | duk_context * | ctx, |
duk_tval * | tv, | ||
duk_hstring ** | out_h ) |
Definition at line 143 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_ASSERT, duk_get_hstring(), DUK_HSTRING_GET_ARRIDX_FAST, duk_push_tval(), duk_to_string(), and NULL.
Referenced by duk_hobject_delprop(), duk_hobject_getprop(), duk_hobject_hasprop(), and duk_hobject_putprop().
DUK_LOCAL duk_bool_t duk__putprop_fastpath_bufobj_tval | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_tval * | tv_key, | ||
duk_tval * | tv_val ) |
Definition at line 2153 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk_hbufferobject::buf, DUK__NO_ARRAY_INDEX, duk__tval_number_to_arr_idx(), DUK_ASSERT, DUK_D, DUK_DPRINT, DUK_HBUFFER_GET_DATA_PTR, DUK_HBUFFEROBJECT_VALID_BYTEOFFSET_EXCL, duk_hbufferobject_validated_write(), DUK_HEAPHDR_HAS_READONLY, DUK_HOBJECT_IS_BUFFEROBJECT, duk_is_number(), duk_pop(), duk_push_tval(), DUK_TVAL_IS_DOUBLE, DUK_TVAL_IS_NUMBER, duk_hthread::heap, duk_hbufferobject::length, NULL, duk_hbufferobject::offset, and duk_hbufferobject::shift.
Referenced by duk_hobject_putprop().
DUK_LOCAL duk_bool_t duk__putprop_shallow_fastpath_array_tval | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_tval * | tv_key, | ||
duk_tval * | tv_val, | ||
duk_propdesc * | temp_desc ) |
Definition at line 2036 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk__get_old_array_length(), DUK__NO_ARRAY_INDEX, duk__tval_number_to_arr_idx(), DUK_ASSERT, DUK_DDD, DUK_DDDPRINT, DUK_ERROR_TYPE, DUK_HEAPHDR_HAS_READONLY, DUK_HOBJECT_A_GET_VALUE_PTR, DUK_HOBJECT_E_GET_VALUE_TVAL_PTR, DUK_HOBJECT_GET_ASIZE, DUK_HOBJECT_HAS_ARRAY_PART, DUK_HOBJECT_HAS_EXOTIC_ARRAY, DUK_HOBJECT_HAS_EXTENSIBLE, DUK_PROPDESC_FLAG_WRITABLE, DUK_STR_NOT_WRITABLE, DUK_TVAL_IS_DOUBLE, DUK_TVAL_IS_NUMBER, DUK_TVAL_SET_FASTINT_U32, DUK_TVAL_SET_TVAL_UPDREF, duk_propdesc::e_idx, duk_propdesc::flags, and duk_hthread::heap.
Referenced by duk_hobject_putprop().
DUK_LOCAL void duk__realloc_props | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_uint32_t | new_e_size, | ||
duk_uint32_t | new_a_size, | ||
duk_uint32_t | new_h_size, | ||
duk_bool_t | abandon_array ) |
Definition at line 488 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK__HASH_DELETED, DUK__HASH_INITIAL, DUK__HASH_PROBE_STEP, DUK__HASH_UNUSED, DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_VALSTACK_SPACE, duk_check_stack(), DUK_D, DUK_DD, DUK_DDD, DUK_DDDPRINT, DUK_DDPRINT, DUK_DPRINT, DUK_ERROR_ALLOC_DEFMSG, DUK_FREE, duk_heap_string_intern_u32(), DUK_HEAPHDR_HAS_READONLY, DUK_HOBJECT_A_GET_BASE, DUK_HOBJECT_A_GET_VALUE_PTR, DUK_HOBJECT_ALIGN_TARGET, DUK_HOBJECT_CLEAR_ARRAY_PART, DUK_HOBJECT_E_GET_FLAGS, DUK_HOBJECT_E_GET_KEY, DUK_HOBJECT_E_GET_VALUE, DUK_HOBJECT_GET_ASIZE, DUK_HOBJECT_GET_ENEXT, DUK_HOBJECT_GET_ESIZE, DUK_HOBJECT_GET_HSIZE, DUK_HOBJECT_GET_PROPS, DUK_HOBJECT_MAX_PROPERTIES, DUK_HOBJECT_P_COMPUTE_SIZE, DUK_HOBJECT_P_SET_REALLOC_PTRS, DUK_HOBJECT_SET_ASIZE, DUK_HOBJECT_SET_ENEXT, DUK_HOBJECT_SET_ESIZE, DUK_HOBJECT_SET_HSIZE, DUK_HOBJECT_SET_PROPS, DUK_HSTRING_DECREF, DUK_HSTRING_GET_HASH, DUK_HSTRING_INCREF, DUK_MEMCPY, DUK_MEMSET, DUK_MS_FLAG_NO_FINALIZERS, DUK_MS_FLAG_NO_OBJECT_COMPACTION, duk_pop(), duk_pop_n(), DUK_PROPDESC_FLAG_CONFIGURABLE, DUK_PROPDESC_FLAG_ENUMERABLE, DUK_PROPDESC_FLAG_WRITABLE, duk_push_dynamic_buffer, duk_push_hstring(), duk_steal_buffer(), DUK_TVAL_IS_UNUSED, DUK_TVAL_SET_TVAL, DUK_TVAL_SET_UNUSED, DUK_UNLIKELY, DUK_UNREF, duk_hthread::heap, duk_heap::mark_and_sweep_base_flags, NULL, and duk_propvalue::v.
Referenced by duk__abandon_array_checked(), duk__grow_props_for_array_item(), duk__grow_props_for_new_entry_item(), and duk_hobject_compact_props().
DUK_LOCAL duk_uint32_t duk__to_new_array_length_checked | ( | duk_hthread * | thr | ) |
Definition at line 2914 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_ERROR_RANGE, duk_pop(), DUK_STR_INVALID_ARRAY_LENGTH, and duk_to_number().
Referenced by duk__handle_put_array_length(), and duk_hobject_define_property_helper().
Definition at line 98 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK__NO_ARRAY_INDEX, DUK_ASSERT, DUK_TVAL_GET_NUMBER, DUK_TVAL_IS_NUMBER, and NULL.
Referenced by duk__getprop_fastpath_bufobj_tval(), duk__getprop_shallow_fastpath_array_tval(), duk__putprop_fastpath_bufobj_tval(), duk__putprop_shallow_fastpath_array_tval(), duk_hobject_getprop(), and duk_hobject_putprop().
DUK_INTERNAL void duk_hobject_compact_props | ( | duk_hthread * | thr, |
duk_hobject * | obj ) |
Definition at line 1048 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk__abandon_array_density_check(), duk__compute_a_stats(), duk__count_used_e_keys(), duk__get_default_h_size(), duk__realloc_props(), DUK_ASSERT, DUK_DD, DUK_DDPRINT, DUK_HEAPHDR_HAS_READONLY, DUK_HOBJECT_E_USE_HASH_LIMIT, and NULL.
DUK_INTERNAL void duk_hobject_define_accessor_internal | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_hstring * | key, | ||
duk_hobject * | getter, | ||
duk_hobject * | setter, | ||
duk_small_uint_t | propflags ) |
Definition at line 4695 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_VALSTACK_SPACE, DUK_DDD, DUK_DDDPRINT, DUK_HEAPHDR_HAS_READONLY, duk_hobject_define_property_internal(), DUK_HOBJECT_E_SET_VALUE_GETTER, DUK_HOBJECT_E_SET_VALUE_SETTER, DUK_HOBJECT_E_SLOT_SET_ACCESSOR, duk_hobject_find_existing_entry(), DUK_HOBJECT_GET_ENEXT, DUK_HOBJECT_INCREF_ALLOWNULL, DUK_PROPDESC_FLAGS_MASK, duk_push_undefined(), duk_hthread::heap, and NULL.
DUK_INTERNAL void duk_hobject_define_property_helper | ( | duk_context * | ctx, |
duk_uint_t | defprop_flags, | ||
duk_hobject * | obj, | ||
duk_hstring * | key, | ||
duk_idx_t | idx_value, | ||
duk_hobject * | get, | ||
duk_hobject * | set ) |
Definition at line 5011 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk_propdesc::a_idx, duk__abandon_array_checked(), duk__alloc_entry_checked(), duk__get_old_array_length(), duk__get_own_propdesc_raw(), duk__handle_put_array_length_smaller(), duk__lookup_arguments_map(), DUK__NO_ARRAY_INDEX, duk__to_new_array_length_checked(), DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_VALSTACK_SPACE, DUK_DD, DUK_DDD, DUK_DDDPRINT, DUK_DDPRINT, DUK_DEFPROP_CONFIGURABLE, DUK_DEFPROP_ENUMERABLE, DUK_DEFPROP_FORCE, DUK_DEFPROP_HAVE_CONFIGURABLE, DUK_DEFPROP_HAVE_ENUMERABLE, DUK_DEFPROP_HAVE_GETTER, DUK_DEFPROP_HAVE_SETTER, DUK_DEFPROP_HAVE_VALUE, DUK_DEFPROP_HAVE_WRITABLE, DUK_DEFPROP_WRITABLE, duk_dup(), DUK_ERROR_TYPE, duk_get_tval(), DUK_GETDESC_FLAG_PUSH_VALUE, DUK_HEAPHDR_HAS_READONLY, DUK_HOBJECT_A_GET_VALUE_PTR, DUK_HOBJECT_DECREF_ALLOWNULL, duk_hobject_delprop_raw(), DUK_HOBJECT_E_GET_FLAGS, DUK_HOBJECT_E_GET_VALUE_GETTER, DUK_HOBJECT_E_GET_VALUE_SETTER, DUK_HOBJECT_E_GET_VALUE_TVAL_PTR, DUK_HOBJECT_E_SET_FLAGS, DUK_HOBJECT_E_SET_VALUE_GETTER, DUK_HOBJECT_E_SET_VALUE_SETTER, DUK_HOBJECT_E_SLOT_CLEAR_ACCESSOR, DUK_HOBJECT_E_SLOT_CLEAR_WRITABLE, DUK_HOBJECT_E_SLOT_IS_ACCESSOR, DUK_HOBJECT_E_SLOT_SET_ACCESSOR, DUK_HOBJECT_HAS_ARRAY_PART, DUK_HOBJECT_HAS_EXOTIC_ARGUMENTS, DUK_HOBJECT_HAS_EXOTIC_ARRAY, DUK_HOBJECT_HAS_EXTENSIBLE, DUK_HOBJECT_INCREF_ALLOWNULL, DUK_HSTRING_GET_ARRIDX_SLOW, DUK_HTHREAD_STRING_LENGTH, duk_js_putvar_envrec(), duk_js_samevalue, duk_pop(), DUK_PROPDESC_FLAG_ACCESSOR, DUK_PROPDESC_FLAG_CONFIGURABLE, DUK_PROPDESC_FLAG_ENUMERABLE, DUK_PROPDESC_FLAG_VIRTUAL, DUK_PROPDESC_FLAG_WRITABLE, DUK_PROPDESC_FLAGS_WEC, duk_push_u32, duk_replace(), duk_require_hstring(), duk_require_tval(), DUK_STR_ARRAY_LENGTH_NOT_WRITABLE, DUK_STR_ARRAY_LENGTH_WRITE_FAILED, DUK_STR_NOT_CONFIGURABLE, DUK_STR_NOT_EXTENSIBLE, DUK_STR_PROPERTY_IS_VIRTUAL, DUK_TVAL_DECREF, DUK_TVAL_INCREF, DUK_TVAL_IS_NUMBER, DUK_TVAL_SET_FASTINT_U32, DUK_TVAL_SET_TVAL, DUK_TVAL_SET_TVAL_UPDREF, DUK_TVAL_SET_UNDEFINED, DUK_UNREACHABLE, DUK_UNREF, duk_propdesc::e_idx, duk_propdesc::flags, duk_propdesc::get, duk_hthread::heap, NULL, and duk_propdesc::set.
DUK_INTERNAL void duk_hobject_define_property_internal | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_hstring * | key, | ||
duk_small_uint_t | flags ) |
Definition at line 4522 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk_propdesc::a_idx, duk__alloc_entry_checked(), duk__get_own_propdesc_raw(), duk__grow_props_for_array_item(), DUK__NO_ARRAY_INDEX, DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_VALSTACK_SPACE, DUK_D, DUK_DDD, DUK_DDDPRINT, DUK_DPRINT, DUK_ERROR_INTERNAL_DEFMSG, DUK_ERROR_TYPE, duk_get_tval(), DUK_HEAPHDR_HAS_READONLY, DUK_HOBJECT_A_GET_VALUE_PTR, DUK_HOBJECT_E_GET_VALUE_TVAL_PTR, DUK_HOBJECT_E_SET_FLAGS, DUK_HOBJECT_E_SLOT_IS_ACCESSOR, DUK_HOBJECT_GET_ASIZE, DUK_HOBJECT_HAS_ARRAY_PART, DUK_HSTRING_GET_ARRIDX_SLOW, duk_is_valid_index(), duk_pop(), DUK_PROPDESC_FLAG_NO_OVERWRITE, DUK_PROPDESC_FLAGS_MASK, DUK_PROPDESC_FLAGS_WEC, duk_require_tval(), DUK_STR_REDEFINE_VIRT_PROP, DUK_TVAL_SET_TVAL_UPDREF, DUK_TVAL_SET_UNDEFINED, DUK_UNLIKELY, duk_propdesc::e_idx, duk_hthread::heap, and NULL.
Referenced by duk_hobject_define_accessor_internal(), and duk_hobject_define_property_internal_arridx().
DUK_INTERNAL void duk_hobject_define_property_internal_arridx | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_uarridx_t | arr_idx, | ||
duk_small_uint_t | flags ) |
Definition at line 4638 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk__grow_props_for_array_item(), DUK__NO_ARRAY_INDEX, DUK_ASSERT, DUK_DDD, DUK_DDDPRINT, duk_get_tval(), DUK_HEAPHDR_HAS_READONLY, DUK_HOBJECT_A_GET_VALUE_PTR, duk_hobject_define_property_internal(), DUK_HOBJECT_GET_ASIZE, DUK_HOBJECT_HAS_ARRAY_PART, duk_insert(), duk_pop(), DUK_PROPDESC_FLAG_NO_OVERWRITE, DUK_PROPDESC_FLAGS_WEC, duk_push_uint(), duk_require_tval(), duk_to_hstring(), DUK_TVAL_SET_TVAL_UPDREF, duk_hthread::heap, and NULL.
DUK_INTERNAL duk_bool_t duk_hobject_delprop | ( | duk_hthread * | thr, |
duk_tval * | tv_obj, | ||
duk_tval * | tv_key, | ||
duk_bool_t | throw_flag ) |
Definition at line 4315 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk__get_own_propdesc_raw(), duk__key_is_lightfunc_ownprop(), DUK__NO_ARRAY_INDEX, duk__proxy_check_prop(), duk__push_tval_to_hstring_arr_idx(), DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_VALSTACK_SPACE, duk_call_method(), DUK_DDD, DUK_DDDPRINT, DUK_DELPROP_FLAG_THROW, DUK_ERR_TYPE_ERROR, DUK_ERROR_FMT2, DUK_ERROR_TYPE, duk_get_hstring(), duk_get_top(), DUK_GET_TVAL_NEGIDX, DUK_HBUFFER_GET_SIZE, duk_hobject_delprop_raw(), DUK_HOBJECT_HAS_EXOTIC_PROXYOBJ, DUK_HSTRING_GET_ARRIDX_FAST, DUK_HSTRING_GET_CHARLEN, DUK_HTHREAD_STRING_LENGTH, duk_pop(), DUK_PROPDESC_FLAG_CONFIGURABLE, duk_push_hobject(), duk_push_string_tval_readable(), duk_push_tval(), duk_set_top(), DUK_STR_INVALID_BASE, DUK_STR_NOT_CONFIGURABLE, DUK_STR_PROXY_REJECTED, DUK_STRIDX_DELETE_PROPERTY, duk_to_boolean(), duk_to_string(), DUK_TVAL_GET_BUFFER, DUK_TVAL_GET_OBJECT, DUK_TVAL_GET_STRING, DUK_TVAL_IS_BUFFER, DUK_TVAL_IS_LIGHTFUNC, DUK_TVAL_IS_NULL, DUK_TVAL_IS_OBJECT, DUK_TVAL_IS_STRING, DUK_TVAL_IS_UNDEFINED, DUK_UNLIKELY, duk_propdesc::flags, duk_propdesc::get, duk_hthread::heap, NULL, and duk_propdesc::set.
DUK_INTERNAL duk_bool_t duk_hobject_delprop_raw | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_hstring * | key, | ||
duk_small_uint_t | flags ) |
Definition at line 4147 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk_propdesc::a_idx, duk__check_arguments_map_for_delete(), duk__get_own_propdesc_raw(), DUK__HASH_DELETED, DUK__NO_ARRAY_INDEX, DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_VALSTACK_SPACE, DUK_DD, DUK_DDD, DUK_DDDPRINT, DUK_DDPRINT, DUK_DELPROP_FLAG_FORCE, DUK_DELPROP_FLAG_THROW, DUK_ERROR_TYPE, DUK_HEAPHDR_HAS_READONLY, DUK_HOBJECT_A_GET_VALUE_PTR, DUK_HOBJECT_DECREF_ALLOWNULL, DUK_HOBJECT_E_GET_KEY, DUK_HOBJECT_E_GET_VALUE_GETTER, DUK_HOBJECT_E_GET_VALUE_SETTER, DUK_HOBJECT_E_GET_VALUE_TVAL_PTR, DUK_HOBJECT_E_SET_FLAGS, DUK_HOBJECT_E_SET_KEY, DUK_HOBJECT_E_SET_VALUE_GETTER, DUK_HOBJECT_E_SET_VALUE_SETTER, DUK_HOBJECT_E_SLOT_IS_ACCESSOR, DUK_HOBJECT_GET_HSIZE, DUK_HOBJECT_H_GET_BASE, DUK_HOBJECT_HAS_EXOTIC_ARGUMENTS, DUK_HSTRING_DECREF, DUK_HSTRING_GET_ARRIDX_FAST, DUK_MEMSET, DUK_PROPDESC_FLAG_CONFIGURABLE, DUK_STR_NOT_CONFIGURABLE, DUK_STR_PROPERTY_IS_VIRTUAL, DUK_TVAL_DECREF, DUK_TVAL_SET_TVAL, DUK_TVAL_SET_UNDEFINED, DUK_TVAL_SET_UNUSED_UPDREF, DUK_UNREACHABLE, duk_propdesc::e_idx, duk_propdesc::flags, duk_propdesc::h_idx, duk_hthread::heap, and NULL.
Referenced by duk__check_arguments_map_for_delete(), duk__handle_put_array_length_smaller(), duk_hobject_define_property_helper(), and duk_hobject_delprop().
DUK_INTERNAL duk_tval * duk_hobject_find_existing_array_entry_tval_ptr | ( | duk_heap * | heap, |
duk_hobject * | obj, | ||
duk_uarridx_t | i ) |
Definition at line 1232 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_ASSERT, DUK_HOBJECT_A_GET_VALUE_PTR, DUK_HOBJECT_GET_ASIZE, DUK_HOBJECT_HAS_ARRAY_PART, DUK_UNREF, and NULL.
DUK_INTERNAL void duk_hobject_find_existing_entry | ( | duk_heap * | heap, |
duk_hobject * | obj, | ||
duk_hstring * | key, | ||
duk_int_t * | e_idx, | ||
duk_int_t * | h_idx ) |
Definition at line 1111 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK__HASH_DELETED, DUK__HASH_INITIAL, DUK__HASH_PROBE_STEP, DUK__HASH_UNUSED, DUK_ASSERT, DUK_ASSERT_DISABLE, DUK_DDD, DUK_DDDPRINT, DUK_HOBJECT_E_GET_KEY, DUK_HOBJECT_E_GET_KEY_BASE, DUK_HOBJECT_GET_ENEXT, DUK_HOBJECT_GET_ESIZE, DUK_HOBJECT_GET_HSIZE, DUK_HOBJECT_H_GET_BASE, DUK_HSTRING_GET_HASH, DUK_LIKELY, DUK_UNREF, and NULL.
Referenced by duk__get_own_propdesc_raw(), duk_hobject_define_accessor_internal(), duk_hobject_find_existing_entry_tval_ptr(), duk_hobject_find_existing_entry_tval_ptr_and_attrs(), and duk_hobject_get_internal_value().
DUK_INTERNAL duk_tval * duk_hobject_find_existing_entry_tval_ptr | ( | duk_heap * | heap, |
duk_hobject * | obj, | ||
duk_hstring * | key ) |
Definition at line 1195 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_ASSERT, DUK_HOBJECT_E_GET_VALUE_TVAL_PTR, DUK_HOBJECT_E_SLOT_IS_ACCESSOR, duk_hobject_find_existing_entry(), DUK_UNREF, and NULL.
Referenced by duk_hobject_proxy_check().
DUK_INTERNAL duk_tval * duk_hobject_find_existing_entry_tval_ptr_and_attrs | ( | duk_heap * | heap, |
duk_hobject * | obj, | ||
duk_hstring * | key, | ||
duk_int_t * | out_attrs ) |
Definition at line 1212 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_ASSERT, DUK_HOBJECT_E_GET_FLAGS, DUK_HOBJECT_E_GET_VALUE_TVAL_PTR, DUK_HOBJECT_E_SLOT_IS_ACCESSOR, duk_hobject_find_existing_entry(), DUK_UNREF, and NULL.
DUK_INTERNAL duk_bool_t duk_hobject_get_internal_value | ( | duk_heap * | heap, |
duk_hobject * | obj, | ||
duk_tval * | tv_out ) |
Definition at line 1335 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_ASSERT, DUK_HEAP_STRING_INT_VALUE, DUK_HOBJECT_E_GET_VALUE_TVAL_PTR, DUK_HOBJECT_E_SLOT_IS_ACCESSOR, duk_hobject_find_existing_entry(), DUK_TVAL_SET_TVAL, DUK_TVAL_SET_UNDEFINED, and NULL.
Referenced by duk_hobject_get_internal_value_string().
DUK_INTERNAL duk_hstring * duk_hobject_get_internal_value_string | ( | duk_heap * | heap, |
duk_hobject * | obj ) |
Definition at line 1354 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_ASSERT, duk_hobject_get_internal_value(), DUK_MEMZERO, DUK_TVAL_GET_STRING, DUK_TVAL_IS_STRING, and NULL.
Referenced by duk__get_own_propdesc_raw().
DUK_INTERNAL duk_uint32_t duk_hobject_get_length | ( | duk_hthread * | thr, |
duk_hobject * | obj ) |
Definition at line 4755 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_DOUBLE_2TO32, DUK_GET_TVAL_NEGIDX, duk_hobject_getprop(), duk_pop_n(), duk_push_hobject(), duk_push_hstring_stridx(), DUK_STRIDX_LENGTH, and duk_to_number().
DUK_INTERNAL duk_bool_t duk_hobject_get_own_propdesc | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_hstring * | key, | ||
duk_propdesc * | out_desc, | ||
duk_small_uint_t | flags ) |
Definition at line 1877 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk__get_own_propdesc_raw(), DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_VALSTACK_SPACE, DUK_HSTRING_GET_ARRIDX_SLOW, and NULL.
Referenced by duk__check_arguments_map_for_delete(), duk__lookup_arguments_map(), duk_hobject_object_get_own_property_descriptor(), and duk_hobject_object_ownprop_helper().
DUK_INTERNAL duk_bool_t duk_hobject_getprop | ( | duk_hthread * | thr, |
duk_tval * | tv_obj, | ||
duk_tval * | tv_key ) |
Definition at line 2216 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk_hthread::builtins, duk__check_arguments_map_for_get(), duk__get_own_propdesc_raw(), duk__getprop_fastpath_bufobj_tval(), duk__getprop_shallow_fastpath_array_tval(), DUK__NO_ARRAY_INDEX, duk__proxy_check_prop(), duk__push_tval_to_hstring_arr_idx(), duk__tval_number_to_arr_idx(), DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_VALSTACK_SPACE, DUK_BIDX_BOOLEAN_PROTOTYPE, DUK_BIDX_BUFFER_PROTOTYPE, DUK_BIDX_FUNCTION_PROTOTYPE, DUK_BIDX_NUMBER_PROTOTYPE, DUK_BIDX_POINTER_PROTOTYPE, DUK_BIDX_STRING_PROTOTYPE, duk_call_method(), DUK_DDD, DUK_DDDPRINT, duk_dup(), DUK_ERR_TYPE_ERROR, DUK_ERROR_FMT2, DUK_ERROR_RANGE, DUK_ERROR_TYPE, duk_get_hobject(), duk_get_tval(), DUK_GETDESC_FLAG_PUSH_VALUE, DUK_HBUFFER_GET_DATA_PTR, DUK_HBUFFER_GET_SIZE, DUK_HOBJECT_GET_PROTOTYPE, DUK_HOBJECT_HAS_BOUND, DUK_HOBJECT_HAS_EXOTIC_ARGUMENTS, DUK_HOBJECT_HAS_EXOTIC_PROXYOBJ, DUK_HOBJECT_HAS_STRICT, DUK_HOBJECT_IS_FUNCTION, DUK_HOBJECT_IS_NONBOUND_FUNCTION, DUK_HOBJECT_PROTOTYPE_CHAIN_SANITY, DUK_HSTRING_GET_CHARLEN, DUK_HTHREAD_STRING_BYTE_LENGTH, DUK_HTHREAD_STRING_BYTE_OFFSET, DUK_HTHREAD_STRING_BYTES_PER_ELEMENT, DUK_HTHREAD_STRING_CALLER, DUK_HTHREAD_STRING_LENGTH, DUK_HTHREAD_STRING_NAME, duk_is_undefined(), duk_js_samevalue, DUK_LFUNC_FLAGS_GET_LENGTH, duk_pop(), duk_pop_2(), duk_pop_n(), DUK_PROPDESC_FLAG_ACCESSOR, DUK_PROPDESC_FLAG_CONFIGURABLE, DUK_PROPDESC_FLAG_WRITABLE, duk_push_hobject(), duk_push_hstring(), duk_push_int(), duk_push_lightfunc_name(), duk_push_string_tval_readable(), duk_push_tval(), duk_push_uint(), duk_remove(), duk_require_tval(), DUK_STR_INVALID_BASE, DUK_STR_PROTOTYPE_CHAIN_LIMIT, DUK_STR_PROXY_REJECTED, DUK_STR_STRICT_CALLER_READ, DUK_STRIDX_GET, duk_substring(), DUK_TAG_BOOLEAN, DUK_TAG_BUFFER, DUK_TAG_LIGHTFUNC, DUK_TAG_NULL, DUK_TAG_OBJECT, DUK_TAG_POINTER, DUK_TAG_STRING, DUK_TAG_UNDEFINED, duk_to_undefined(), DUK_TVAL_GET_BUFFER, DUK_TVAL_GET_LIGHTFUNC_FLAGS, DUK_TVAL_GET_OBJECT, DUK_TVAL_GET_STRING, DUK_TVAL_GET_TAG, DUK_TVAL_IS_NUMBER, DUK_TVAL_IS_OBJECT, DUK_TVAL_IS_UNDEFINED, DUK_TVAL_IS_UNUSED, DUK_TVAL_SET_OBJECT, DUK_TVAL_SET_TVAL, DUK_UNLIKELY, duk_propdesc::flags, duk_propdesc::get, duk_hthread::heap, NULL, and duk_propdesc::set.
Referenced by duk_hobject_get_length().
DUK_INTERNAL duk_bool_t duk_hobject_hasprop | ( | duk_hthread * | thr, |
duk_tval * | tv_obj, | ||
duk_tval * | tv_key ) |
Definition at line 2712 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk_hthread::builtins, duk__get_own_propdesc_raw(), duk__get_propdesc(), duk__key_is_lightfunc_ownprop(), duk__proxy_check_prop(), duk__push_tval_to_hstring_arr_idx(), DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_VALSTACK_SPACE, DUK_BIDX_FUNCTION_PROTOTYPE, duk_call_method(), DUK_DDD, DUK_DDDPRINT, DUK_ERROR_TYPE, DUK_HOBJECT_HAS_EXOTIC_PROXYOBJ, DUK_HOBJECT_HAS_EXTENSIBLE, duk_pop(), duk_pop_2(), DUK_PROPDESC_FLAG_CONFIGURABLE, duk_push_hobject(), duk_push_tval(), DUK_STR_INVALID_BASE, DUK_STR_PROXY_REJECTED, DUK_STRIDX_HAS, duk_to_boolean(), DUK_TVAL_GET_OBJECT, DUK_TVAL_IS_LIGHTFUNC, DUK_TVAL_IS_OBJECT, DUK_TVAL_SET_TVAL, DUK_UNLIKELY, DUK_UNREF, duk_propdesc::flags, duk_propdesc::get, duk_hthread::heap, NULL, and duk_propdesc::set.
DUK_INTERNAL duk_bool_t duk_hobject_hasprop_raw | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_hstring * | key ) |
Definition at line 2848 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk__get_propdesc(), DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_VALSTACK_SPACE, DUK_GETDESC_FLAG_IGNORE_PROTOLOOP, dummy, duk_hthread::heap, and NULL.
DUK_INTERNAL duk_ret_t duk_hobject_object_get_own_property_descriptor | ( | duk_context * | ctx | ) |
Definition at line 4777 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_VALSTACK_SPACE, duk_dup(), DUK_GETDESC_FLAG_PUSH_VALUE, duk_hobject_get_own_propdesc(), DUK_PROPDESC_IS_ACCESSOR, DUK_PROPDESC_IS_CONFIGURABLE, DUK_PROPDESC_IS_ENUMERABLE, DUK_PROPDESC_IS_WRITABLE, duk_push_boolean(), duk_push_hobject(), duk_push_object(), duk_push_undefined(), duk_put_prop_stridx(), duk_require_hobject_or_lfunc_coerce(), duk_require_hstring(), DUK_STRIDX_CONFIGURABLE, DUK_STRIDX_ENUMERABLE, DUK_STRIDX_GET, DUK_STRIDX_SET, DUK_STRIDX_VALUE, DUK_STRIDX_WRITABLE, duk_to_string(), duk_propdesc::get, duk_hthread::heap, NULL, and duk_propdesc::set.
DUK_INTERNAL duk_bool_t duk_hobject_object_is_sealed_frozen_helper | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_bool_t | is_frozen ) |
Definition at line 5934 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_ASSERT, DUK_HOBJECT_A_GET_VALUE_PTR, DUK_HOBJECT_E_GET_FLAGS, DUK_HOBJECT_E_GET_KEY, DUK_HOBJECT_GET_ASIZE, DUK_HOBJECT_GET_ENEXT, DUK_HOBJECT_HAS_EXTENSIBLE, DUK_PROPDESC_FLAG_ACCESSOR, DUK_PROPDESC_FLAG_CONFIGURABLE, DUK_PROPDESC_FLAG_WRITABLE, DUK_TVAL_IS_UNUSED, DUK_UNREF, duk_hthread::heap, and NULL.
DUK_INTERNAL duk_bool_t duk_hobject_object_ownprop_helper | ( | duk_context * | ctx, |
duk_small_uint_t | required_desc_flags ) |
Definition at line 5838 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_ASSERT, duk_hobject_get_own_propdesc(), duk_push_boolean(), duk_push_this_coercible_to_object(), duk_to_hstring(), duk_propdesc::flags, and NULL.
DUK_INTERNAL void duk_hobject_object_seal_freeze_helper | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_bool_t | is_freeze ) |
Definition at line 5873 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk__abandon_array_checked(), DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_VALSTACK_SPACE, DUK_DD, DUK_DDPRINT, DUK_ERROR_TYPE, DUK_HEAPHDR_HAS_READONLY, DUK_HOBJECT_CLEAR_EXTENSIBLE, DUK_HOBJECT_E_GET_FLAGS_PTR, DUK_HOBJECT_E_GET_KEY, DUK_HOBJECT_GET_ASIZE, DUK_HOBJECT_GET_ENEXT, DUK_PROPDESC_FLAG_ACCESSOR, DUK_PROPDESC_FLAG_CONFIGURABLE, DUK_PROPDESC_FLAG_WRITABLE, DUK_STR_NOT_CONFIGURABLE, duk_hthread::heap, and NULL.
DUK_INTERNAL void duk_hobject_prepare_property_descriptor | ( | duk_context * | ctx, |
duk_idx_t | idx_in, | ||
duk_uint_t * | out_defprop_flags, | ||
duk_idx_t * | out_idx_value, | ||
duk_hobject ** | out_getter, | ||
duk_hobject ** | out_setter ) |
Definition at line 4858 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_ASSERT, DUK_DEFPROP_CONFIGURABLE, DUK_DEFPROP_ENUMERABLE, DUK_DEFPROP_HAVE_CONFIGURABLE, DUK_DEFPROP_HAVE_ENUMERABLE, DUK_DEFPROP_HAVE_GETTER, DUK_DEFPROP_HAVE_SETTER, DUK_DEFPROP_HAVE_VALUE, DUK_DEFPROP_HAVE_WRITABLE, DUK_DEFPROP_WRITABLE, DUK_ERROR_TYPE, duk_get_hobject_or_lfunc_coerce(), duk_get_prop_stridx(), duk_get_top_index(), DUK_HOBJECT_IS_CALLABLE, duk_pop(), duk_require_hobject(), duk_require_normalize_index(), duk_require_tval(), DUK_STR_INVALID_DESCRIPTOR, DUK_STRIDX_CONFIGURABLE, DUK_STRIDX_ENUMERABLE, DUK_STRIDX_GET, DUK_STRIDX_SET, DUK_STRIDX_VALUE, DUK_STRIDX_WRITABLE, duk_to_boolean(), DUK_TVAL_IS_UNDEFINED, and NULL.
DUK_INTERNAL duk_bool_t duk_hobject_proxy_check | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_hobject ** | out_target, | ||
duk_hobject ** | out_handler ) |
Definition at line 318 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_ASSERT, DUK_ERROR_TYPE, duk_hobject_find_existing_entry_tval_ptr(), DUK_HOBJECT_HAS_EXOTIC_PROXYOBJ, DUK_HTHREAD_STRING_INT_HANDLER, DUK_HTHREAD_STRING_INT_TARGET, DUK_LIKELY, DUK_STR_PROXY_REVOKED, DUK_TVAL_GET_OBJECT, DUK_TVAL_IS_OBJECT, duk_hthread::heap, and NULL.
Referenced by duk__proxy_check_prop(), and duk_hobject_resolve_proxy_target().
DUK_INTERNAL duk_bool_t duk_hobject_putprop | ( | duk_hthread * | thr, |
duk_tval * | tv_obj, | ||
duk_tval * | tv_key, | ||
duk_tval * | tv_val, | ||
duk_bool_t | throw_flag ) |
Definition at line 3238 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk_propdesc::a_idx, duk_hbufferobject::buf, duk_hthread::builtins, duk__abandon_array_checked(), duk__abandon_array_density_check(), duk__abandon_array_slow_check_required(), duk__alloc_entry_checked(), duk__check_arguments_map_for_put(), duk__compute_a_stats(), duk__get_old_array_length(), duk__get_own_propdesc_raw(), duk__grow_props_for_array_item(), duk__handle_put_array_length(), duk__key_is_lightfunc_ownprop(), DUK__NO_ARRAY_INDEX, duk__proxy_check_prop(), duk__push_tval_to_hstring_arr_idx(), duk__putprop_fastpath_bufobj_tval(), duk__putprop_shallow_fastpath_array_tval(), duk__tval_number_to_arr_idx(), DUK__VALSTACK_SPACE, DUK_ASSERT, DUK_ASSERT_HBUFFEROBJECT_VALID, DUK_ASSERT_VALSTACK_SPACE, DUK_BIDX_BOOLEAN_PROTOTYPE, DUK_BIDX_BUFFER_PROTOTYPE, DUK_BIDX_FUNCTION_PROTOTYPE, DUK_BIDX_NUMBER_PROTOTYPE, DUK_BIDX_POINTER_PROTOTYPE, DUK_BIDX_STRING_PROTOTYPE, duk_call_method(), DUK_D, DUK_DD, DUK_DDD, DUK_DDDPRINT, DUK_DDPRINT, DUK_DPRINT, duk_dup(), DUK_ERR_TYPE_ERROR, DUK_ERROR_FMT2, DUK_ERROR_INTERNAL_DEFMSG, DUK_ERROR_RANGE, DUK_ERROR_TYPE, duk_get_tval(), DUK_GETDESC_FLAG_PUSH_VALUE, DUK_HBUFFER_GET_DATA_PTR, DUK_HBUFFER_GET_SIZE, DUK_HBUFFEROBJECT_VALID_BYTEOFFSET_EXCL, duk_hbufferobject_validated_write(), DUK_HEAPHDR_HAS_READONLY, DUK_HOBJECT_A_GET_VALUE_PTR, DUK_HOBJECT_E_GET_VALUE_SETTER, DUK_HOBJECT_E_GET_VALUE_TVAL_PTR, DUK_HOBJECT_E_SET_FLAGS, DUK_HOBJECT_GET_ASIZE, DUK_HOBJECT_GET_PROTOTYPE, DUK_HOBJECT_HAS_ARRAY_PART, DUK_HOBJECT_HAS_EXOTIC_ARGUMENTS, DUK_HOBJECT_HAS_EXOTIC_ARRAY, DUK_HOBJECT_HAS_EXOTIC_PROXYOBJ, DUK_HOBJECT_HAS_EXTENSIBLE, DUK_HOBJECT_IS_BUFFEROBJECT, DUK_HOBJECT_PROTOTYPE_CHAIN_SANITY, DUK_HSTRING_GET_CHARLEN, DUK_HTHREAD_STRING_BYTE_LENGTH, DUK_HTHREAD_STRING_BYTE_OFFSET, DUK_HTHREAD_STRING_BYTES_PER_ELEMENT, DUK_HTHREAD_STRING_LENGTH, duk_js_samevalue, duk_pop(), duk_pop_2(), duk_pop_n(), DUK_PROPDESC_FLAG_ACCESSOR, DUK_PROPDESC_FLAG_CONFIGURABLE, DUK_PROPDESC_FLAG_VIRTUAL, DUK_PROPDESC_FLAG_WRITABLE, DUK_PROPDESC_FLAGS_WEC, duk_push_hobject(), duk_push_string_tval_readable(), duk_push_tval(), duk_require_tval(), DUK_STR_ARRAY_LENGTH_WRITE_FAILED, DUK_STR_INVALID_BASE, DUK_STR_NOT_EXTENSIBLE, DUK_STR_NOT_WRITABLE, DUK_STR_PROTOTYPE_CHAIN_LIMIT, DUK_STR_PROXY_REJECTED, DUK_STR_SETTER_UNDEFINED, DUK_STRIDX_SET, DUK_TAG_BOOLEAN, DUK_TAG_BUFFER, DUK_TAG_LIGHTFUNC, DUK_TAG_NULL, DUK_TAG_OBJECT, DUK_TAG_POINTER, DUK_TAG_STRING, DUK_TAG_UNDEFINED, duk_to_boolean(), duk_to_number(), duk_to_uint32(), DUK_TVAL_GET_BUFFER, DUK_TVAL_GET_OBJECT, DUK_TVAL_GET_STRING, DUK_TVAL_GET_TAG, DUK_TVAL_INCREF, DUK_TVAL_IS_NUMBER, DUK_TVAL_IS_UNUSED, DUK_TVAL_SET_FASTINT_U32, DUK_TVAL_SET_OBJECT, DUK_TVAL_SET_TVAL, DUK_TVAL_SET_TVAL_UPDREF, DUK_UNLIKELY, DUK_UNREACHABLE, DUK_UNREF, duk_propdesc::e_idx, duk_propdesc::flags, duk_propdesc::get, duk_hthread::heap, duk_hbufferobject::length, NULL, duk_hbufferobject::offset, duk_propdesc::set, and duk_hbufferobject::shift.
Referenced by duk_hobject_set_length().
DUK_INTERNAL duk_hobject * duk_hobject_resolve_proxy_target | ( | duk_hthread * | thr, |
duk_hobject * | obj ) |
Definition at line 366 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_ASSERT, DUK_HOBJECT_HAS_EXOTIC_PROXYOBJ, duk_hobject_proxy_check(), DUK_UNLIKELY, and NULL.
DUK_INTERNAL void duk_hobject_set_length | ( | duk_hthread * | thr, |
duk_hobject * | obj, | ||
duk_uint32_t | length ) |
Definition at line 4738 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References DUK_GET_TVAL_NEGIDX, duk_hobject_putprop(), duk_pop_n(), duk_push_hobject(), duk_push_hstring_stridx(), duk_push_u32, and DUK_STRIDX_LENGTH.
Referenced by duk_hobject_set_length_zero().
DUK_INTERNAL void duk_hobject_set_length_zero | ( | duk_hthread * | thr, |
duk_hobject * | obj ) |
Definition at line 4751 of file duktape-1.5.2/src-separate/duk_hobject_props.c.
References duk_hobject_set_length().