Use of JCP site is subject to the
JCP Terms of Use and the
Oracle Privacy Policy
|
JSRs: Java Specification Requests
JSR 202: JavaTM Class File Specification Update
JCP version in use: 2.6 Java Specification Participation Agreement version in use: 2.0 Description: This JSR will make incremental updates to the JavaTM class file format. This will principally consist of increasing certain class file size limits and adding support for split verification. Please direct comments on this JSR to the Spec Lead(s) Team
The following updates have been made to the original request. 2010.02.15:
Maintenance Lead: Alex Buckley 2006.10.24 2.15 Please provide a description of the business terms for the Specification, RI and TCK that will apply when this JSR is final.This RI and TCK for this JSR will be delivered as part of RI and TCK for Java SE 6 (JSR 270), respectively. The proposed Java SE 6 licensing terms are available here: http://jcp.org/en/jsr/detail?id=2702006.10.12
2.13 Please describe how the RI and TCK will de delivered, i.e. as part of a profile or platform edition, or stand-alone, or both. Include version information for the profile or platform in your answer.We plan to include the RI and TCK as part of Java SE 6. 2.15 Please provide a description of the business terms for the Specification, RI and TCK that will apply when this JSR is final.This RI and TCK for this JSR will be delivered as part of RI and TCK for Java SE 6 (JSR 270), respectively. The proposed Java SE 6 licensing terms are available here Original Java Specification Request (JSR)
Identification |
Request |
Contributions
Section 1. Identification Submitting Member: Sun Microsystems, Inc Name of Contact Person: E-Mail Address: Telephone Number: Fax Number: Specification Lead: E-Mail Address: Telephone Number: Fax Number: Note that this information has been updated from this original proposal. Initial Expert Group Membership:
Supporting this JSR: Apple Computer Section 2: Request
2.1 Please describe the proposed Specification:This JSR will revise the JavaTM Virtual Machine Specification by making some incremental updates to the Java class file specification. This work is targeted at the J2SE 1.5 "Tiger" release. The four planned updates are:
These four changes will be implemented as incremental updates to the existing class file format. Full compatibility will be maintained for existing class files and the existing class file format. 2.2 What is the target Java platform? (i.e., desktop, server, personal, embedded, card, etc.)J2SE. 2.3 What need of the Java community will be addressed by the proposed specification?This JSR will provide some useful updates to the JavaTM class file specification as described in Sections 2.1 and 2.5. 2.4 Why isn't this need met by existing specifications?The current JVM specification needs to be revised to add these features. 2.5 Please give a short description of the underlying technology or technologies:The existing J2SE class file verifier needs to execute a complex iterative dataflow algorithm at run-time to verify the correctness of a target class file. This algorithm is expensive in both time and space and is also difficult to fully specify. As part of the development of the Connected Limited Device Confguration (CLDC) the CLDC team wished to avoid the time and space penalties of performing full verification within small devices. They therefore developed a "split verifier" which split the verification process into two phases:
The discovery of this "split verifier" technology has come as a pleasant surprise. It significantly simplifies the security-critical run-time verification phase and it also accelerates class-loading. These benefits are useful well beyond CLDC and and it appears beneficial to allow the split-verifier technology to be used with J2SE. 2.6 Is there a proposed package name for the API Specification? (i.e., javapi.something, org.something, etc.)Not applicable. 2.7 Does the proposed specification have any dependencies on specific operating systems, CPUs, or I/O devices that you know of?No 2.8 Are there any security issues that cannot be addressed by the current security model?No 2.9 Are there any internationalization or localization issues?No 2.10 Are there any existing specifications that might be rendered obsolete, deprecated, or in need of revision as a result of this work?No other specifications will be affected. There will be full support for backward compatibility. Old format class files will still be supported by new VMs. 2.11 Please describe the anticipated schedule for the development of this specification.It is intended that this JSR will be delivered as part of the J2SE 1.5 "Tiger" release. 2.12 Please describe the anticipated working model for the Expert Group working on developing this specification.It is anticipated that most discussions will be by email. 2.13 Please describe how the RI and TCK will de delivered, i.e. as part of a profile or platform edition, or stand-alone, or both. Include version information for the profile or platform in your answer.This JSR will be delivered as part of J2SE 1.5 "Tiger". NOTE that this section has been updated from this original request. 2.14 Please state the rationale if previous versions are available stand-alone and you are now proposing in 2.13 to only deliver RI and TCK as part of a profile or platform edition (See sections 1.1.5 and 1.1.6 of the JCP 2 document).N/A. 2.15 Please provide a description of the business terms for the Specification, RI and TCK that will apply when this JSR is final.This JSR will be delivered as part of J2SE 1.5 "Tiger". The proposed J2SE 1.5 licensing terms are available at J2SE 1.5 licensing terms.
NOTE that this section has been updated from this original request.
Section 3: Contributions
3.1 Please list any existing documents, specifications, or implementations that describe the technology. Please include links to the documents if they are publicly available.A detailed paper on the split-verifier techology "CLDC Byte Code Typechecker Specification" by Gilad Bracha, Tim Lindholm, Wei Tao, and Frank Yellin is included as Appendix 1 within the draft http://jcp.org/en/jsr/detail?id=139 CLDC 1.1 specification which is currently in JCP Public Review. |