@@ -512,17 +512,15 @@ ecma_builtin_object_frozen_or_sealed_helper (ecma_value_t this_arg, /**< 'this'
512512 {
513513 ecma_object_t * obj_p = ecma_get_object_from_value (arg );
514514
515- bool is_sealed_or_frozen ;
516-
517515 /* 3. */
518516 if (ecma_get_object_extensible (obj_p ))
519517 {
520- is_sealed_or_frozen = false ;
518+ ret_value = ECMA_VALUE_FALSE ;
521519 }
522520 else
523521 {
524522 /* the value can be updated in the loop below */
525- is_sealed_or_frozen = true ;
523+ ret_value = ECMA_VALUE_TRUE ;
526524
527525 /* 2. */
528526 ecma_collection_header_t * props_p = ecma_op_object_get_property_names (obj_p , ECMA_LIST_NO_OPTS );
@@ -545,23 +543,20 @@ ecma_builtin_object_frozen_or_sealed_helper (ecma_value_t this_arg, /**< 'this'
545543 && ECMA_PROPERTY_GET_TYPE (property ) != ECMA_PROPERTY_TYPE_NAMEDACCESSOR
546544 && ecma_is_property_writable (property ))
547545 {
548- is_sealed_or_frozen = false ;
546+ ret_value = ECMA_VALUE_FALSE ;
549547 break ;
550548 }
551549
552550 /* 2.b for isSealed, 2.c for isFrozen */
553551 if (ecma_is_property_configurable (property ))
554552 {
555- is_sealed_or_frozen = false ;
553+ ret_value = ECMA_VALUE_FALSE ;
556554 break ;
557555 }
558556 }
559557
560558 ecma_free_values_collection (props_p , 0 );
561559 }
562-
563- /* 4. */
564- ret_value = is_sealed_or_frozen ? ECMA_VALUE_TRUE : ECMA_VALUE_FALSE ;
565560 }
566561
567562 return ret_value ;
@@ -613,22 +608,14 @@ ecma_builtin_object_object_is_extensible (ecma_value_t this_arg, /**< 'this' arg
613608 ecma_value_t arg ) /**< routine's argument */
614609{
615610 JERRY_UNUSED (this_arg );
616- ecma_value_t ret_value = ECMA_VALUE_EMPTY ;
617611
618612 if (!ecma_is_value_object (arg ))
619613 {
620- ret_value = ecma_raise_type_error (ECMA_ERR_MSG ("Argument is not an object." ));
621- }
622- else
623- {
624- ecma_object_t * obj_p = ecma_get_object_from_value (arg );
625-
626- bool extensible = ecma_get_object_extensible (obj_p );
627-
628- ret_value = extensible ? ECMA_VALUE_TRUE : ECMA_VALUE_FALSE ;
614+ return ecma_raise_type_error (ECMA_ERR_MSG ("Argument is not an object." ));
629615 }
630616
631- return ret_value ;
617+ ecma_object_t * obj_p = ecma_get_object_from_value (arg );
618+ return ecma_make_boolean_value (ecma_get_object_extensible (obj_p ));
632619} /* ecma_builtin_object_object_is_extensible */
633620
634621/**
0 commit comments