From 0510c71dcb7d84c842cdcb1586391ea2fd1f5081 Mon Sep 17 00:00:00 2001 From: Ingvar Stepanyan Date: Thu, 12 Oct 2023 23:53:17 +0100 Subject: [PATCH] Revert "Move reserved handle check to C++ too" This reverts commit e15a9f7eee0f397e11dbee38b467edbc7fff62db. --- src/embind/emval.js | 4 +++- system/include/emscripten/val.h | 11 ++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/embind/emval.js b/src/embind/emval.js index e8967b1e26b3..9ceef12b5200 100644 --- a/src/embind/emval.js +++ b/src/embind/emval.js @@ -80,7 +80,9 @@ var LibraryEmVal = { _emval_free__deps: ['$emval_handles'], _emval_free: (handle) => { - emval_handles.free(handle); + if (handle >= emval_handles.reserved) { + emval_handles.free(handle); + } }, _emval_run_destructors__deps: ['_emval_free', '$Emval', '$runDestructors'], diff --git a/system/include/emscripten/val.h b/system/include/emscripten/val.h index fc826ee1b001..3495e9c9c006 100644 --- a/system/include/emscripten/val.h +++ b/system/include/emscripten/val.h @@ -38,10 +38,9 @@ void _emval_register_symbol(const char*); enum { _EMVAL_UNDEFINED = 1, - _EMVAL_NULL, - _EMVAL_TRUE, - _EMVAL_FALSE, - _EMVAL_UNRESERVED_START + _EMVAL_NULL = 2, + _EMVAL_TRUE = 3, + _EMVAL_FALSE = 4 }; typedef struct _EM_DESTRUCTORS* EM_DESTRUCTORS; @@ -340,9 +339,7 @@ struct val_metadata { // should be only accessible from dec_ref ~val_metadata() { - if (handle >= EM_VAL(internal::_EMVAL_UNRESERVED_START)) { - internal::_emval_free(handle); - } + _emval_free(handle); } };