Rework function.bind (#1406)
The new code does not use value collections which reduces the argument array size by half. JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
This commit is contained in:
committed by
Dániel Bátyai
parent
dc1e26933f
commit
945fbef110
@@ -199,12 +199,6 @@ typedef enum
|
||||
{
|
||||
ECMA_INTERNAL_PROPERTY_NATIVE_HANDLE, /**< native handle associated with an object */
|
||||
ECMA_INTERNAL_PROPERTY_FREE_CALLBACK, /**< object's native free callback */
|
||||
|
||||
/** Bound function internal properties **/
|
||||
ECMA_INTERNAL_PROPERTY_BOUND_FUNCTION_TARGET_FUNCTION,
|
||||
ECMA_INTERNAL_PROPERTY_BOUND_FUNCTION_BOUND_THIS,
|
||||
ECMA_INTERNAL_PROPERTY_BOUND_FUNCTION_BOUND_ARGS,
|
||||
|
||||
ECMA_INTERNAL_PROPERTY_INSTANTIATED_MASK_32_63, /**< Bit-mask of non-instantiated
|
||||
* built-in's properties (bits 32-63) */
|
||||
|
||||
@@ -612,6 +606,15 @@ typedef struct
|
||||
uint32_t length; /**< length of names */
|
||||
} arguments;
|
||||
|
||||
/*
|
||||
* Description of bound function object.
|
||||
*/
|
||||
struct
|
||||
{
|
||||
ecma_value_t target_function; /**< target function */
|
||||
ecma_length_t args_length; /**< length of arguments */
|
||||
} bound_function;
|
||||
|
||||
ecma_external_pointer_t external_function; /**< external function */
|
||||
} u;
|
||||
} ecma_extended_object_t;
|
||||
|
||||
Reference in New Issue
Block a user