Issue: https://gitee.com/openharmony/arkcompiler_runtime_core/issues/IB0O83
Description:
Specification:
• Lexical: list of operators, soft keywords and type names are updated
• All literal types except string, null, undefined are deleted, union normalization is fixed accordingly
• Variable initialization (4.7.1) is fixed.
• Fix terminology: field is not variable
• Generic instantiation definitions corrected
• Local class description is updated
• Non-nullish expressions are allowed in ‘??’ operator
• Qualified names for namespaces are allowed. Namespaces in one compilation units are merged.
• Annotation ‘namespace’ is deleted
• All changes reviewed and ensured proper English by tech.
Signed-off-by: Alexey V. Kanatov <kanatov.alexey@huawei-partners.com>
Issue: https://gitee.com/openharmony/arkcompiler_runtime_core/issues/IB0Y1R
Covers:
Issue 15732: Optional arguments for method with 'this' return type
Issue 15765: Optional arguments of functional type don't allow lambdas
Test: CI build
Signed-off-by: Maksim Khramov <khramov.wx1235557@huawei-partners.com>
Handle ASAN false-positive error (stack-use-after-scope) for big static variable defined in method scope.
Issue: https://gitee.com/openharmony/arkcompiler_runtime_core/issues/IB2BKA
Signed-off-by: Aleksei Sidorov <aleksei.sidorov@huawei.com>
Change-Id: Ia924a2a47276d99ba58126b7f31aa69fbb9d2490
Description: Add new test cases against es2panda issue 12597
Issue: https://gitee.com/open_harmony/dashboard?issue_id=IB1HCK
Tests: All required pre-merge test passed.Results are available in the gwatcher review issue
Signed-off-by: gorlovaleksandr <gorlov.aleksandr@huawei-partners.com>
Description:
SimplifyStringBuilder optimization pass could modify input instructions
in a way that changes initially intended logic, thus leading to wrong
executable. It is crucial for compiler to preserve logic provided by
human.
Disable optimization for cases leading to erroneous behaviour thus
providing slower, but correct code.
SimplifyStringBuilder optimization purpose is to make simplier code
in case of string appending process that takes place inside loop. It
eliminates temporary StringBuilder instances construction and reduces
append instruction count. Currently, it doesn't make any difference
between append and prepend cases, and thus, when got triggered on
prepend case, it provides wrong code optimization. Correct fix to this
problem would be to modify SimplifyStringBuilder to retain optimization
logic in prepend cases, at least partly, still providing correct code.
Proposed changes, however, just disable wrong optimization trigger
cases.
Implement two additional filters: during populating the list of
accumulator values and during processing temporary accumulator values
that might also contribute to final concatenation result.
In first case modify
`IsPhiAccumulatedValue()/HasAppendInstructionUser()` method to apply
additional checks on accumulator candidate that it shouldn't be
prepended within same basic block in current loop.
In second case go through additional `StringBuilder` usages in order to
find ones that relate to prepend pattern with temporary accumulator values.
Suggest here that `StringBuilderUsage.appendInstructions` are stored in
reverse order.
If found, drop current optimization attempt.
Issue: https://gitee.com/openharmony/arkcompiler_runtime_core/issues/IARNNO
Testing: ninja all tests
Change-Id: Id2979c9a164f6af6e780418717b62c53319c9748
Signed-off-by: Andrew Polyakov <aendrew.polyakov@yandex.ru>