babylon icon indicating copy to clipboard operation
babylon copied to clipboard

Model verifier

Open asotona opened this issue 4 months ago • 3 comments

This patch starts work on model Verifier and implements following verifications:

  • operands declaration dominance
  • BranchOp reference arguments matching target block parameters (simple matching by TypeKind with erased int sub-types)
  • ArithmeticOperation, TestOperation and ConvOp verified presence of relevant method handler in InvokableLeafOps

TestSmallCorpus is improved to verify code model.

Fixes of bugs newly discovered by the TestSmallCorpus:

  • missing methods in InvokableLeafOps
  • Interpreter use of provided lookup for resolveToMethodType
  • Interpreter erase sub-int types for InvokeOp execution + added TestLiftCustomBytecode::testEraseInts
  • Removed complex sub-int types calculation from BytecodeLift and LocalsToVarMapper
  • 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

Webrev

Link to Webrev Comment

asotona avatar Oct 02 '24 15:10 asotona