diff --git a/jerry-core/ecma/base/ecma-gc.c b/jerry-core/ecma/base/ecma-gc.c index 42fbc33ff..59ab05628 100644 --- a/jerry-core/ecma/base/ecma-gc.c +++ b/jerry-core/ecma/base/ecma-gc.c @@ -861,6 +861,7 @@ ecma_gc_mark (ecma_object_t *object_p) /**< object to mark from */ ecma_gc_set_object_visited (ecma_get_object_from_value (executor_p->remaining_elements)); break; } +#if ENABLED (JERRY_BUILTIN_PROXY) case ECMA_NATIVE_HANDLER_PROXY_REVOKE: { ecma_revocable_proxy_object_t *rev_proxy_p = (ecma_revocable_proxy_object_t *) object_p; @@ -872,6 +873,7 @@ ecma_gc_mark (ecma_object_t *object_p) /**< object to mark from */ break; } +#endif /* ENABLED (JERRY_BUILTIN_PROXY) */ case ECMA_NATIVE_HANDLER_VALUE_THUNK: case ECMA_NATIVE_HANDLER_VALUE_THROWER: { @@ -1311,11 +1313,13 @@ ecma_gc_free_object (ecma_object_t *object_p) /**< object to free */ ext_object_size = sizeof (ecma_promise_all_executor_t); break; } +#if ENABLED (JERRY_BUILTIN_PROXY) case ECMA_NATIVE_HANDLER_PROXY_REVOKE: { ext_object_size = sizeof (ecma_revocable_proxy_object_t); break; } +#endif /* ENABLED (JERRY_BUILTIN_PROXY) */ case ECMA_NATIVE_HANDLER_VALUE_THUNK: case ECMA_NATIVE_HANDLER_VALUE_THROWER: { diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-handlers.inc.h b/jerry-core/ecma/builtin-objects/ecma-builtin-handlers.inc.h index 0e4990cbf..ce7db6434 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-handlers.inc.h +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-handlers.inc.h @@ -19,6 +19,8 @@ ECMA_NATIVE_HANDLER (ECMA_NATIVE_HANDLER_PROMISE_THEN_FINALLY, ecma_promise_then ECMA_NATIVE_HANDLER (ECMA_NATIVE_HANDLER_PROMISE_CATCH_FINALLY, ecma_promise_catch_finally_cb, 1) ECMA_NATIVE_HANDLER (ECMA_NATIVE_HANDLER_PROMISE_ALL_HELPER, ecma_promise_all_handler_cb, 1) ECMA_NATIVE_HANDLER (ECMA_NATIVE_HANDLER_PROMISE_CAPABILITY_EXECUTOR, ecma_op_get_capabilities_executor_cb, 2) +#if ENABLED (JERRY_BUILTIN_PROXY) ECMA_NATIVE_HANDLER (ECMA_NATIVE_HANDLER_PROXY_REVOKE, ecma_proxy_revoke_cb, 0) +#endif /* ENABLED (JERRY_BUILTIN_PROXY) */ ECMA_NATIVE_HANDLER (ECMA_NATIVE_HANDLER_VALUE_THUNK, ecma_value_thunk_helper_cb, 0) ECMA_NATIVE_HANDLER (ECMA_NATIVE_HANDLER_VALUE_THROWER, ecma_value_thunk_thrower_cb, 0) diff --git a/jerry-core/ecma/operations/ecma-objects.c b/jerry-core/ecma/operations/ecma-objects.c index d44d69087..7f30b79e7 100644 --- a/jerry-core/ecma/operations/ecma-objects.c +++ b/jerry-core/ecma/operations/ecma-objects.c @@ -2318,12 +2318,12 @@ ecma_object_sort_property_names (ecma_collection_t *prop_names_p, /**< prop name ecma_collection_t * ecma_op_object_own_property_keys (ecma_object_t *obj_p) /**< object */ { -#if ENABLED (JERRY_ESNEXT) +#if ENABLED (JERRY_BUILTIN_PROXY) if (ECMA_OBJECT_IS_PROXY (obj_p)) { return ecma_proxy_object_own_property_keys (obj_p); } -#endif /* ENABLED (JERRY_ESNEXT) */ +#endif /* ENABLED (JERRY_BUILTIN_PROXY) */ if (ecma_op_object_is_fast_array (obj_p)) { @@ -2677,7 +2677,7 @@ ecma_object_get_class_name (ecma_object_t *obj_p) /**< object */ { return LIT_MAGIC_STRING_FUNCTION_UL; } -#if ENABLED (JERRY_ESNEXT) +#if ENABLED (JERRY_BUILTIN_PROXY) case ECMA_OBJECT_TYPE_PROXY: { ecma_proxy_object_t *proxy_obj_p = (ecma_proxy_object_t *) obj_p; @@ -2689,7 +2689,7 @@ ecma_object_get_class_name (ecma_object_t *obj_p) /**< object */ } return LIT_MAGIC_STRING_OBJECT_UL; } -#endif /* ENABLED (JERRY_ESNEXT) */ +#endif /* ENABLED (JERRY_BUILTIN_PROXY) */ default: { JERRY_ASSERT (type == ECMA_OBJECT_TYPE_GENERAL || type == ECMA_OBJECT_TYPE_PROXY); diff --git a/tools/run-tests.py b/tools/run-tests.py index 96d17d0e9..3316e7716 100755 --- a/tools/run-tests.py +++ b/tools/run-tests.py @@ -166,6 +166,8 @@ JERRY_BUILDOPTIONS = [ ['--jerry-debugger=on']), Options('buildoption_test-module-off', ['--compile-flag=-DJERRY_MODULE_SYSTEM=0', '--lto=off']), + Options('buildoption_test-builtin-proxy-off', + ['--compile-flag=-DJERRY_BUILTIN_PROXY=0']), ] def get_arguments():