diff
+ static ecma_value_t check_function_object(ecma_object_t *obj_p)
+ {
+     if (obj_p == NULL)
+     {
+         return ecma_raise_type_error (ECMA_ERR_ARGUMENT_IS_NULL);
+     }
+     if (ecma_is_lexical_environment (obj_p))
+     {
+         return ecma_raise_type_error (ECMA_ERR_EXPECTED_OBJECT);
+     }
+     return ECMA_VALUE_EMPTY;
+ }

7   JERRY_ASSERT (func_obj_p != NULL && !ecma_is_lexical_environment (func_obj_p));
+   ecma_value_t check_result = check_function_object(func_obj_p);
+   if (ecma_is_value_error(check_result))
+   {
+       return check_result;
+   }
9   ECMA_CHECK_STACK_USAGE ();
