aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/com/jogamp/gluegen/runtime
Commit message (Collapse)AuthorAgeFilesLines
* Refine commit 12feaa7d3b1544098f684d851e3caff1ec88cbc8: Add 'throws ↵Sven Gothel2015-02-052-6/+9
| | | | SecurityException' decl., remove dead code, remove redundant check.
* Refine Native Library Code: Bulk Permissions, Cleanup DynamicLinker impl. - ↵Sven Gothel2015-01-301-8/+10
| | | | | | | | | | | | | | | and fix Android AArch64 BionicDynamicLinker (Bug 1122) - Bulk Permissions ProcAddressTable.reset(..) performs address lookup in one block. Now claiming all permissions upfront once, and releasing them afterwards. - Cleanup DynamicLinker impl. Proper top-down impl. of DynamicLinkerImpl, handling all security code and validations. - Fix Android AArch64 BionicDynamicLinker (Bug 1122) Dalvik uses diff RTLD_* defines for AArch64!
* Code Clean-Up based on our Recommended Settings (jogamp-scripting ↵Sven Gothel2014-07-031-21/+21
| | | | | | | | | | | | | | | c47bc86ae2ee268a1f38c5580d11f93d7f8d6e74) Code Clean-Up based on our Recommended Settings (jogamp-scripting c47bc86ae2ee268a1f38c5580d11f93d7f8d6e74) - Change non static accesses to static members using declaring type - Change indirect accesses to static members to direct accesses (accesses through subtypes) - Add final modifier to private fields - Add final modifier to method parameters - Add final modifier to local variables - Remove unnecessary casts - Remove unnecessary '$NON-NLS$' tags - Remove trailing white spaces on all lines
* gluegen: add all missing @Override annotationsHarvey Harrison2013-10-171-0/+3
| | | | Signed-off-by: Harvey Harrison <[email protected]>
* gluegen: remove trailing whitespaceHarvey Harrison2013-10-172-23/+23
| | | | Signed-off-by: Harvey Harrison <[email protected]>
* ProcAddressTable: Fix regressions: getField(..) -> getDeclaredField(..), ↵Sven Gothel2013-06-211-13/+38
| | | | incl. access check; Utilize 'AccessibleObject.setAccessible(Field[], true)' for performance.
* ProcAddressTable: If using a SecurityManager 'checkAllLinkPermission()' ↵Sven Gothel2013-06-211-6/+19
| | | | instead of 'checkAllPermissions' if accessing the cached function handles.
* Fix regression of f69831574d4927d03d40c330d0b047d8c89622a4: Use ↵Sven Gothel2013-06-211-3/+5
| | | | getDeclaredField() and setAccessible(true) due to package private handle fields.
* ProcAddressTable: Make all handles package private, use local ↵Sven Gothel2013-06-201-31/+62
| | | | | | | | PROCADDRESS_VAR_PREFIX instance, add checkAllPermissions() for reset() and initEntry(..) - Generated ProcAddressTable's function handles are all package private - Generated ProcAddressTable's visibility can be set via 'AccessControl' config, default: public. - ProcAddressTable's reset() and initEntry(..) perform checkAllPermissions() 1st.
* gluegen: remove executable bit from java and c source filesHarvey Harrison2013-04-091-0/+0
| | | | Signed-off-by: Harvey Harrison <[email protected]>
* Fix generics ..Sven Gothel2012-04-141-12/+10
|
* gluegen-rt lib loading: Moved to Platform static init incl. ↵Sven Gothel2011-09-221-62/+0
| | | | | | | | | | | | | | | | TempJarCache.bootstrapNativeLib(..) usage - Moving to Platform solves former interdependencies between GlueGenJNILibLoader/Platform - TempJarCache is being setup w/ bootstraping the gluegen-rt native lib jar file. Interesting here is that when using Oracle's JRE w/ Applets/JNLP the current dbg output is: gluegen-rt: url-root http://risa/deployment/test/jau02s/jar/ gluegen-rt: nativeJarURL jar:http://risa/deployment/test/jau02s/jar/gluegen-rt-natives-linux-amd64.jar!/ gluegen-rt: nativeJar /home/sven/.java/deployment/cache/6.0/49/3c6d1e31-2c90f42e IE the JRE implementation already deduces the online link to the Applet/JNLP cache. This makes the implementation much simpler, ie. same for application and Applets/JNLP. Have to verify w/ other Java impl. sure - and add same logic for the JOGL part.
* Unify JNI Library Loading into JNILibLoaderBase and use it for the ↵Sven Gothel2011-09-212-120/+62
| | | | | | | | gluegen-rt native lib as well - removed redundance - move proper JNLPAppletLauncher custom libloader code into JNILibLoaderBase - prepares for new JAR temp cache ..
* Remove redundant: NativeLibrary.ensureNativeLibLoaded()Sven Gothel2011-09-201-0/+1
|
* NativeLibLoader: Handle case where prev. Applet used JNLPAppletLauncher, ↵v2.0-rc3Sven Gothel2011-09-161-20/+34
| | | | setting it's magic property. Subsequent Applets may not use JNLPAppletLauncher, but property is still set.
* Reversed Type relocation ; Minor fixSven Gothel2011-07-2121-2372/+0
| | | | | | | Reversed Type relocation (commit 92d6c9dc5fa72b01703456452c60822f36c14fff) from com.jogamp.gluegen.runtime.types back to com.jogamp.gluegen.cgram.types Enabled MemoryLayoutType.setLayouted(), avoiding double layout
* GlueGen proper size / alignment of primitive and compound types usage [2/2] ↵Sven Gothel2011-07-211-16/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | - Fin MachineDesction == MD MD.StaticConfig: - enum for all supported static configs (ID -> MD) - verified at runtime: test runtime queried-MD versus static-MD, hard fail if not compatible (size/alignment) SizeThunk primitive sizes: - Add notion of fixed native size (eg. int64_t) and otherwise (eg. long) java struct 'wrappers' code generation: - single class using size/offset arrays of all MachineDescription configurations - at runtime the array idx is queried in static block - type aligment for not fixed-native-size types (SizeThunk, undef long/int) via StructAccessor junit test: - add float test - fix native code - add java (create, write) -> native (verify) test works (tested) on: linux 32/64 and windows 32/64
* minor refinementSven Gothel2011-07-201-2/+0
|
* Fix bad file rename/move: .jav -> .javaSven Gothel2011-07-181-0/+0
|
* - Moved most types and StructLayout to runtime package:Sven Gothel2011-07-1821-0/+2371
| | | | | | | | | | | | | | | | | | | | | 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
* DoubleCheckLocking: Added 'ok' comment - volatile varSven Gothel2011-02-261-1/+1
|
* RELOCATION: GlueGen OpenGL parts back to JoglSven Gothel2010-11-062-255/+0
|
* Updated list of OpenGL extension vendor suffixesSven Gothel2010-11-041-0/+6
|
* LICENSE.txt changes:Sven Gothel2010-09-142-49/+51
| | | | | | | | | | | | | - Added JogAmp Community and common denominator: New BSD 3-clause license - Added note to make/lib binary file (source and license) Added source and license text for external binaries used in build process (make/lib folder). Changed 'Sven Gothel' and 'Michael Bien' New BSD 3-clause license to 'JogAmp Community' Simplified BSD 2-clause license.
* another round of ProcAddressTable refactoring.Michael Bien2010-06-201-30/+147
| | | | | | | - moved getAddressFor() from generated table to ProcAddressTable - added initEntry() to e.g. eagerly initialize one single entry (e.g. clGetExtensionFunctionAddress which must be available first) - several utility methods mostly usefull for debugging - cleanup
* Adding DynamicLibraryBundle utility to bundle Tool and JNI native library ↵Sven Gothel2010-06-101-2/+5
| | | | | | | | | | | | | | loading and lookup Add JNILibLoaderBase.loadLibrary(String libname, boolean ignoreError); DynamicLibraryBundle provides Tool and JNI native library loading and lookup New classes: com.jogamp.common.os.DynamicLibraryBundle com.jogamp.common.os.DynamicLibraryBundleInfo com.jogamp.common.util.MiscUtils.java Change: DEBUG/VERBOSE properties 'gluegen' -> 'jogamp'
* Fix GLProcAddressResolver regression: Loop through all names until found or ↵Sven Gothel2010-04-271-8/+8
| | | | n/a. Return 0 if not found, no Exception
* renamed method.Michael Bien2010-04-241-3/+3
|
* Refactored ProcAddressTable generation.Michael Bien2010-04-245-238/+229
| | | | | - ProcAddressTable is now the common superclass for all tables - Removed ProcAddressHelpers and added FunctionAddressResolver extension mechanism
* introduced com.jogamp.common.{nio,os} packages and moved some classes.Michael Bien2010-03-3118-2707/+2
|
* introduced internal NativeBuffer interface, this can be made public as soon ↵Michael Bien2010-03-303-2/+50
| | | | | | we move to java language level 5. removed accidentally commited verbose javac property in build-junit.xml.
* http://www.jogamp.org/bugzilla/show_bug.cgi?id=392Sven Gothel2010-03-301-0/+52
| | | | | | | | | | | | | | | | | | 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 ..
* Merge branch 'master' of github.com:mbien/gluegenSven Gothel2010-03-301-5/+30
|\
| * added sizeOfBufferElem(Buffer buf) to Buffers.Michael Bien2010-03-291-4/+29
| |
| * made conctructor protected.Michael Bien2010-03-291-1/+1
| |
* | http://www.jogamp.org/bugzilla/show_bug.cgi?id=389Sven Gothel2010-03-302-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Resolved conflictsSven Gothel2010-03-297-19/+353
|\|
| * renamed BufferFactory into Buffers.Michael Bien2010-03-293-6/+6
| |
| * moved several common utility methods from JOGL's BufferUtil to GlueGen's ↵Michael Bien2010-03-293-9/+343
| | | | | | | | BufferFactory.
* | New Int64Buffer type, which is being used for gluegen 'long *'Sven Gothel2010-03-295-1/+347
| |
* | Merge CPU to PlatformSven Gothel2010-03-285-112/+67
|/
* (part2) merged all cdc_fp special cases into one common superclass for each ↵Michael Bien2010-03-2810-1223/+949
| | | | | | | special case. introduced Platform as utility for querying platform information. special cdc build with cdc_fp bootclasspath temporary dissabled.
* (part 1) merged all cdc_fp special cases into one common superclass for each ↵Michael Bien2010-03-283-0/+0
| | | | | | | special case. introduced Platform as utility for querying platform information. special cdc build with cdc_fp bootclasspath temporary dissabled.
* Merge with mbien's 2ea8c93d5fd27207872b97c964e3f8af5ac850c6Sven Gothel2010-03-281-3/+3
|
* renamed com.sun.gluegen.runtime -> com.jogamp.gluegen.runtime.Michael Bien2010-03-2719-0/+2874