mirror of
https://gitee.com/openharmony/arkcompiler_runtime_core
synced 2025-04-11 23:16:54 +00:00
Support sendable class
Issue: https://gitee.com/openharmony/arkcompiler_ets_frontend/issues/I8O7O2wq Signed-off-by: huyunhui <huyunhui1@huawei.com> Change-Id: I9fdcaac9a239d8d0f56ed8a783adf14e57bfb887
This commit is contained in:
parent
00fda7f9ea
commit
a4b767e6e9
@ -540,6 +540,13 @@ static void AddBytecodeIndexDependencies(MethodItem *method, const Function &fun
|
||||
AddDependencyByIndex(method, insn, entities.literalarray_items, 1);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (insn.opcode == Opcode::CALLRUNTIME_DEFINESENDABLECLASS) {
|
||||
AddDependencyByIndex(method, insn, entities.method_items);
|
||||
AddDependencyByIndex(method, insn, entities.literalarray_items, 1);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (insn.HasFlag(InstFlags::METHOD_ID)) {
|
||||
AddDependencyByIndex(method, insn, entities.method_items);
|
||||
continue;
|
||||
|
25
isa/isa.yaml
25
isa/isa.yaml
@ -255,7 +255,7 @@ isa_information:
|
||||
last_throw_prefixed_opcode_idx: 0x09
|
||||
last_wide_prefixed_opcode_idx: 0x13
|
||||
last_deprecated_prefixed_opcode_idx: 0x2e
|
||||
last_callruntime_prefixed_opcode_idx: 0x06
|
||||
last_callruntime_prefixed_opcode_idx: 0x0a
|
||||
|
||||
prefixes:
|
||||
- name: throw
|
||||
@ -818,6 +818,29 @@ groups:
|
||||
format: [pref_op_imm_8_v_8]
|
||||
prefix: callruntime
|
||||
properties: [jit_ic_slot, two_slot]
|
||||
- sig: callruntime.definesendableclass imm1, method_id, literalarray_id, imm2, v:in:top
|
||||
acc: out:top
|
||||
opcode_idx: [0x07]
|
||||
format: [pref_op_imm1_16_id1_16_id2_16_imm2_16_v_8]
|
||||
prefix: callruntime
|
||||
properties: [method_id, ic_slot, one_slot, literalarray_id]
|
||||
- sig: callruntime.newsendablelexenv imm
|
||||
acc: out:top
|
||||
opcode_idx: [0x08]
|
||||
format: [pref_op_imm_16]
|
||||
prefix: callruntime
|
||||
- sig: callruntime.definesendablemethod imm1, method_id, imm2
|
||||
acc: inout:top
|
||||
opcode_idx: [0x09]
|
||||
format: [pref_op_imm1_8_id_16_imm2_8]
|
||||
prefix: callruntime
|
||||
properties: [method_id, ic_slot, one_slot]
|
||||
- sig: callruntime.createsendableprivateproperty imm, literalarray_id
|
||||
acc: none
|
||||
opcode_idx: [0x0a]
|
||||
format: [pref_op_imm_16_id_16]
|
||||
prefix: callruntime
|
||||
properties: [literalarray_id]
|
||||
|
||||
- title: throw instructions
|
||||
description: throw instructions
|
||||
|
@ -560,14 +560,14 @@ bool CheckHeader(const os::mem::ConstBytePtr &ptr, const std::string_view &filen
|
||||
LOG(ERROR, PANDAFILE) << "Unable to open file '" << filename << "' with bytecode version "
|
||||
<< VersionToString(file_version);
|
||||
if (file_version < minVersion) {
|
||||
LOG(ERROR, PANDAFILE) << "Minimum supported abc file version on the current system image is "
|
||||
LOG(ERROR, PANDAFILE) << "Minimum supported abc file version on the current system image is "
|
||||
<< VersionToString(minVersion)
|
||||
<< "Please upgrade the sdk tools to generate supported version of abc files \
|
||||
or execute the abc file on former version of system image"
|
||||
or execute the abc file on former version of system image";
|
||||
} else {
|
||||
LOG(ERROR, PANDAFILE) << "Maximum supported abc file version on the current system image is "
|
||||
<< VersionToString(version)
|
||||
<< "Please upgrade the system image or use former version of SDK tools to generate abc files"
|
||||
<< "Please upgrade the system image or use former version of SDK tools to generate abc files";
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user