From b91e83b5830f05fe6c5caf17b8d4abbfa82d5b91 Mon Sep 17 00:00:00 2001 From: liujia178 Date: Tue, 16 Apr 2024 20:50:21 +1030 Subject: [PATCH] If IsDetachedBuffer expected typedError --- ecmascript/builtins/builtins_typedarray.cpp | 5 +++++ test/regresstest/regresstest_skip_tests.json | 1 - 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ecmascript/builtins/builtins_typedarray.cpp b/ecmascript/builtins/builtins_typedarray.cpp index 020c7af72..6622e5da7 100644 --- a/ecmascript/builtins/builtins_typedarray.cpp +++ b/ecmascript/builtins/builtins_typedarray.cpp @@ -968,6 +968,11 @@ JSTaggedValue BuiltinsTypedArray::Map(EcmaRuntimeCallInfo *argv) JSTaggedValue callResult = JSFunction::Call(info); mapValue.Update(callResult); RETURN_EXCEPTION_IF_ABRUPT_COMPLETION(thread); + JSTaggedValue buffer = JSHandle::Cast(newArrObj)->GetViewedArrayBufferOrByteArray(); + if (BuiltinsArrayBuffer::IsDetachedBuffer(buffer)) { + THROW_TYPE_ERROR_AND_RETURN(argv->GetThread(), "The ArrayBuffer of typedArray is detached buffer.", + JSTaggedValue::Exception()); + } ObjectFastOperator::FastSetPropertyByValue(thread, newArrObj.GetTaggedValue(), key.GetTaggedValue(), mapValue.GetTaggedValue()); RETURN_EXCEPTION_IF_ABRUPT_COMPLETION(thread); diff --git a/test/regresstest/regresstest_skip_tests.json b/test/regresstest/regresstest_skip_tests.json index 0983e1afc..7c3727c20 100644 --- a/test/regresstest/regresstest_skip_tests.json +++ b/test/regresstest/regresstest_skip_tests.json @@ -3016,7 +3016,6 @@ "mjsunit/es6/string-iterator7.js", "mjsunit/es6/string-iterator3.js", "mjsunit/es6/for-each-in-catch.js", - "mjsunit/es6/typedarray-map.js", "mjsunit/es6/rest-params.js", "mjsunit/es6/block-for-sloppy.js", "mjsunit/es6/computed-property-names-classes.js", -- Gitee