Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

TPTP-AG-20080205

Revision as of 11:15, 5 February 2008 by Paulslau.ca.ibm.com (Talk | contribs)

Date

  • February 5, 2008

Attendees

  • Present:
  • Paul Slauenwhite
  • Joel Cayne
  • Asaf Yaffe
  • Alexander Alexeev
  • Chris Elford
  • Mikhail Loenko
  • Mr. Levchenko

Topic

Minutes

  • Overview:
    • Java 6 introduced a class file format and a new attribute (StackMapTable) for verifying the method table.
    • Generated during compilation and used to verify type correctness.
    • The TPTP BCI engine changes the byte code of a function needs to recalculate this attribute based on the new control/data flow after the BCI.
    • Java 6 is backward compatible in that if the attribute is incorrect, it falls back to the Java 5 process.
    • However, this backward compatibility is not guaranteed post-Java 1.6.

Questions/Answers

  • Q: What is the arrangement/agreement with the Apache Harmony project? For example, coordinated design/implementation, synchronized release schedules, contacts, implementation split, etc. For TPTP to benefit from this arrangement, we would need to modularize the code in the Harmony project and then request Eclipse legal approval for that module.
  • A:
  • Q: Have you contact the Eclipse JDT Team about using their solution. This code would be relatively easy to access and under the same license.
  • A: Asaf spent some time looking at the JDT source code. It seems that the StackMapTable computation implementation is built into the compilation process and cannot be easily decoupled (for example, the process heavily depends on many data structures and types used by the Java compiler). Things are different in Harmony, where the verification process is quite modular and depends only on abstract interfaces which can be easily implemented on top of the Probekit BCI engine.
  • Q: TPTP should redistribute the binaries for the Harmony module to keep the component separate and reduce built and support costs.
  • A: The Apache Harmony Verification code will be consumed by TPTP as a binary static library which will be linked with the Probekit BCI engine code.
  • Q: Does Apache Harmony support the same platforms as TPTP?
  • A: Apache Harmony currently supports 32/64 bit Windows and Linux. In this sense, it supports the same platforms currently supported by the TPTP JVMTI-based collectors (including the new JVMTI-based Probekit).

Back to the top