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

Changes

Summary

  1. Bug 715: Adding unit test w/ 'intArrayCopy(int *dest, int *src, int (details)
  2. Fix Bug 715: Don't modify 'carray' pointer returned from (details)
Commit 47333929fd4e563d61996654d2a435b52b904ef0 by Sven Gothel
Bug 715: Adding unit test w/ 'intArrayCopy(int *dest, int *src, int num)' to test array offset working correct.

The 'carray' pointer returned from GetPrimitiveArrayCritical(..) is moved about the array offset
and used in ReleasePrimitiveArrayCritical(..) to release the pinpointed memory.

Even though this 'is' a bug by violating the _sparse_ specification, Hotspot impl. doesn't use the value at all (NOP)
and hence this code didn't produce an error since .. (Same w/ Dalvik).

A followup commit will fix this issue.
The file was modifiedmake/scripts/runtest.sh (diff)
The file was modifiedsrc/junit/com/jogamp/gluegen/test/junit/generation/test1.c (diff)
The file was modifiedsrc/junit/com/jogamp/gluegen/test/junit/generation/BaseClass.java (diff)
The file was modifiedsrc/junit/com/jogamp/gluegen/test/junit/generation/test1.h (diff)
Commit 86f5e7eac7544d2511b70c2142634c89c69d0594 by Sven Gothel
Fix Bug 715: Don't modify 'carray' pointer returned from GetPrimitiveArrayCritical(..)

The 'carray' pointer returned from GetPrimitiveArrayCritical(..) was moved about the array offset
and used in ReleasePrimitiveArrayCritical(..) to release the pinpointed memory.

Even though this 'is' a bug by violating the _sparse_ specification, Hotspot impl. doesn't use the value at all (NOP)
and hence this code didn't produce an error since .. (Same w/ Dalvik).

Now the array offset is added while passing the carray pointer to the native function call
and hence is no more modified and the orig. value is passed to ReleasePrimitiveArrayCritical(..).

Tested w/ GlueGen unit tests and all JOGL unit tests (on Linux x64 w/ 'a' hotspot VM).
The file was modifiedsrc/java/com/jogamp/gluegen/CMethodBindingEmitter.java (diff)