Ship jdk7 ct.sym with jdk8?
Joseph Darcy
joe.darcy at oracle.com
Fri Mar 15 18:15:59 PDT 2013
On 3/15/2013 3:01 AM, Peter Levart wrote:
> On 03/13/2013 07:24 PM, Joe Darcy wrote:
>> On 3/12/2013 1:47 AM, Joel Borggrén-Franck wrote:
>>> Hi Jon, Martin, all,
>>>
>>> On 03/12/2013 12:35 AM, Jonathan Gibbons wrote:
>>>> On 03/11/2013 04:29 PM, Martin Buchholz wrote:
>>>>> If you want to build some java software that targets jdk6, the
>>>>> natural way
>>>>> to do it is via -target 6. But then javac will complain it also
>>>>> wants
>>>>> -source 6 (that's easy to fix) but also a bootclasspath for jdk6,
>>>>> which is
>>>>> harder for the user to provide.
>>>>>
>>>>> One obvious way to make the user's life easier is to ship a ct6.sym,
>>>>> ct7.sym, ct8.sym,
>>>>> where each .sym contains the deltas relative to the previous version.
>>>>> Then we could have -target 6 default to compiling against
>>>>> ct6.sym, while
>>>>> -target 8 will default to ct8.sym:ct7.sym:ct6.sym
>>>>>
>>>>> Perhaps you are already doing this kind of thing to support
>>>>> profiles in jdk8?
>>>>
>>>> It would be logistically hard to include binary products from
>>>> earlier builds
>>>> in the current build.
>>>>
>>>
>>> Why? It is just a file. If we want to make javac a more robust cross
>>> compiler (and I think we should) we should fix the logistics until
>>> we can do what we want.
>>
>> As a rule, the JDK Hg repos do *not* include binary files, just
>> source files. Therefore, there could be logistical issues in simply
>> storing the old ct.sym files in the repo. We'd ultimately want to use
>> some kind of implicit or explicit diff-based compression of the
>> cross-version information.
>
> ct.sym of JDK7 compressed with pack200 is 1.2MB. Base64 encoded is
> 1.7MB... To big for Hg to handle?
>
The size of the files is a bit of a concern, but it is mostly a policy
issue in the sense of an open source repo should contain explicitly
licensed, human-readable files rather than opaque binaries. (It would be
technically possible to uuencode/ascii-armor the binary and include a
license, but that has certain a certain awkwardness too.)
-Joe
More information about the compiler-dev
mailing list