Skip to content
The Jenkins Controller is preparing for shutdown. No new builds can be started.
Success

Changes

Summary

  1. Merge CPU to Platform (details)
  2. New Int64Buffer type, which is being used for gluegen 'long *' (details)
  3. Resolved conflicts (details)
  4. http://www.jogamp.org/bugzilla/show_bug.cgi?id=389 (details)
  5. Merge branch 'master' of github.com:mbien/gluegen (details)
  6. http://www.jogamp.org/bugzilla/show_bug.cgi?id=392 (details)
Commit 2138fc787c1e497be7f373aa68b3f751c955008f by Sven Gothel
New Int64Buffer type, which is being used for gluegen 'long *'
Commit 7220416bcef3140883d3966d921442feae3107c4 by Sven Gothel
http://www.jogamp.org/bugzilla/show_bug.cgi?id=389

32bit/64bit values and arrays are misrepresented

- PointerBuffer is used to map 64bit integer values,
  which is illegal due to the latest PointerBuffer changes,
  where the underlying ByteBuffer is either 32bit wide
  or 64bit wide (in respect to the pointer size).

  The PointerBuffer semantic itself is correct,
  but no more suitable to represent 64bit values and arrays.

  A Int64Buffer (LongBuffer does not exist in CDC/CVM patch)
  should be used instead.

- Determine use of Int64Buffer and PointerBuffer

  Assuming the 1st step being solved, it has to determined
  for which cases gluegen shall map a type to a PointerBuffer.

  All pointer pointer types, regardless of a Opaque mapping, ie:

  +++
  typedef struct __MYAPIConfig * MYAPIConfig;

  Opaque long MYAPIConfig

  void foo(MYAPIConfig * ptrarray);
  +++

  The argument 'ptrarray' must be represented as a PointerBuffer
  otherwise data is misrepresented in case:
    - 32bit machines _and_
    - array semantics - more than one value is being used

  Impl:
    java/com/sun/gluegen/JavaEmitter.java:
        - Checks ptr-ptr for Opaque values
        - Returns PointerBuffer mapping for ptr-ptr types
        - Allow PointerBuffer being mapped as String[]

    Very elaborated tests .. :)

++++++++++++

Misc Changes:

- Added <Type>.put(<Type>Buffer src)  for Int64Buffer/PointerBuffer
Commit dadccfbd5641e08c4201ef58145f40d71b0ea76d by Sven Gothel
Merge branch 'master' of github.com:mbien/gluegen
Commit 84e5ba7a4821469f43c0f4bbeaa8e383b203d050 by Sven Gothel
http://www.jogamp.org/bugzilla/show_bug.cgi?id=392

32bit/64bit values and arrays are misrepresented

- PointerBuffer: Adding methods
    PointeRBuffer referenceBuffer(int index, Buffer data)
    PointeRBuffer referenceBuffer(Buffer data)

    Buffer getReferencedBuffer(int index)
    Buffer getReferencedBuffer()

  Adding a reference of a given direct Buffer
  to this pointer buffer, and retrieving a
  previously referenced direct Buffer.

  This allows a more convenient handling of PointerBuffer
  with the user API's ..