diff options
author | Sven Gothel <[email protected]> | 2011-07-18 03:48:41 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2011-07-18 03:48:41 +0200 |
commit | 92d6c9dc5fa72b01703456452c60822f36c14fff (patch) | |
tree | e55cbda96c4f9805b0f7303c6589edfa949e38b9 /src/java/com/jogamp/gluegen/JavaEmitter.java | |
parent | 8fc841257cae6b49399b29dfa53e3e834d27cabb (diff) |
- Moved most types and StructLayout to runtime package:
com.jogamp.gluegen.cgram.types -> com.jogamp.gluegen.runtime.types
This is required for desired runtime memory layout.
- Split CompoundType to StructType + UnionType
- StructLayout:
- Utilizing SizeThunk alignment
- Alignment
1) Natural type alignment
2) Add Size
3) Trailing padding w/ largest element alignment
- Only perform memory layout once for type.
Status:
- Unit test passes w/ static MachineDescriptor64Bit
- FIXME static 32bit is faulty, uses 64bit size/alignment
- TODO runtime struct layout to please all platforms w/o worrying
Diffstat (limited to 'src/java/com/jogamp/gluegen/JavaEmitter.java')
-rw-r--r-- | src/java/com/jogamp/gluegen/JavaEmitter.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/java/com/jogamp/gluegen/JavaEmitter.java b/src/java/com/jogamp/gluegen/JavaEmitter.java index d92e589..a3ee962 100644 --- a/src/java/com/jogamp/gluegen/JavaEmitter.java +++ b/src/java/com/jogamp/gluegen/JavaEmitter.java @@ -49,6 +49,14 @@ import java.util.*; import java.text.MessageFormat; import com.jogamp.gluegen.cgram.types.*; +import com.jogamp.gluegen.runtime.types.CompoundType; +import com.jogamp.gluegen.runtime.types.Field; +import com.jogamp.gluegen.runtime.types.FunctionType; +import com.jogamp.gluegen.runtime.types.PointerType; +import com.jogamp.gluegen.runtime.types.SizeThunk; +import com.jogamp.gluegen.runtime.types.StructLayout; +import com.jogamp.gluegen.runtime.types.Type; + import java.nio.Buffer; import java.util.logging.Logger; @@ -1424,7 +1432,7 @@ public class JavaEmitter implements GlueEmitter { private StructLayout getLayout() { if (layout == null) { - layout = StructLayout.createForCurrentPlatform(); + layout = StructLayout.create(0); } return layout; } |