[vm/kernel/bytecode] Fix number of checked arguments in bytecode calls

Number of checked arguments is corrected in ICData objects created when
reading bytecode, both for instance and static calls.

InstanceCall1 and InstanceCall2 bytecode instructions are replaced with
InstanceCall which works for any number of checked arguments. This makes
decision on number of checked arguments internal to VM and it is no longer
exposed to bytecode.

Change-Id: I0bba01eca6347336f3832de863b2ce4715fda04a
Reviewed-on: https://dart-review.googlesource.com/69421
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
This commit is contained in:
Alexander Markov
2018-08-13 17:50:21 +00:00
committed by commit-bot@chromium.org
parent 8f768e7305
commit 741f662a60
23 changed files with 227 additions and 246 deletions
@@ -212,8 +212,7 @@ static bool HasLoadFromPool(KBCInstr instr) {
case KernelBytecode::kPushConstant:
case KernelBytecode::kStaticCall:
case KernelBytecode::kIndirectStaticCall:
case KernelBytecode::kInstanceCall1:
case KernelBytecode::kInstanceCall2:
case KernelBytecode::kInstanceCall:
case KernelBytecode::kInstanceCall1Opt:
case KernelBytecode::kInstanceCall2Opt:
case KernelBytecode::kStoreStaticTOS: