Uploaded image for project: 'Commons BCEL'
  1. Commons BCEL
  2. BCEL-209

Bug fixes and improvements to InvokeDynamic and BootStrapMethods implementation

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 6.0
    • None
    • None

    Description

      (Apologies in advance - this is a very large diff.)
      During the past year, both the Apache Commons BCEL team and our group here at the UW independently completed the support for InvokeDynamic . Some things we chose to do the same way, but there are a few items that are quite different. Trying not to be too biased, I believe our method is better. One of the larger differences is your decision to add the abstract class NameSignatureMethod between FieldOrMethod and CPInstruction and then have InvokeDynamic extend from that instead of from InvokeInstruction. To me this seems wrong. In addition to forcing InvokeDynamic to duplicate all the methods from InvokeInstruction and FieldOrMethod, it is awkward that it is the only form of the Invoke Instruction that doesn't derive from InvokeInstruction.

      This patch also includes several methods missing from the current implementation: alternative initializers, toString, and support for the Visitor paradigm.

      There are bug fixes to Constants.java and InstructionFinder.java as well.

      Attachments

        1. counter.diff
          0.6 kB
          Mark Roberts
        2. invoke4.diff
          52 kB
          Mark Roberts

        Issue Links

          Activity

            People

              chonton Charles Honton
              markro Mark Roberts
              Votes:
              2 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: