From mikael.vidstedt at oracle.com Tue Nov 1 22:03:28 2016 From: mikael.vidstedt at oracle.com (mikael.vidstedt at oracle.com) Date: Tue, 01 Nov 2016 22:03:28 +0000 Subject: hg: panama/panama/jdk: First round of changes for C++ support Message-ID: <201611012203.uA1M3SGA025555@aojmv0008.oracle.com> Changeset: 6c6275535d5f Author: mikael Date: 2016-11-01 15:03 -0700 URL: http://hg.openjdk.java.net/panama/panama/jdk/rev/6c6275535d5f First round of changes for C++ support ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/nicl/NativeLibrary.java + src/java.base/share/classes/java/nicl/RuntimeSupport.java + src/java.base/share/classes/java/nicl/metadata/Bridge.java + src/java.base/share/classes/java/nicl/metadata/ImportUnit.java + src/java.base/share/classes/java/nicl/metadata/LibraryDependencies.java + src/java.base/share/classes/java/nicl/metadata/LibraryDependency.java + src/java.base/share/classes/java/nicl/metadata/Singleton.java + src/java.base/share/classes/java/nicl/metadata/TypeConversion.java + src/java.base/share/classes/java/nicl/metadata/TypeConversions.java ! src/java.base/share/classes/java/nicl/types/Transformer.java ! src/java.base/share/classes/jdk/internal/nicl/CivilizedHeaderImplGenerator.java ! src/java.base/share/classes/jdk/internal/nicl/CompiledMethodImplGenerator.java ! src/java.base/share/classes/jdk/internal/nicl/Errno.java ! src/java.base/share/classes/jdk/internal/nicl/GenericMethodImplGenerator.java ! src/java.base/share/classes/jdk/internal/nicl/HeaderImplGenerator.java ! src/java.base/share/classes/jdk/internal/nicl/MethodInvoker.java ! src/java.base/share/classes/jdk/internal/nicl/NativeLibraryImpl.java + src/java.base/share/classes/jdk/internal/nicl/SymbolLookup.java ! src/java.base/share/classes/jdk/internal/nicl/UnixLibrary.java ! src/java.base/share/classes/jdk/internal/nicl/UpcallHandler.java ! src/java.base/share/classes/jdk/internal/nicl/types/BoundedPointer.java ! src/java.base/share/classes/jdk/internal/nicl/types/ReferenceImpl.java ! test/java/nicl/GlobalVariable.java ! test/java/nicl/System/UnixSystem.java ! test/java/nicl/types/StructTest.java From mikael.vidstedt at oracle.com Tue Nov 1 22:08:58 2016 From: mikael.vidstedt at oracle.com (mikael.vidstedt at oracle.com) Date: Tue, 01 Nov 2016 22:08:58 +0000 Subject: hg: panama/panama/jdk: Remove the last non-final field in GenericMethodImplGenerator Message-ID: <201611012208.uA1M8w0m027032@aojmv0008.oracle.com> Changeset: 9c9745cae509 Author: mikael Date: 2016-11-01 15:08 -0700 URL: http://hg.openjdk.java.net/panama/panama/jdk/rev/9c9745cae509 Remove the last non-final field in GenericMethodImplGenerator ! src/java.base/share/classes/jdk/internal/nicl/GenericMethodImplGenerator.java From mikael.vidstedt at oracle.com Tue Nov 1 22:24:27 2016 From: mikael.vidstedt at oracle.com (mikael.vidstedt at oracle.com) Date: Tue, 01 Nov 2016 22:24:27 +0000 Subject: hg: panama/panama/jdk: Rename MethodInvoker to NativeInvoker Message-ID: <201611012224.uA1MOR5e001880@aojmv0008.oracle.com> Changeset: ee796b92b635 Author: mikael Date: 2016-11-01 15:24 -0700 URL: http://hg.openjdk.java.net/panama/panama/jdk/rev/ee796b92b635 Rename MethodInvoker to NativeInvoker ! src/java.base/share/classes/jdk/internal/nicl/CompiledMethodImplGenerator.java ! src/java.base/share/classes/jdk/internal/nicl/HeaderImplGenerator.java - src/java.base/share/classes/jdk/internal/nicl/MethodInvoker.java + src/java.base/share/classes/jdk/internal/nicl/NativeInvoker.java ! src/java.base/share/classes/jdk/internal/nicl/NativeLibraryImpl.java From mikael.vidstedt at oracle.com Tue Nov 1 22:50:10 2016 From: mikael.vidstedt at oracle.com (mikael.vidstedt at oracle.com) Date: Tue, 01 Nov 2016 22:50:10 +0000 Subject: hg: panama/panama/jdk: UpcallStub returns a Pointer instead of a long Message-ID: <201611012250.uA1MoA4e009776@aojmv0008.oracle.com> Changeset: 21827368e380 Author: mikael Date: 2016-11-01 15:50 -0700 URL: http://hg.openjdk.java.net/panama/panama/jdk/rev/21827368e380 UpcallStub returns a Pointer instead of a long ! src/java.base/share/classes/java/nicl/RuntimeSupport.java ! src/java.base/share/classes/jdk/internal/nicl/CompiledMethodImplGenerator.java ! src/java.base/share/classes/jdk/internal/nicl/NativeInvoker.java ! src/java.base/share/classes/jdk/internal/nicl/NativeLibraryImpl.java ! src/java.base/share/classes/jdk/internal/nicl/UpcallHandler.java ! src/java.base/share/classes/jdk/internal/nicl/UpcallStub.java ! src/java.base/share/classes/jdk/internal/nicl/types/BoundedPointer.java ! src/java.base/share/classes/jdk/internal/nicl/types/ReferenceImpl.java From mikael.vidstedt at oracle.com Tue Nov 1 23:32:32 2016 From: mikael.vidstedt at oracle.com (mikael.vidstedt at oracle.com) Date: Tue, 01 Nov 2016 23:32:32 +0000 Subject: hg: panama/panama/jdk: Minor fixes Message-ID: <201611012332.uA1NWWRt022563@aojmv0008.oracle.com> Changeset: 9b29608f2a1b Author: mikael Date: 2016-11-01 16:32 -0700 URL: http://hg.openjdk.java.net/panama/panama/jdk/rev/9b29608f2a1b Minor fixes ! src/java.base/share/classes/java/nicl/RuntimeSupport.java ! src/java.base/share/classes/jdk/internal/nicl/NativeInvoker.java ! src/java.base/share/classes/jdk/internal/nicl/NativeLibraryImpl.java ! src/java.base/share/classes/jdk/internal/nicl/UnixDynamicLibraries.java From mikael.vidstedt at oracle.com Wed Nov 2 18:07:24 2016 From: mikael.vidstedt at oracle.com (mikael.vidstedt at oracle.com) Date: Wed, 02 Nov 2016 18:07:24 +0000 Subject: hg: panama/panama/jdk: Introducing: Pointer.isNull() Message-ID: <201611021807.uA2I7OFZ022575@aojmv0008.oracle.com> Changeset: d13fbade85fc Author: mikael Date: 2016-11-02 11:07 -0700 URL: http://hg.openjdk.java.net/panama/panama/jdk/rev/d13fbade85fc Introducing: Pointer.isNull() ! src/java.base/share/classes/java/nicl/RuntimeSupport.java ! src/java.base/share/classes/java/nicl/types/Pointer.java ! src/java.base/share/classes/jdk/internal/nicl/UpcallHandler.java ! src/java.base/share/classes/jdk/internal/nicl/types/BoundedPointer.java From mikael.vidstedt at oracle.com Wed Nov 2 20:20:23 2016 From: mikael.vidstedt at oracle.com (mikael.vidstedt at oracle.com) Date: Wed, 02 Nov 2016 20:20:23 +0000 Subject: hg: panama/panama/jdk: Introducing: java.nicl.types.Resource, Scope.allocateArray(), Scope.free(), Scope.handoff() Message-ID: <201611022020.uA2KKNEF026687@aojmv0008.oracle.com> Changeset: c352f8b7593e Author: mikael Date: 2016-11-02 13:20 -0700 URL: http://hg.openjdk.java.net/panama/panama/jdk/rev/c352f8b7593e Introducing: java.nicl.types.Resource, Scope.allocateArray(), Scope.free(), Scope.handoff() ! src/java.base/share/classes/java/nicl/HeapScope.java ! src/java.base/share/classes/java/nicl/NativeScope.java ! src/java.base/share/classes/java/nicl/Scope.java ! src/java.base/share/classes/java/nicl/types/Pointer.java ! src/java.base/share/classes/java/nicl/types/Reference.java + src/java.base/share/classes/java/nicl/types/Resource.java ! src/java.base/share/classes/java/nicl/types/Transformer.java From mikael.vidstedt at oracle.com Wed Nov 2 20:35:35 2016 From: mikael.vidstedt at oracle.com (mikael.vidstedt at oracle.com) Date: Wed, 02 Nov 2016 20:35:35 +0000 Subject: hg: panama/panama/jdk: Remove CompiledMethodImplGenerator Message-ID: <201611022035.uA2KZZ7O029884@aojmv0008.oracle.com> Changeset: d0d2f57b58ac Author: mikael Date: 2016-11-02 13:35 -0700 URL: http://hg.openjdk.java.net/panama/panama/jdk/rev/d0d2f57b58ac Remove CompiledMethodImplGenerator - src/java.base/share/classes/jdk/internal/nicl/CompiledMethodImplGenerator.java ! src/java.base/share/classes/jdk/internal/nicl/HeaderImplGenerator.java ! src/java.base/share/classes/jdk/internal/nicl/NativeInvoker.java From mikael.vidstedt at oracle.com Thu Nov 3 16:28:26 2016 From: mikael.vidstedt at oracle.com (mikael.vidstedt at oracle.com) Date: Thu, 03 Nov 2016 16:28:26 +0000 Subject: hg: panama/panama/jdk: Various cleanups Message-ID: <201611031628.uA3GSQj8027520@aojmv0008.oracle.com> Changeset: bf3a3f940912 Author: mikael Date: 2016-11-03 09:28 -0700 URL: http://hg.openjdk.java.net/panama/panama/jdk/rev/bf3a3f940912 Various cleanups ! src/java.base/share/classes/java/nicl/NativeLibrary.java ! src/java.base/share/classes/java/nicl/RuntimeSupport.java ! src/java.base/share/classes/jdk/internal/nicl/CivilizedHeaderImplGenerator.java ! src/java.base/share/classes/jdk/internal/nicl/CivilizerAutoConversions.java ! src/java.base/share/classes/jdk/internal/nicl/ClassGenerator.java ! src/java.base/share/classes/jdk/internal/nicl/Errno.java ! src/java.base/share/classes/jdk/internal/nicl/FieldsBuilder.java ! src/java.base/share/classes/jdk/internal/nicl/GenericMethodImplGenerator.java ! src/java.base/share/classes/jdk/internal/nicl/GlobalVariableMethodImplGenerator.java ! src/java.base/share/classes/jdk/internal/nicl/HeaderImplGenerator.java ! src/java.base/share/classes/jdk/internal/nicl/NativeInvoker.java ! src/java.base/share/classes/jdk/internal/nicl/NativeLibraryImpl.java ! src/java.base/share/classes/jdk/internal/nicl/SymbolLookup.java ! src/java.base/share/classes/jdk/internal/nicl/UnixDynamicLibraries.java ! src/java.base/share/classes/jdk/internal/nicl/UnixLibrary.java ! src/java.base/share/classes/jdk/internal/nicl/UnsupportedOperationMethodImpl.java ! src/java.base/share/classes/jdk/internal/nicl/UpcallHandler.java ! src/java.base/share/classes/jdk/internal/nicl/UpcallStub.java ! src/java.base/share/classes/jdk/internal/nicl/Util.java ! src/java.base/share/classes/jdk/internal/nicl/abi/AbstractABI.java ! src/java.base/share/classes/jdk/internal/nicl/abi/CallingSequence.java ! src/java.base/share/classes/jdk/internal/nicl/abi/ShuffleRecipe.java ! src/java.base/share/classes/jdk/internal/nicl/abi/SystemABI.java ! src/java.base/share/classes/jdk/internal/nicl/abi/sysv/x64/CallingSequenceBuilderImpl.java ! src/java.base/share/classes/jdk/internal/nicl/abi/sysv/x64/SysVx64ABI.java ! src/java.base/share/classes/jdk/internal/nicl/types/BoundedMemoryRegion.java ! src/java.base/share/classes/jdk/internal/nicl/types/BoundedPointer.java ! src/java.base/share/classes/jdk/internal/nicl/types/Descriptor.java ! src/java.base/share/classes/jdk/internal/nicl/types/LayoutTypeImpl.java ! src/java.base/share/classes/jdk/internal/nicl/types/PointerTokenImpl.java ! src/java.base/share/classes/jdk/internal/nicl/types/ReferenceImpl.java ! src/java.base/share/classes/jdk/internal/nicl/types/UncheckedPointer.java From mikael.vidstedt at oracle.com Fri Nov 4 22:37:05 2016 From: mikael.vidstedt at oracle.com (mikael.vidstedt at oracle.com) Date: Fri, 04 Nov 2016 22:37:05 +0000 Subject: hg: panama/panama/jdk: Use GenericMethodImplGenerator for global variables and civilizer Message-ID: <201611042237.uA4Mb6sr016795@aojmv0008.oracle.com> Changeset: 08483de1c04c Author: mikael Date: 2016-11-04 15:37 -0700 URL: http://hg.openjdk.java.net/panama/panama/jdk/rev/08483de1c04c Use GenericMethodImplGenerator for global variables and civilizer ! src/java.base/share/classes/jdk/internal/nicl/CivilizedHeaderImplGenerator.java - src/java.base/share/classes/jdk/internal/nicl/Civilizer.java - src/java.base/share/classes/jdk/internal/nicl/GlobalVariableMethodImplGenerator.java ! src/java.base/share/classes/jdk/internal/nicl/HeaderImplGenerator.java ! src/java.base/share/classes/jdk/internal/nicl/NativeLibraryImpl.java From mikael.vidstedt at oracle.com Sat Nov 5 00:30:34 2016 From: mikael.vidstedt at oracle.com (mikael.vidstedt at oracle.com) Date: Sat, 05 Nov 2016 00:30:34 +0000 Subject: hg: panama/panama/jdk: Various cleanups Message-ID: <201611050030.uA50UZo2010256@aojmv0008.oracle.com> Changeset: cf402d301c5e Author: mikael Date: 2016-11-04 17:30 -0700 URL: http://hg.openjdk.java.net/panama/panama/jdk/rev/cf402d301c5e Various cleanups ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/nicl/NativeLibrary.java ! src/java.base/share/classes/jdk/internal/nicl/CivilizedHeaderImplGenerator.java ! src/java.base/share/classes/jdk/internal/nicl/HeaderImplGenerator.java ! src/java.base/share/classes/jdk/internal/nicl/NativeInvoker.java ! src/java.base/share/classes/jdk/internal/nicl/NativeLibraryImpl.java - src/java.base/share/classes/jdk/internal/nicl/UnsupportedOperationMethodImpl.java From mikael.vidstedt at oracle.com Sat Nov 5 00:42:02 2016 From: mikael.vidstedt at oracle.com (mikael.vidstedt at oracle.com) Date: Sat, 05 Nov 2016 00:42:02 +0000 Subject: hg: panama/panama/jdk: UpcallStub can call Unsafe methods without using MethodHandles Message-ID: <201611050042.uA50g2VF013192@aojmv0008.oracle.com> Changeset: 0243d8ef6bd1 Author: mikael Date: 2016-11-04 17:41 -0700 URL: http://hg.openjdk.java.net/panama/panama/jdk/rev/0243d8ef6bd1 UpcallStub can call Unsafe methods without using MethodHandles ! src/java.base/share/classes/jdk/internal/nicl/UpcallStub.java From mail at smogura.eu Fri Nov 25 20:51:59 2016 From: mail at smogura.eu (=?utf-8?B?UmFkb3PFgmF3IFNtb2d1cmE=?=) Date: Fri, 25 Nov 2016 20:51:59 +0000 Subject: Faster accessor methods for scalar and primitives Message-ID: Hi all, Please find a change [1] for faster accessor methods for primitive and scalar values (vectors not included). Intention is to dynamically generate optimised versions of val$get and val$set, bypassing calls to ReferenceImpl. And some benchmark results - for calling int i$get. Optimised version Benchmark Mode Cnt Score Error Units GetSetBenchmarks.testMethod thrpt 5 143 476 375.217 ? 32710627.862 ops/s Base version Benchmark Mode Cnt Score Error Units GetSetBenchmarks.testMethod thrpt 5 5 719 246.446 ? 1760481.429 ops/s References [1] Webrev - http://smogura.eu/webrevs/fast-accessors-for-scalars/webrev/ Best regards, Radek Smogura From mail at smogura.eu Fri Nov 25 21:16:48 2016 From: mail at smogura.eu (=?utf-8?B?UmFkb3PFgmF3IFNtb2d1cmE=?=) Date: Fri, 25 Nov 2016 21:16:48 +0000 Subject: Trivial fix for library loading Message-ID: <53903247-8303-4ABC-8DC8-48812CBC87B7@smogura.eu> Hi, Here is a trivial fix for loading libraries, the exception was always thrown when library couldn?t be found on the first searched path. http://smogura.eu/webrevs/fix-library-loading/webrev/index.html Best regards, Radek