Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-4337

Generated createCallSiteArray is too big for JVM

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Patch

    Description

      We are using groovy as a DSL engine and we have a script that is 4000 lines long. We've split it up into several methods, but we still receive an error about 'Invalid method Code length 66090 in class file script1280242156093619159538'. I analyzed the generated code and the issue is that the groovy generated method $createCallSiteArray is too big. This is happening because we have over 8000 entries in our call site array. I've implemented a fix where the initialization of the String array for the callsite array is split up over several methods if it would generate code that is too big. (Patch attached) In our preliminary testing, this has resolved our issue.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            guillaume Guillaume Sauthier
            tschneider Thomas Schneider
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment