arkcompiler_ets_runtime/ecmascript/builtins/builtins_sharedarraybuffer.h
huangzhenghua 269bdc5d5e Modify unreasonable double type
issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I5QF0H
Signed-off-by: huangzhenghua <huangzhenghua3@huawei.com>

Modify the function of array, arrayHelper, typeArray, typeArrarHelper

Change-Id: Ib0c1c77de232b2d18b983ef0377e550bf513e067
2022-09-09 22:43:01 +08:00

45 lines
1.9 KiB
C++

/*
* Copyright (c) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ECMASCRIPT_BUILTINS_BUILTINS_SHAREDARRAYBUFFER_H
#define ECMASCRIPT_BUILTINS_BUILTINS_SHAREDARRAYBUFFER_H
#include "ecmascript/base/builtins_base.h"
#include "ecmascript/base/number_helper.h"
#include "ecmascript/js_dataview.h"
namespace panda::ecmascript::builtins {
class BuiltinsSharedArrayBuffer : public base::BuiltinsBase {
public:
// 25.2.2.1 SharedArrayBuffer ( [ length ] )
static JSTaggedValue SharedArrayBufferConstructor(EcmaRuntimeCallInfo *argv);
// 25.2.1.2 IsSharedArrayBuffer ( obj )
static JSTaggedValue IsSharedArrayBuffer(EcmaRuntimeCallInfo *argv);
// 24.2.3.2 get SharedArrayBuffer [ @@species ]
static JSTaggedValue Species(EcmaRuntimeCallInfo *argv);
// 25.2.4.1 get SharedArrayBuffer.prototype.byteLength
static JSTaggedValue GetByteLength(EcmaRuntimeCallInfo *argv);
// 25.2.4.3 SharedArrayBuffer.prototype.slice ( start, end )
static JSTaggedValue Slice(EcmaRuntimeCallInfo *argv);
static bool IsShared(JSTaggedValue arrayBuffer);
private:
// 25.2.1.1 AllocateSharedArrayBuffer ( constructor, byteLength )
static JSTaggedValue AllocateSharedArrayBuffer(JSThread *thread, const JSHandle<JSTaggedValue> &newTarget,
uint64_t byteLength);
};
} // namespace panda::ecmascript::builtins
#endif // ECMASCRIPT_BUILTINS_BUILTINS_SHAREDARRAYBUFFER_H