Support taskpool infrastructure

1. add FunctionKind::CONCURRENT_FUNCTION
2. add a new ins to store lexical env

Issue:I67SPL

Signed-off-by: ctw-ian <chentingwei2@huawei.com>
Change-Id: I1dec7efc7772b6a5c909a9d015ed0bb97eb513f0
This commit is contained in:
ctw-ian 2022-12-29 16:17:47 +08:00
parent ed35c8b556
commit 013b2a39cb
3 changed files with 11 additions and 9 deletions

View File

@ -13,11 +13,7 @@
import("//arkcompiler/runtime_core/ark_config.gni")
isa_paths = [
rebase_path("$ark_root/isa/isa.yaml", root_build_dir),
# rebase_path("$ark_root/../ets_runtime/ecmascript/ecma_isa.yaml",
# root_build_dir),
]
isa_paths = [ rebase_path("$ark_root/isa/isa.yaml", root_build_dir) ]
foreach(plugin, enabled_plugins) {
print("add isa plugin: $plugin")

View File

@ -251,7 +251,7 @@ isa_information:
last_opcode_idx: 0xd5
last_throw_prefixed_opcode_idx: 0x08
last_wide_prefixed_opcode_idx: 0x13
last_deprecated_prefixed_opcode_idx: 0x2e
last_deprecated_prefixed_opcode_idx: 0x2f
prefixes:
- name: throw
@ -1398,6 +1398,11 @@ groups:
opcode_idx: [0x2e]
format: [pref_op_v1_8_v2_8]
prefix: deprecated
- sig: deprecated.stlexenv
acc: none
opcode_idx: [0x2f]
format: [pref_op_none]
prefix: deprecated
- title: Load accumulator from string constant pool
description: >

View File

@ -78,7 +78,8 @@ enum class FunctionKind : uint8_t {
GENERATOR_FUNCTION = 0x3,
ASYNC_FUNCTION = 0x4,
ASYNC_GENERATOR_FUNCTION = 0x5,
ASYNC_NC_FUNCTION = 0x6
ASYNC_NC_FUNCTION = 0x6,
CONCURRENT_FUNCTION = 0x7
};
bool IsDynamicLanguage(panda::panda_file::SourceLang lang);
@ -757,13 +758,13 @@ public:
void SetFunctionKind(FunctionKind kind)
{
access_flags_ &= (~FUNCTION_KIND_MASK);
access_flags_ |= (static_cast<uint8_t>(kind) << FLAG_WIDTH);
access_flags_ |= (static_cast<uint32_t>(kind) << FLAG_WIDTH);
}
void SetHeaderIndex(uint16_t idx)
{
access_flags_ &= (FUNCTION_KIND_MASK | FLAG_MASK);
access_flags_ |= (idx << (FUNTION_KIND_WIDTH + FLAG_WIDTH));
access_flags_ |= (static_cast<uint32_t>(idx) << (FUNTION_KIND_WIDTH + FLAG_WIDTH));
}
~BaseMethodItem() override = default;