/hg/icedtea8-forest/hotspot: 63 new changesets
andrew at icedtea.classpath.org
andrew at icedtea.classpath.org
Tue Jul 26 03:56:34 UTC 2016
changeset 0f47eef348e2 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=0f47eef348e2
author: andrew
date: Wed Jul 20 00:14:17 2016 +0100
PR3078: Remove duplicated line dating back to 6788347 and 6894807
changeset 03cf8606fc7f in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=03cf8606fc7f
author: andrew
date: Mon Jul 25 06:02:58 2016 +0100
Added tag icedtea-3.1.0pre04 for changeset 0f47eef348e2
changeset dfe33f6d046b in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=dfe33f6d046b
author: asaha
date: Thu Mar 31 11:40:36 2016 -0700
Added tag jdk8u92-b14 for changeset 24a09407d71b
changeset 162854aad3a7 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=162854aad3a7
author: asaha
date: Mon Jan 11 13:58:51 2016 -0800
Added tag jdk8u81-b00 for changeset b374548dcb48
changeset 34dc7de026c1 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=34dc7de026c1
author: kevinw
date: Fri Jan 15 22:33:15 2016 +0000
8132051: Better byte behavior
Reviewed-by: coleenp, roland
changeset dceb9ec3b9b9 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=dceb9ec3b9b9
author: kevinw
date: Tue Jan 19 15:35:12 2016 +0000
8147567: InterpreterRuntime::post_field_access not updated for boolean in JDK-8132051
Reviewed-by: coleenp
changeset dbc6706b206c in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=dbc6706b206c
author: asaha
date: Tue Jan 26 08:36:21 2016 -0800
Added tag jdk8u40-b33 for changeset e6aa4a8c1b46
changeset bd18d7ff1a4e in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=bd18d7ff1a4e
author: asaha
date: Tue Jan 26 10:24:49 2016 -0800
Merge
changeset 737b321e6f0e in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=737b321e6f0e
author: simonis
date: Wed Jan 27 15:01:46 2016 +0100
8148487: PPC64: Better byte behavior
Reviewed-by: goetz, mdoerr
changeset a5b78b56841e in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=a5b78b56841e
author: aefimov
date: Sat Jan 30 15:47:29 2016 +0300
Merge
changeset 1c7a0413e1f3 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=1c7a0413e1f3
author: asaha
date: Sun Jan 31 10:07:50 2016 -0800
Added tag jdk8u74-b31 for changeset a5b78b56841e
changeset 4cd449d96635 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=4cd449d96635
author: asaha
date: Thu Feb 04 15:13:49 2016 -0800
Merge
changeset aa6d8e03b258 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=aa6d8e03b258
author: asaha
date: Fri Feb 05 23:10:25 2016 -0800
Merge
changeset 3d1d360bef82 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=3d1d360bef82
author: kevinw
date: Mon Feb 08 13:08:57 2016 +0000
8148475: Missing SA Bytecode updates.
Reviewed-by: coleenp
changeset 3f03f54d9e9f in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=3f03f54d9e9f
author: kevinw
date: Wed Feb 10 13:34:14 2016 +0000
8149170: Better byte behavior for native arguments
Summary: Arguments coming from native should be converted to 0=false, 1-255=true
Reviewed-by: coleenp
changeset d14e327c9b6a in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=d14e327c9b6a
author: asaha
date: Thu Feb 18 09:49:33 2016 -0800
Merge
changeset 20dbd8a8e6b7 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=20dbd8a8e6b7
author: asaha
date: Thu Feb 18 10:02:52 2016 -0800
Merge
changeset 81f376fd8bd4 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=81f376fd8bd4
author: asaha
date: Mon Feb 22 13:39:47 2016 -0800
Merge
changeset edff9941089d in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=edff9941089d
author: asaha
date: Mon Feb 22 14:05:11 2016 -0800
Merge
changeset acd9e834210f in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=acd9e834210f
author: kevinw
date: Tue Feb 23 23:47:11 2016 +0000
8149367: PolicyQualifierInfo/index_Ctor JCk test fails with IOE: Invalid encoding for PolicyQualifierInfo
Summary: fix incorrect code
Reviewed-by: kvn, coleenp
changeset 815f531cc78b in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=815f531cc78b
author: coleenp
date: Sun Feb 21 08:33:59 2016 -0500
8150012: Better byte behavior for reflection
Reviewed-by: kvn, jrose, kevinw, ahgross
changeset 07eef5b14c37 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=07eef5b14c37
author: kevinw
date: Wed Feb 24 11:44:21 2016 +0000
Merge
changeset 94ec11846b18 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=94ec11846b18
author: thartmann
date: Wed Jan 27 09:02:51 2016 +0100
6675699: need comprehensive fix for unconstrained ConvI2L with narrowed type
Summary: Emit CastII to make narrow ConvI2L dependent on the corresponding range check.
Reviewed-by: kvn, roland
changeset 8d5528e7963f in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=8d5528e7963f
author: asaha
date: Tue Feb 23 09:27:43 2016 -0800
Added tag jdk8u74-b32 for changeset 94ec11846b18
changeset c42cb5db3601 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=c42cb5db3601
author: asaha
date: Tue Mar 01 15:19:31 2016 -0800
Merge
changeset 59806927fa4d in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=59806927fa4d
author: asaha
date: Tue Mar 01 15:34:20 2016 -0800
Merge
changeset 396186c0342b in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=396186c0342b
author: asaha
date: Wed Mar 02 12:31:06 2016 -0800
Merge
changeset 2682cce3684b in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=2682cce3684b
author: kevinw
date: Wed Mar 02 19:16:30 2016 +0000
8146518: Zero interpreter broken with better byte behaviour
Reviewed-by: coleenp
changeset 3fc2faf6efc9 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=3fc2faf6efc9
author: asaha
date: Tue Mar 22 21:56:13 2016 -0700
Merge
changeset 493ab9e0773f in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=493ab9e0773f
author: asaha
date: Tue Mar 22 22:31:28 2016 -0700
Merge
changeset d5acb1fc70f5 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=d5acb1fc70f5
author: asaha
date: Wed Mar 23 14:26:17 2016 -0700
Added tag jdk8u101-b00 for changeset b374548dcb48
changeset ead07188d111 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=ead07188d111
author: asaha
date: Wed Mar 23 14:43:24 2016 -0700
Merge
changeset 6bd69608ca93 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=6bd69608ca93
author: asaha
date: Mon Mar 28 11:31:43 2016 -0700
Added tag jdk8u101-b01 for changeset ead07188d111
changeset 4fc39d24d00e in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=4fc39d24d00e
author: asaha
date: Thu Mar 31 14:04:14 2016 -0700
Merge
changeset 0d5597f44603 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=0d5597f44603
author: asaha
date: Mon Mar 21 14:58:37 2016 -0700
Merge
changeset 51c505229e71 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=51c505229e71
author: igerasim
date: Wed Feb 17 13:40:12 2016 +0300
8081778: Use Intel x64 CPU instructions for RSA acceleration
Summary: Add intrinsics for BigInteger squareToLen and mulAdd methods.
Reviewed-by: kvn, jrose
changeset 5601e440e5e7 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=5601e440e5e7
author: vkempik
date: Fri Mar 04 16:15:48 2016 +0300
8130150: Implement BigInteger.montgomeryMultiply intrinsic
Reviewed-by: kvn, mdoerr
changeset 4abc54f62213 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=4abc54f62213
author: vkempik
date: Wed Mar 09 19:51:23 2016 +0300
8151522: Disable 8130150 and 8081778 intrinsics by default
Reviewed-by: kvn
changeset dd8507f51d78 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=dd8507f51d78
author: vkempik
date: Fri Mar 18 17:23:07 2016 +0300
8152098: Fix 8151522 caused test compiler/intrinsics/squaretolen/TestSquareToLen.java to fail
Reviewed-by: kvn
changeset 73666857cf0a in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=73666857cf0a
author: asaha
date: Tue Mar 22 12:00:51 2016 -0700
Added tag jdk8u77-b31 for changeset dd8507f51d78
changeset 445941ba41c0 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=445941ba41c0
author: asaha
date: Thu Mar 31 14:23:12 2016 -0700
Merge
changeset 34429bad9986 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=34429bad9986
author: asaha
date: Mon Apr 04 12:18:28 2016 -0700
Merge
changeset bde4021b44f2 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=bde4021b44f2
author: asaha
date: Mon Apr 04 13:58:22 2016 -0700
Added tag jdk8u101-b02 for changeset 34429bad9986
changeset 50e62b688ddc in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=50e62b688ddc
author: iklam
date: Thu Mar 24 21:38:15 2016 -0700
8150752: Share Class Data
Reviewed-by: acorn, hseigel, mschoene
changeset 9edc175ff3e6 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=9edc175ff3e6
author: vkempik
date: Fri Apr 08 15:15:25 2016 +0300
8152479: Coded byte streams
Reviewed-by: hseigel
changeset c9ca6deb19a0 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=c9ca6deb19a0
author: asaha
date: Sun Apr 10 23:17:09 2016 -0700
Added tag jdk8u92-b31 for changeset 445941ba41c0
changeset b41d5faaf1d3 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=b41d5faaf1d3
author: asaha
date: Sun Apr 10 23:31:53 2016 -0700
Merge
changeset ceecf88e5c2c in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=ceecf88e5c2c
author: asaha
date: Mon Apr 11 12:22:33 2016 -0700
Added tag jdk8u101-b03 for changeset b41d5faaf1d3
changeset 19e74265fc8d in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=19e74265fc8d
author: asaha
date: Mon Apr 18 10:53:11 2016 -0700
Added tag jdk8u101-b04 for changeset ceecf88e5c2c
changeset 7c60503b0888 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=7c60503b0888
author: asaha
date: Mon Apr 25 10:51:47 2016 -0700
Added tag jdk8u101-b05 for changeset 19e74265fc8d
changeset 432c2a4b018e in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=432c2a4b018e
author: asaha
date: Mon May 02 14:24:36 2016 -0700
Added tag jdk8u101-b06 for changeset 7c60503b0888
changeset cb4af293fe70 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=cb4af293fe70
author: jiangli
date: Wed Apr 27 14:41:55 2016 -0400
8153312: Constrain AppCDS behavior
Reviewed-by: iklam, acorn, mschoene
changeset 8ed377d2cec9 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=8ed377d2cec9
author: asaha
date: Mon May 09 10:43:54 2016 -0700
Added tag jdk8u101-b07 for changeset cb4af293fe70
changeset 9be452c4e716 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=9be452c4e716
author: asaha
date: Mon May 16 10:30:49 2016 -0700
Added tag jdk8u101-b08 for changeset 8ed377d2cec9
changeset de0aee431117 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=de0aee431117
author: asaha
date: Mon May 23 17:32:08 2016 -0700
Added tag jdk8u101-b09 for changeset 9be452c4e716
changeset 6257eccb1b98 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=6257eccb1b98
author: asaha
date: Fri May 20 11:26:05 2016 -0700
Added tag jdk8u91-b15 for changeset e1ea97ad19af
changeset 218a44a163fa in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=218a44a163fa
author: asaha
date: Thu May 26 13:43:29 2016 -0700
Merge
changeset fa600c26dd0d in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=fa600c26dd0d
author: asaha
date: Tue May 31 09:24:08 2016 -0700
Added tag jdk8u101-b10 for changeset 218a44a163fa
changeset 0095e54dcaa1 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=0095e54dcaa1
author: shshahma
date: Wed May 11 12:03:46 2016 -0400
8155981: Bolster bytecode verification
Reviewed-by: acorn, jdn
Contributed-by: harold.seigel at oracle.com
changeset 286fe17d81c3 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=286fe17d81c3
author: asaha
date: Mon Jun 06 11:59:10 2016 -0700
Added tag jdk8u101-b11 for changeset 0095e54dcaa1
changeset 77df35b662ed in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=77df35b662ed
author: asaha
date: Mon Jun 13 12:49:34 2016 -0700
Added tag jdk8u101-b12 for changeset 286fe17d81c3
changeset e480e0df8eea in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=e480e0df8eea
author: andrew
date: Mon Jul 25 06:38:24 2016 +0100
Merge jdk8u101-b13
changeset ab3e0bde3c15 in /hg/icedtea8-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea8-forest/hotspot?cmd=changeset;node=ab3e0bde3c15
author: andrew
date: Tue Jul 26 04:42:03 2016 +0100
Added tag icedtea-3.1.0 for changeset e480e0df8eea
diffstat:
.hgtags | 30 +
src/cpu/x86/vm/assembler_x86.cpp | 20 +
src/cpu/x86/vm/assembler_x86.hpp | 3 +
src/cpu/x86/vm/macroAssembler_x86.cpp | 497 ++++++++++
src/cpu/x86/vm/macroAssembler_x86.hpp | 19 +
src/cpu/x86/vm/sharedRuntime_x86_64.cpp | 253 +++++
src/cpu/x86/vm/stubGenerator_x86_64.cpp | 120 ++-
src/cpu/x86/vm/stubRoutines_x86_64.hpp | 2 +-
src/cpu/x86/vm/vm_version_x86.cpp | 36 +
src/share/vm/classfile/dictionary.cpp | 17 +-
src/share/vm/classfile/dictionary.hpp | 5 +-
src/share/vm/classfile/systemDictionary.cpp | 18 +-
src/share/vm/classfile/systemDictionaryShared.hpp | 19 +-
src/share/vm/classfile/verificationType.cpp | 21 +-
src/share/vm/classfile/verifier.cpp | 28 +-
src/share/vm/classfile/vmSymbols.hpp | 18 +-
src/share/vm/interpreter/bytecodeStream.cpp | 10 +-
src/share/vm/interpreter/bytecodeStream.hpp | 39 +-
src/share/vm/memory/metaspaceShared.cpp | 9 +-
src/share/vm/memory/metaspaceShared.hpp | 7 +-
src/share/vm/oops/instanceKlass.cpp | 20 +-
src/share/vm/oops/klassVtable.cpp | 102 +-
src/share/vm/oops/klassVtable.hpp | 13 +
src/share/vm/oops/method.cpp | 28 +
src/share/vm/oops/method.hpp | 4 +-
src/share/vm/opto/c2_globals.hpp | 12 +
src/share/vm/opto/cfgnode.cpp | 2 -
src/share/vm/opto/compile.cpp | 58 +
src/share/vm/opto/compile.hpp | 22 +-
src/share/vm/opto/connode.cpp | 20 +-
src/share/vm/opto/connode.hpp | 16 +-
src/share/vm/opto/escape.cpp | 8 +-
src/share/vm/opto/graphKit.cpp | 51 +-
src/share/vm/opto/graphKit.hpp | 4 +-
src/share/vm/opto/library_call.cpp | 250 ++++-
src/share/vm/opto/loopTransform.cpp | 23 +-
src/share/vm/opto/loopopts.cpp | 3 +
src/share/vm/opto/node.cpp | 14 +
src/share/vm/opto/node.hpp | 3 +
src/share/vm/opto/parse2.cpp | 11 +-
src/share/vm/opto/phaseX.cpp | 4 +
src/share/vm/opto/runtime.cpp | 88 +
src/share/vm/opto/runtime.hpp | 6 +
src/share/vm/opto/superword.cpp | 5 +
src/share/vm/prims/whitebox.cpp | 8 +-
src/share/vm/runtime/sharedRuntime.hpp | 6 +
src/share/vm/runtime/stubRoutines.cpp | 4 +
src/share/vm/runtime/stubRoutines.hpp | 8 +
src/share/vm/runtime/vmStructs.cpp | 2 +
test/compiler/intrinsics/montgomerymultiply/MontgomeryMultiplyTest.java | 284 +++++
test/compiler/intrinsics/muladd/TestMulAdd.java | 118 ++
test/compiler/intrinsics/squaretolen/TestSquareToLen.java | 116 ++
test/compiler/loopopts/TestLoopPeeling.java | 100 ++
test/testlibrary/whitebox/sun/hotspot/WhiteBox.java | 4 +-
54 files changed, 2479 insertions(+), 109 deletions(-)
diffs (truncated from 3690 to 500 lines):
diff -r 6000574e256d -r ab3e0bde3c15 .hgtags
--- a/.hgtags Sun Jul 17 18:54:24 2016 +0100
+++ b/.hgtags Tue Jul 26 04:42:03 2016 +0100
@@ -617,6 +617,7 @@
6824e2475e0432e27f9cc51838bc34ea5fbf5113 jdk8u40-b27
8220f68a195f6eeed2f5fb6e8a303726b512e899 jdk8u40-b31
850a290eb1088a61178d1910c500e170ef4f4386 jdk8u40-b32
+e6aa4a8c1b46a05b6c493b4ffe5c2555013f5c99 jdk8u40-b33
1b3abbeee961dee49780c0e4af5337feb918c555 jdk8u40-b10
f10fe402dfb1543723b4b117a7cba3ea3d4159f1 hs25.40-b15
99372b2fee0eb8b3452f47230e84aa6e97003184 jdk8u40-b11
@@ -826,17 +827,28 @@
dc2fdd4e0b8105268b8231040f761f27ab4523f2 jdk8u72-b14
dbf85d44da89a2428b3bd678be791c314e148845 icedtea-3.0.0pre09
d6670c5d49ba381405ec9f69a78ccc5b8b0c8473 jdk8u72-b15
+da43260704c28b9f19cb652090ae65c258220fd6 jdk8u72-b31
26b99cd20661a1fa05939d1856a9389311e01c4f jdk8u73-b00
931c31db01ae873525a1b2c306b01129eb431960 jdk8u73-b01
67566d815a66d958c1f817d65f1621ba1d2e5f33 jdk8u73-b02
451dda77f6c29bd3260e87f847a9eadae122a759 jdk8u74-b00
c1031a924f2c910fad078838b88a2f0146f2de98 jdk8u74-b01
ca9cae9aa9e989bbe6713c91d55c913edeaecce4 jdk8u74-b02
+a5b78b56841e97ce00463874f1b7f63c54d84934 jdk8u74-b31
+94ec11846b18111e73929b6caa9fbe7262e142c1 jdk8u74-b32
+1b6d4fd2730e58f17820930f797938dc182117c4 jdk8u77-b00
+ddd297e340b1170d3cec011ee64e729f8b493c86 jdk8u77-b01
+1b4072e4bb3ad54c4e894998486a8b33f0689160 jdk8u77-b02
+223b64a19e94222dd97b92bb40abcfbc0bf6ef1f jdk8u77-b03
+dd8507f51d786572dae18af8ffdc5a1ea34c755e jdk8u77-b31
+
+94ec11846b18111e73929b6caa9fbe7262e142c1 jdk8u74-b32
da43260704c28b9f19cb652090ae65c258220fd6 jdk8u72-b31
c0242ea4bde19d72be5149feda112a39e8c89b0a jdk8u75-b00
ca3b8c8e390ab0540b0cc2e5def869b38e460d86 jdk8u75-b01
9aef5b5e0a68f20059cfa9e2806b4ff0e11a3d31 jdk8u75-b02
2df9fe896819362b9075a670b78106b249e50d6d jdk8u75-b03
+b374548dcb4834eb8731a06b52faddd0f10bd45d jdk8u101-b00
32b682649973231b54740c09b10889660f6ebde5 jdk8u75-b04
1f43bd4fab06d2ca5d1964611df14d8506d6b36e jdk8u75-b05
916712f178c39d0acbc590f38802133fc86a7346 jdk8u75-b06
@@ -855,6 +867,7 @@
bbbb05e91c629f8d9eef2ba43933767f68a898b0 jdk8u91-b00
e36b6ade0499eadfd8673fe62ef0a613af2e6d67 jdk8u91-b13
fa8991ccf6e5b74890a0b5672440b3c09d8d8732 jdk8u91-b14
+e1ea97ad19af4d1e0bda449aa43be7e1b118ffe9 jdk8u91-b15
d7b01fb81aa8a5437cb03bc36afe15cf0e55fb89 jdk8u76-b00
c1679cc87ba045219169cabb6b9b378c2b5cc578 jdk8u76-b01
218483967e52b419d885d34af4488a81c5133804 jdk8u76-b02
@@ -873,3 +886,20 @@
cbd30c92ef7a62846124e28b35aaf668621b1105 icedtea-3.1.0pre01
76eca5cf31500ecb1d1807685729a7ea5c3780e7 icedtea-3.1.0pre02
ea6933324a7a52379d7f1e18e7525fd619079865 icedtea-3.1.0pre03
+0f47eef348e2ec17dd6492886c57e23023fbc435 icedtea-3.1.0pre04
+24a09407d71bb2cc4848bfa21660c890b4d722b1 jdk8u92-b14
+445941ba41c0e3829fe02140690b144281ac2141 jdk8u92-b31
+b374548dcb4834eb8731a06b52faddd0f10bd45d jdk8u81-b00
+ead07188d11107e877e8e4ad215ff6cb238a8a92 jdk8u101-b01
+34429bad9986677f4991c80aeb22665842881cba jdk8u101-b02
+b41d5faaf1d32ed1bf9592f65f2f94ddd4c60fc4 jdk8u101-b03
+ceecf88e5c2c09bfabf5926581e6d0b0f65f5148 jdk8u101-b04
+19e74265fc8def6a7fc96c836d8ebe38ad1cf199 jdk8u101-b05
+7c60503b0888ac16eac80a6cd074195973f8dedb jdk8u101-b06
+cb4af293fe70549b51039bb9197f373e6750fafb jdk8u101-b07
+8ed377d2cec94435d1617a37999960a24be73ad9 jdk8u101-b08
+9be452c4e7161e60d623d55bb72ad013386aefd1 jdk8u101-b09
+218a44a163fa8c2532fd5f2e8ea9bc3c9c2ca8cf jdk8u101-b10
+0095e54dcaa1acfe1614feff9600734c26af7ae8 jdk8u101-b11
+286fe17d81c3d153611a28e50926083ae934cc56 jdk8u101-b12
+e480e0df8eea8e5d022672a450cd6c8e2eeac86b icedtea-3.1.0
diff -r 6000574e256d -r ab3e0bde3c15 src/cpu/x86/vm/assembler_x86.cpp
--- a/src/cpu/x86/vm/assembler_x86.cpp Sun Jul 17 18:54:24 2016 +0100
+++ b/src/cpu/x86/vm/assembler_x86.cpp Tue Jul 26 04:42:03 2016 +0100
@@ -2318,6 +2318,13 @@
emit_arith(0x0B, 0xC0, dst, src);
}
+void Assembler::orl(Address dst, Register src) {
+ InstructionMark im(this);
+ prefix(dst, src);
+ emit_int8(0x09);
+ emit_operand(src, dst);
+}
+
void Assembler::packuswb(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
assert((UseAVX > 0), "SSE mode requires address alignment 16 bytes");
@@ -5613,6 +5620,19 @@
}
}
+void Assembler::rcrq(Register dst, int imm8) {
+ assert(isShiftCount(imm8 >> 1), "illegal shift count");
+ int encode = prefixq_and_encode(dst->encoding());
+ if (imm8 == 1) {
+ emit_int8((unsigned char)0xD1);
+ emit_int8((unsigned char)(0xD8 | encode));
+ } else {
+ emit_int8((unsigned char)0xC1);
+ emit_int8((unsigned char)(0xD8 | encode));
+ emit_int8(imm8);
+ }
+}
+
void Assembler::rorq(Register dst, int imm8) {
assert(isShiftCount(imm8 >> 1), "illegal shift count");
int encode = prefixq_and_encode(dst->encoding());
diff -r 6000574e256d -r ab3e0bde3c15 src/cpu/x86/vm/assembler_x86.hpp
--- a/src/cpu/x86/vm/assembler_x86.hpp Sun Jul 17 18:54:24 2016 +0100
+++ b/src/cpu/x86/vm/assembler_x86.hpp Tue Jul 26 04:42:03 2016 +0100
@@ -1455,6 +1455,7 @@
void orl(Register dst, int32_t imm32);
void orl(Register dst, Address src);
void orl(Register dst, Register src);
+ void orl(Address dst, Register src);
void orq(Address dst, int32_t imm32);
void orq(Register dst, int32_t imm32);
@@ -1555,6 +1556,8 @@
void rclq(Register dst, int imm8);
+ void rcrq(Register dst, int imm8);
+
void rdtsc();
void ret(int imm16);
diff -r 6000574e256d -r ab3e0bde3c15 src/cpu/x86/vm/macroAssembler_x86.cpp
--- a/src/cpu/x86/vm/macroAssembler_x86.cpp Sun Jul 17 18:54:24 2016 +0100
+++ b/src/cpu/x86/vm/macroAssembler_x86.cpp Tue Jul 26 04:42:03 2016 +0100
@@ -7769,6 +7769,503 @@
pop(tmp2);
pop(tmp1);
}
+
+//Helper functions for square_to_len()
+
+/**
+ * Store the squares of x[], right shifted one bit (divided by 2) into z[]
+ * Preserves x and z and modifies rest of the registers.
+ */
+
+void MacroAssembler::square_rshift(Register x, Register xlen, Register z, Register tmp1, Register tmp3, Register tmp4, Register tmp5, Register rdxReg, Register raxReg) {
+ // Perform square and right shift by 1
+ // Handle odd xlen case first, then for even xlen do the following
+ // jlong carry = 0;
+ // for (int j=0, i=0; j < xlen; j+=2, i+=4) {
+ // huge_128 product = x[j:j+1] * x[j:j+1];
+ // z[i:i+1] = (carry << 63) | (jlong)(product >>> 65);
+ // z[i+2:i+3] = (jlong)(product >>> 1);
+ // carry = (jlong)product;
+ // }
+
+ xorq(tmp5, tmp5); // carry
+ xorq(rdxReg, rdxReg);
+ xorl(tmp1, tmp1); // index for x
+ xorl(tmp4, tmp4); // index for z
+
+ Label L_first_loop, L_first_loop_exit;
+
+ testl(xlen, 1);
+ jccb(Assembler::zero, L_first_loop); //jump if xlen is even
+
+ // Square and right shift by 1 the odd element using 32 bit multiply
+ movl(raxReg, Address(x, tmp1, Address::times_4, 0));
+ imulq(raxReg, raxReg);
+ shrq(raxReg, 1);
+ adcq(tmp5, 0);
+ movq(Address(z, tmp4, Address::times_4, 0), raxReg);
+ incrementl(tmp1);
+ addl(tmp4, 2);
+
+ // Square and right shift by 1 the rest using 64 bit multiply
+ bind(L_first_loop);
+ cmpptr(tmp1, xlen);
+ jccb(Assembler::equal, L_first_loop_exit);
+
+ // Square
+ movq(raxReg, Address(x, tmp1, Address::times_4, 0));
+ rorq(raxReg, 32); // convert big-endian to little-endian
+ mulq(raxReg); // 64-bit multiply rax * rax -> rdx:rax
+
+ // Right shift by 1 and save carry
+ shrq(tmp5, 1); // rdx:rax:tmp5 = (tmp5:rdx:rax) >>> 1
+ rcrq(rdxReg, 1);
+ rcrq(raxReg, 1);
+ adcq(tmp5, 0);
+
+ // Store result in z
+ movq(Address(z, tmp4, Address::times_4, 0), rdxReg);
+ movq(Address(z, tmp4, Address::times_4, 8), raxReg);
+
+ // Update indices for x and z
+ addl(tmp1, 2);
+ addl(tmp4, 4);
+ jmp(L_first_loop);
+
+ bind(L_first_loop_exit);
+}
+
+
+/**
+ * Perform the following multiply add operation using BMI2 instructions
+ * carry:sum = sum + op1*op2 + carry
+ * op2 should be in rdx
+ * op2 is preserved, all other registers are modified
+ */
+void MacroAssembler::multiply_add_64_bmi2(Register sum, Register op1, Register op2, Register carry, Register tmp2) {
+ // assert op2 is rdx
+ mulxq(tmp2, op1, op1); // op1 * op2 -> tmp2:op1
+ addq(sum, carry);
+ adcq(tmp2, 0);
+ addq(sum, op1);
+ adcq(tmp2, 0);
+ movq(carry, tmp2);
+}
+
+/**
+ * Perform the following multiply add operation:
+ * carry:sum = sum + op1*op2 + carry
+ * Preserves op1, op2 and modifies rest of registers
+ */
+void MacroAssembler::multiply_add_64(Register sum, Register op1, Register op2, Register carry, Register rdxReg, Register raxReg) {
+ // rdx:rax = op1 * op2
+ movq(raxReg, op2);
+ mulq(op1);
+
+ // rdx:rax = sum + carry + rdx:rax
+ addq(sum, carry);
+ adcq(rdxReg, 0);
+ addq(sum, raxReg);
+ adcq(rdxReg, 0);
+
+ // carry:sum = rdx:sum
+ movq(carry, rdxReg);
+}
+
+/**
+ * Add 64 bit long carry into z[] with carry propogation.
+ * Preserves z and carry register values and modifies rest of registers.
+ *
+ */
+void MacroAssembler::add_one_64(Register z, Register zlen, Register carry, Register tmp1) {
+ Label L_fourth_loop, L_fourth_loop_exit;
+
+ movl(tmp1, 1);
+ subl(zlen, 2);
+ addq(Address(z, zlen, Address::times_4, 0), carry);
+
+ bind(L_fourth_loop);
+ jccb(Assembler::carryClear, L_fourth_loop_exit);
+ subl(zlen, 2);
+ jccb(Assembler::negative, L_fourth_loop_exit);
+ addq(Address(z, zlen, Address::times_4, 0), tmp1);
+ jmp(L_fourth_loop);
+ bind(L_fourth_loop_exit);
+}
+
+/**
+ * Shift z[] left by 1 bit.
+ * Preserves x, len, z and zlen registers and modifies rest of the registers.
+ *
+ */
+void MacroAssembler::lshift_by_1(Register x, Register len, Register z, Register zlen, Register tmp1, Register tmp2, Register tmp3, Register tmp4) {
+
+ Label L_fifth_loop, L_fifth_loop_exit;
+
+ // Fifth loop
+ // Perform primitiveLeftShift(z, zlen, 1)
+
+ const Register prev_carry = tmp1;
+ const Register new_carry = tmp4;
+ const Register value = tmp2;
+ const Register zidx = tmp3;
+
+ // int zidx, carry;
+ // long value;
+ // carry = 0;
+ // for (zidx = zlen-2; zidx >=0; zidx -= 2) {
+ // (carry:value) = (z[i] << 1) | carry ;
+ // z[i] = value;
+ // }
+
+ movl(zidx, zlen);
+ xorl(prev_carry, prev_carry); // clear carry flag and prev_carry register
+
+ bind(L_fifth_loop);
+ decl(zidx); // Use decl to preserve carry flag
+ decl(zidx);
+ jccb(Assembler::negative, L_fifth_loop_exit);
+
+ if (UseBMI2Instructions) {
+ movq(value, Address(z, zidx, Address::times_4, 0));
+ rclq(value, 1);
+ rorxq(value, value, 32);
+ movq(Address(z, zidx, Address::times_4, 0), value); // Store back in big endian form
+ }
+ else {
+ // clear new_carry
+ xorl(new_carry, new_carry);
+
+ // Shift z[i] by 1, or in previous carry and save new carry
+ movq(value, Address(z, zidx, Address::times_4, 0));
+ shlq(value, 1);
+ adcl(new_carry, 0);
+
+ orq(value, prev_carry);
+ rorq(value, 0x20);
+ movq(Address(z, zidx, Address::times_4, 0), value); // Store back in big endian form
+
+ // Set previous carry = new carry
+ movl(prev_carry, new_carry);
+ }
+ jmp(L_fifth_loop);
+
+ bind(L_fifth_loop_exit);
+}
+
+
+/**
+ * Code for BigInteger::squareToLen() intrinsic
+ *
+ * rdi: x
+ * rsi: len
+ * r8: z
+ * rcx: zlen
+ * r12: tmp1
+ * r13: tmp2
+ * r14: tmp3
+ * r15: tmp4
+ * rbx: tmp5
+ *
+ */
+void MacroAssembler::square_to_len(Register x, Register len, Register z, Register zlen, Register tmp1, Register tmp2, Register tmp3, Register tmp4, Register tmp5, Register rdxReg, Register raxReg) {
+
+ Label L_second_loop, L_second_loop_exit, L_third_loop, L_third_loop_exit, fifth_loop, fifth_loop_exit, L_last_x, L_multiply;
+ push(tmp1);
+ push(tmp2);
+ push(tmp3);
+ push(tmp4);
+ push(tmp5);
+
+ // First loop
+ // Store the squares, right shifted one bit (i.e., divided by 2).
+ square_rshift(x, len, z, tmp1, tmp3, tmp4, tmp5, rdxReg, raxReg);
+
+ // Add in off-diagonal sums.
+ //
+ // Second, third (nested) and fourth loops.
+ // zlen +=2;
+ // for (int xidx=len-2,zidx=zlen-4; xidx > 0; xidx-=2,zidx-=4) {
+ // carry = 0;
+ // long op2 = x[xidx:xidx+1];
+ // for (int j=xidx-2,k=zidx; j >= 0; j-=2) {
+ // k -= 2;
+ // long op1 = x[j:j+1];
+ // long sum = z[k:k+1];
+ // carry:sum = multiply_add_64(sum, op1, op2, carry, tmp_regs);
+ // z[k:k+1] = sum;
+ // }
+ // add_one_64(z, k, carry, tmp_regs);
+ // }
+
+ const Register carry = tmp5;
+ const Register sum = tmp3;
+ const Register op1 = tmp4;
+ Register op2 = tmp2;
+
+ push(zlen);
+ push(len);
+ addl(zlen,2);
+ bind(L_second_loop);
+ xorq(carry, carry);
+ subl(zlen, 4);
+ subl(len, 2);
+ push(zlen);
+ push(len);
+ cmpl(len, 0);
+ jccb(Assembler::lessEqual, L_second_loop_exit);
+
+ // Multiply an array by one 64 bit long.
+ if (UseBMI2Instructions) {
+ op2 = rdxReg;
+ movq(op2, Address(x, len, Address::times_4, 0));
+ rorxq(op2, op2, 32);
+ }
+ else {
+ movq(op2, Address(x, len, Address::times_4, 0));
+ rorq(op2, 32);
+ }
+
+ bind(L_third_loop);
+ decrementl(len);
+ jccb(Assembler::negative, L_third_loop_exit);
+ decrementl(len);
+ jccb(Assembler::negative, L_last_x);
+
+ movq(op1, Address(x, len, Address::times_4, 0));
+ rorq(op1, 32);
+
+ bind(L_multiply);
+ subl(zlen, 2);
+ movq(sum, Address(z, zlen, Address::times_4, 0));
+
+ // Multiply 64 bit by 64 bit and add 64 bits lower half and upper 64 bits as carry.
+ if (UseBMI2Instructions) {
+ multiply_add_64_bmi2(sum, op1, op2, carry, tmp2);
+ }
+ else {
+ multiply_add_64(sum, op1, op2, carry, rdxReg, raxReg);
+ }
+
+ movq(Address(z, zlen, Address::times_4, 0), sum);
+
+ jmp(L_third_loop);
+ bind(L_third_loop_exit);
+
+ // Fourth loop
+ // Add 64 bit long carry into z with carry propogation.
+ // Uses offsetted zlen.
+ add_one_64(z, zlen, carry, tmp1);
+
+ pop(len);
+ pop(zlen);
+ jmp(L_second_loop);
+
+ // Next infrequent code is moved outside loops.
+ bind(L_last_x);
+ movl(op1, Address(x, 0));
+ jmp(L_multiply);
+
+ bind(L_second_loop_exit);
+ pop(len);
+ pop(zlen);
+ pop(len);
+ pop(zlen);
+
+ // Fifth loop
+ // Shift z left 1 bit.
+ lshift_by_1(x, len, z, zlen, tmp1, tmp2, tmp3, tmp4);
+
+ // z[zlen-1] |= x[len-1] & 1;
+ movl(tmp3, Address(x, len, Address::times_4, -4));
+ andl(tmp3, 1);
+ orl(Address(z, zlen, Address::times_4, -4), tmp3);
+
+ pop(tmp5);
+ pop(tmp4);
+ pop(tmp3);
+ pop(tmp2);
+ pop(tmp1);
+}
+
+/**
+ * Helper function for mul_add()
+ * Multiply the in[] by int k and add to out[] starting at offset offs using
+ * 128 bit by 32 bit multiply and return the carry in tmp5.
+ * Only quad int aligned length of in[] is operated on in this function.
+ * k is in rdxReg for BMI2Instructions, for others it is in tmp2.
+ * This function preserves out, in and k registers.
+ * len and offset point to the appropriate index in "in" & "out" correspondingly
+ * tmp5 has the carry.
+ * other registers are temporary and are modified.
+ *
+ */
+void MacroAssembler::mul_add_128_x_32_loop(Register out, Register in,
+ Register offset, Register len, Register tmp1, Register tmp2, Register tmp3,
+ Register tmp4, Register tmp5, Register rdxReg, Register raxReg) {
+
+ Label L_first_loop, L_first_loop_exit;
+
+ movl(tmp1, len);
+ shrl(tmp1, 2);
+
+ bind(L_first_loop);
+ subl(tmp1, 1);
+ jccb(Assembler::negative, L_first_loop_exit);
+
+ subl(len, 4);
+ subl(offset, 4);
+
+ Register op2 = tmp2;
+ const Register sum = tmp3;
+ const Register op1 = tmp4;
+ const Register carry = tmp5;
+
+ if (UseBMI2Instructions) {
+ op2 = rdxReg;
+ }
+
+ movq(op1, Address(in, len, Address::times_4, 8));
+ rorq(op1, 32);
+ movq(sum, Address(out, offset, Address::times_4, 8));
+ rorq(sum, 32);
+ if (UseBMI2Instructions) {
+ multiply_add_64_bmi2(sum, op1, op2, carry, raxReg);
+ }
+ else {
+ multiply_add_64(sum, op1, op2, carry, rdxReg, raxReg);
+ }
+ // Store back in big endian from little endian
More information about the distro-pkg-dev
mailing list