aboutsummaryrefslogtreecommitdiffstats
path: root/src/classes/com/sun/gluegen/GlueEmitter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/classes/com/sun/gluegen/GlueEmitter.java')
-rw-r--r--src/classes/com/sun/gluegen/GlueEmitter.java21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/classes/com/sun/gluegen/GlueEmitter.java b/src/classes/com/sun/gluegen/GlueEmitter.java
index d6f5fede8..e21bc8764 100644
--- a/src/classes/com/sun/gluegen/GlueEmitter.java
+++ b/src/classes/com/sun/gluegen/GlueEmitter.java
@@ -50,8 +50,25 @@ public interface GlueEmitter {
public void readConfigurationFile(String filename) throws Exception;
- /** Set the description of the underlying hardware. */
- public void setMachineDescription(MachineDescription md);
+ /** Sets the description of the underlying hardware. "md32"
+ specifies the description of a 32-bit version of the underlying
+ CPU architecture. "md64" specifies the description of a 64-bit
+ version of the underlying CPU architecture. At least one must be
+ specified. When both are specified, the bulk of the glue code is
+ generated using the 32-bit machine description, but structs are
+ laid out twice and the base class delegates between the 32-bit
+ and 64-bit implementation at run time. This allows Java code
+ which can access both 32-bit and 64-bit versions of the data
+ structures to be included in the same jar file. <P>
+
+ It is up to the end user to provide the appropriate opaque
+ definitions to ensure that types of varying size (longs and
+ pointers in particular) are exposed to Java in such a way that
+ changing the machine description does not cause different shared
+ glue code to be generated for the 32- and 64-bit ports.
+ */
+ public void setMachineDescription(MachineDescription md32,
+ MachineDescription md64);
/**
* Begin the emission of glue code. This might include opening files,