babylon
babylon copied to clipboard
Model verifier
This patch starts work on model Verifier
and implements following verifications:
- operands declaration dominance
-
BranchOp
reference arguments matching target block parameters (simple matching byTypeKind
with erasedint
sub-types) -
ArithmeticOperation
,TestOperation
andConvOp
verified presence of relevant method handler inInvokableLeafOps
TestSmallCorpus
is improved to verify code model.
Fixes of bugs newly discovered by the TestSmallCorpus
:
- missing methods in
InvokableLeafOps
-
Interpreter
use of provided lookup forresolveToMethodType
-
Interpreter
erase sub-int
types forInvokeOp
execution + addedTestLiftCustomBytecode::testEraseInts
- Removed complex sub-
int
types calculation fromBytecodeLift
andLocalsToVarMapper
-
BytecodeLift
fixed to avoid production of some obsolete block parameters
Progress
- [x] Change must not contain extraneous whitespace
Reviewing
Using git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/babylon.git pull/247/head:pull/247
$ git checkout pull/247
Update a local copy of the PR:
$ git checkout pull/247
$ git pull https://git.openjdk.org/babylon.git pull/247/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 247
View PR using the GUI difftool:
$ git pr show -t 247
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/babylon/pull/247.diff