Modifications:
* Rename StubMachineType to VariableType
* Remove the information about signed/unsigned
* VariableType is a class that bundled MachineType and GateType (not an enumerator anymore)
Signed-off-by: Mingliang Zeng <zengmingliang1@huawei.com>
Reason: fix FastStub SetPropertyByName crash bug
Description: SetLayoutToHClass set the wrong machine type, and cause a crash.
Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
Use Stub to impl handlers of bytecodes and use tail call to impl
dispatch of handlers of bytecodes
Signed-off-by: zhangyukun <zhangyukun8@huawei.com>
Change-Id: I7afabdc40ddfa11345aa1029059514aa4f55b9f8
Description
To ensure the high performance of container classes, ArrayList is provided in ark.
Related issue
#I4T65T:Add Container ArrayList
Signed-off-by: liuganlin <liuganlin@huawei.com>
current machineType INT * FLOAT* confuse people to associate UINT*.
the INT* is simlar with LLVM IR too
we reanme machineType INT* FLOAT* rename to I* and F*
issue: https://gitee.com/openharmony/ark_js_runtime/issues/I4SC94
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: Ie188e07039cd9f26aed436ce96618ea4143fccd6
current stub Word*** function sometime handle unsigned int or signed
int, we refactor name it uint** or int** whichi is more clear
issue: https://gitee.com/openharmony/ark_js_runtime/issues/I4SC94
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: Ieb6e201d18c59fdd3fa7130b70389c54d619e3b2
construct function and refactor stub call runtime offset which's relative with
arch framework
current stub call runtime writebarrier, writebarrier stub is conveient
to optimized by llvm pass
region class markingbitmap should be not nullptr, it's good way to
inilized on construct class other than lazy inilized
current stub get member offset of runtime class, need to modify multiple
places which is not coveient to maintance. stub call offset by GetOldToxxxOffset and
CheckLayout which is checked by compile phase
issue: https://gitee.com/openharmony/ark_js_runtime/issues/I4SC94
Change-Id: Iec087f07ca27ef95b20ff65ea8bb9408b5887d9c
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
The current TypeCode is only used to represent the type of the MIR
and cannot represent the TS type data type. The type derivation
process needs to get the TS type information from the circuit ir.
Redefining the layout of TypeCode
issue:https://gitee.com/openharmony/ark_js_runtime/issues/I4SFHE
Signed-off-by: wanyanglan <wanyanglan1@huawei.com>
Change-Id: I53292db81712b84210114f9f92c44b6236c356af
The current circuit ir is translated to llvm ir according to the type of opcode,
and depends on different platforms. circuit ir, as an intermediate state from MIR
to LLVM IR, only performs the conversion role and should not depend on different
platforms for different conversion operations.
The uniqueness of the opcode is removed, and the opcode is combined with a valuecode,
which indicates the uniqueness of each MIR.
issue: https://gitee.com/openharmony/ark_js_runtime/issues/I4RP3H
Signed-off-by: wanyanglan <wanyanglan1@huawei.com>
Change-Id: I2804e7ba9be58fcc4acf3d95a417224b7984018a
2 visit gc ptr by patchpoint instead of pc
3 contruct frame for aot
Change-Id: I98d1f8e39803ef7e1ac6c2f88e08d3254c6ef6af
Signed-off-by: songzhengchao <songzhengchao@huawei.com>