!1898 Add change log for runtime_core

Merge pull request !1898 from huyunhui/changelog
This commit is contained in:
openharmony_ci 2024-07-20 18:38:12 +00:00 committed by Gitee
commit 58a1438b51
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
6 changed files with 115 additions and 0 deletions

View File

@ -0,0 +1,36 @@
# 2023-12-31-isa-changelog
This document describes change log with the following modifications:
* Version
* Bytecode instructions
## Version
We update version from 9.0.0.0 to 11.0.2.0
## Bytecode instructions
To support the latest class features in ECMAScript2022 and [sendable class](https://gitee.com/openharmony/docs/blob/5bce26d25ceed2417ed862817c97c205593c94d5/zh-cn/application-dev/arkts-utils/arkts-sendable.md), 12 bytecode instructions are added.
1. To support public fields which will use define semantic instead of set semantic, the following bytecode instructions are added:
- definefieldbyname
- callruntime.definefieldbyvalue
- callruntime.definefieldbyindex
2. To support private properties in class and access to them, the following bytecode instructions are added:
- callruntime.createprivateproperty
- callruntime.defineprivateproperty
- ldprivateproperty
- stprivateproperty
3. To support `#x in obj` syntax, the following bytecode instruction is added:
- testin
4. To calculate computed property name and get a value which can be used as class property key, the following bytecode instruction is added:
- callruntime.topropertykey
5. To improve the performance of class field initialization, the following bytecode instruction is added:
- callruntime.callinit
6. To support sendable class, the following bytecode instructions are added:
- callruntime.definesendableclass
- callruntime.ldsendableclass

View File

@ -0,0 +1,14 @@
# 2024-03-20-isa-changelog
This document describes change log with the following modifications:
* Version
* Bytecode instructions
## Version
We update version from 11.0.2.0 to 12.0.0.0
## Bytecode instructions
To support lazy loading of module variables in sendable class, the following bytecode instructions are added:
- callruntime.ldsendableexternalmodulevar
- callruntime.wideldsendableexternalmodulevar

View File

@ -0,0 +1,18 @@
# 2024-05-12-isa-changelog
This document describes change log with the following modifications:
* Version
* Bytecode instructions
## Version
We update version from 12.0.1.0 to 12.0.2.0
## Bytecode instructions
To support using top-level sendable class in other sendable classes as closure variable, the sendable lexical environment is implemented and the following bytecode instructions are added to create and operate it.
- callruntime.newsendableenv
- callruntime.widenewsendableenv
- callruntime.stsendablevar
- callruntime.widestsendablevar
- callruntime.ldsendablevar
- callruntime.wideldsendablevar

View File

@ -0,0 +1,17 @@
# 2024-05-24-isa-changelog
This document describes change log with the following modifications:
* Version
* Bytecode instructions
## Version
We update version from 12.0.2.0 to 12.0.3.0
## Bytecode instructions
1. To improve the performance of "istrue" and "isfalse" bytecode instructions, the following two bytecode instructions are added as an improved version with ic slot:
- callruntime.istrue
- callruntime.isfalse
2. There is a bug in generating "definefieldbyname" bytecode's ic slot number when ic slot number overflows, which leads to a runtime error. To avoid this, the following bytecode instruction is added to replace the above one:
- definepropertybyname

View File

@ -0,0 +1,14 @@
# 2024-05-26-file_format-changlog
This document describes change log with the following modifications:
* Version
* Method name mangling refactoring
## Version
We update version from 12.0.3.0 to 12.0.4.0
## Method name mangling refactoring
To manually calculate the mapping between the function name in the source code and the function name in the bytecode. The way of distinguishing two functions with the same name in different scopes is changed from obtaining hash for scope to adding scope tags and scope names. To maintain abc's size, some long scope names will be put into a literal array and we add a new Field called "scopeNames" whose value points to the literal array for each file.
For more details about this refactoring, please refer to [arkts-bytecode-function-name.md
](https://gitee.com/openharmony/docs/blob/dfc65afed16d888d2c816b31e3fcbe17e725c6a2/zh-cn/application-dev/quick-start/arkts-bytecode-function-name.md)

View File

@ -0,0 +1,16 @@
# 2024-07-10-isa-changelog
This document describes change log with the following modifications:
* Version
* Bytecode instructions
## Version
We update version from 12.0.5.0 to 12.0.6.0
## Bytecode instructions
To support [lazy import](https://gitee.com/openharmony/docs/blob/3cc4941c35f525895c9710c761d92f1a4d799f11/zh-cn/application-dev/quick-start/arkts-lazy-import.md), the following bytecode instructions are added for loading module variables lazily:
- callruntime.ldlazymodulevar
- callruntime.wideldlazymodulevar
- callruntime.ldlazysendablemodulevar
- callruntime.wideldlazysendablemodulevar