Improve delete property with undefined base (#3312)
This patch finally resolves #2891 also the removes the related bytecode since it has become unnecessary. JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik frobert@inf.u-szeged.hu
This commit is contained in:
committed by
Dániel Bátyai
parent
204de302aa
commit
be95aa33b4
@@ -176,10 +176,12 @@ vm_op_delete_prop (ecma_value_t object, /**< base object */
|
||||
ecma_value_t property, /**< property name */
|
||||
bool is_strict) /**< strict mode */
|
||||
{
|
||||
#if !ENABLED (JERRY_ES2015)
|
||||
if (ecma_is_value_undefined (object))
|
||||
{
|
||||
return ECMA_VALUE_TRUE;
|
||||
}
|
||||
#endif /* !ENABLED (JERRY_ES2015) */
|
||||
|
||||
ecma_value_t check_coercible = ecma_op_check_object_coercible (object);
|
||||
if (ECMA_IS_VALUE_ERROR (check_coercible))
|
||||
|
||||
@@ -1917,13 +1917,6 @@ vm_loop (vm_frame_ctx_t *frame_ctx_p) /**< frame context */
|
||||
#endif /* ENABLED (JERRY_ES2015) */
|
||||
continue;
|
||||
}
|
||||
case VM_OC_PUSH_UNDEFINED_BASE:
|
||||
{
|
||||
stack_top_p[0] = stack_top_p[-1];
|
||||
stack_top_p[-1] = ECMA_VALUE_UNDEFINED;
|
||||
stack_top_p++;
|
||||
continue;
|
||||
}
|
||||
case VM_OC_IDENT_REFERENCE:
|
||||
{
|
||||
uint16_t literal_index;
|
||||
|
||||
@@ -125,7 +125,6 @@ typedef enum
|
||||
|
||||
VM_OC_SET_GETTER, /**< set getter */
|
||||
VM_OC_SET_SETTER, /**< set setter */
|
||||
VM_OC_PUSH_UNDEFINED_BASE, /**< push undefined base */
|
||||
VM_OC_PUSH_ARRAY, /**< push array */
|
||||
VM_OC_PUSH_ELISON, /**< push elison */
|
||||
VM_OC_APPEND_ARRAY, /**< append array */
|
||||
|
||||
Reference in New Issue
Block a user