Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6491544

Compiling try-finally within code size limit

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: P4 P4
    • tbd
    • 6
    • tools
    • Fix Understood
    • generic
    • generic

      The amount of code per method is limited to 64K bytes by the sizes of the indices
      in the exception_table of the Code attribute, in the LineNumberTable attribute,
      in the LocalVariableTable attribute, and in the StackMapTable attribute (JVMS 2nd
      edition 4.10).

      After inlining subroutine code (4640034), some applications with extreme styles
      such as deeply nested finally blocks, or huge amount of exiting paths in try or
      synchronized blocks, would fail to compile because code size exceeds limit.
      It was temporarily fixed in JDK 1.4.2 by introducing a command-line flag to
      control how much inlining happens for finally blocks (4739388). After jsr/ret
      instructions are eliminated in JDK 6, the above workaround will no longer work.

            Unassigned Unassigned
            wtaosunw Wei Tao (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Imported:
              Indexed: