Uploaded image for project: 'Byteman'
  1. Byteman
  2. BYTEMAN-186

AFTER CALL rules which assign $! may suffer from verify error

    Details

      Description

      When an AFTER CALL rule assigns $! the return value on the stack at the trigger injection point should be replaced with the assigned value. Since the value is stored in an Object array this may require casting or unboxing. The trigger code generator schedules planting of a cast/unbox operation but it passes the return type of the trigger method. Thsi is appropriate for an AT EXIT rule where the tyep of $! is the type of the trigger method. However, for an AFTER CALL rule the correct type is the type of the method which has just been called. So, where this type differs from the trigger method type the generated trigger code will suffer from a verify error.

      This was not caught during testing because the test suite includes a test for assignment of $! in an AT EXIT rule but not in an AFTER CALL rule. A bugfix test shoudl be added to the test suite.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                adinn Andrew Dinn
                Reporter:
                adinn Andrew Dinn
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: