Skip to content
Permalink
Browse files

Merge

  • Loading branch information
JesperIRL committed Jan 15, 2020
2 parents eb6fa14 + 9ec4001 commit d34f561de002510c818c73cd5871caf2222ca0a7
Showing with 1,985 additions and 771 deletions.
  1. +1 −1 src/hotspot/cpu/x86/x86.ad
  2. +2 −2 src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.inline.hpp
  3. +3 −2 src/hotspot/share/opto/loopnode.cpp
  4. +23 −11 src/java.base/share/classes/java/nio/X-Buffer.java.template
  5. +2 −2 src/java.base/share/classes/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java
  6. +7 −3 src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java
  7. +305 −202 src/java.base/share/man/java.1
  8. +2 −2 src/java.base/share/man/jfr.1
  9. +28 −33 src/java.base/share/man/keytool.1
  10. +2 −2 src/java.compiler/share/classes/javax/annotation/processing/Filer.java
  11. +2 −2 src/java.compiler/share/classes/javax/annotation/processing/Processor.java
  12. +9 −2 src/java.compiler/share/classes/javax/lang/model/AnnotatedConstruct.java
  13. +2 −2 src/java.rmi/share/man/rmid.1
  14. +2 −2 src/java.rmi/share/man/rmiregistry.1
  15. +3 −3 src/java.scripting/share/man/jrunscript.1
  16. +3 −3 src/jdk.aot/share/man/jaotc.1
  17. +3 −2 src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java
  18. +23 −0 src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java
  19. +41 −33 src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java
  20. +5 −2 src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java
  21. +83 −123 src/jdk.compiler/share/classes/com/sun/tools/javac/comp/MatchBindingsComputer.java
  22. +8 −2 src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java
  23. +54 −47 src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransPatterns.java
  24. +1 −2 src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java
  25. +133 −116 src/jdk.compiler/share/man/javac.1
  26. +2 −2 src/jdk.compiler/share/man/serialver.1
  27. +42 −73 src/jdk.hotspot.agent/share/man/jhsdb.1
  28. +483 −0 src/jdk.incubator.jpackage/share/man/jpackage.1
  29. +1 −1 src/jdk.incubator.jpackage/windows/native/libjpackage/WindowsRegistry.cpp
  30. +2 −2 src/jdk.jartool/share/man/jar.1
  31. +3 −3 src/jdk.jartool/share/man/jarsigner.1
  32. +4 −3 src/jdk.javadoc/share/man/javadoc.1
  33. +267 −19 src/jdk.jcmd/share/man/jcmd.1
  34. +3 −3 src/jdk.jcmd/share/man/jinfo.1
  35. +3 −3 src/jdk.jcmd/share/man/jmap.1
  36. +3 −3 src/jdk.jcmd/share/man/jps.1
  37. +3 −3 src/jdk.jcmd/share/man/jstack.1
  38. +3 −3 src/jdk.jcmd/share/man/jstat.1
  39. +2 −2 src/jdk.jconsole/share/man/jconsole.1
  40. +2 −2 src/jdk.jdeps/share/man/javap.1
  41. +2 −2 src/jdk.jdeps/share/man/jdeprscan.1
  42. +2 −2 src/jdk.jdeps/share/man/jdeps.1
  43. +2 −2 src/jdk.jdi/share/man/jdb.1
  44. +2 −2 src/jdk.jlink/share/man/jlink.1
  45. +2 −2 src/jdk.jlink/share/man/jmod.1
  46. +2 −2 src/jdk.jshell/share/man/jshell.1
  47. +3 −3 src/jdk.jstatd/share/man/jstatd.1
  48. +3 −2 src/jdk.management/unix/classes/com/sun/management/internal/OperatingSystemImpl.java
  49. +2 −2 src/jdk.rmic/share/man/rmic.1
  50. +2 −2 src/jdk.scripting.nashorn.shell/share/man/jjs.1
  51. +1 −1 test/hotspot/jtreg/compiler/c2/TestJumpTable.java
  52. +16 −11 test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java
  53. +4 −3 test/hotspot/jtreg/gc/shenandoah/TestEvilSyncBug.java
  54. +45 −1 test/jdk/java/nio/Buffer/Basic-X.java.template
  55. +45 −1 test/jdk/java/nio/Buffer/BasicByte.java
  56. +3 −2 test/jdk/tools/jimage/JImageTest.java
  57. +1 −1 test/langtools/tools/javac/patterns/BindingsExistTest.out
  58. +35 −0 test/langtools/tools/javac/patterns/BindingsTest1.java
  59. +139 −0 test/langtools/tools/javac/patterns/ConditionalTest.java
  60. +41 −1 test/langtools/tools/javac/patterns/DuplicateBindingTest.java
  61. +24 −1 test/langtools/tools/javac/patterns/DuplicateBindingTest.out
  62. +2 −2 test/langtools/tools/javac/patterns/MatchBindingScopeTest.out
  63. +37 −3 test/langtools/tools/javac/records/RecordCompilationTests.java
@@ -2143,7 +2143,7 @@ operand vecZ() %{

// Replaces legVec during post-selection cleanup. See above.
operand legVecZ() %{
constraint(ALLOC_IN_RC(vectorz_reg_vl));
constraint(ALLOC_IN_RC(vectorz_reg_legacy));
match(VecZ);

format %{ %}
@@ -97,10 +97,10 @@ inline traceid JfrTraceId::use(const Klass* klass, const Method* method) {
if (METHOD_FLAG_NOT_USED_THIS_EPOCH(method)) {
SET_METHOD_AND_CLASS_USED_THIS_EPOCH(klass);
SET_METHOD_FLAG_USED_THIS_EPOCH(method);
assert(METHOD_AND_CLASS_USED_THIS_EPOCH(klass), "invariant");
assert(METHOD_FLAG_USED_THIS_EPOCH(method), "invariant");
JfrTraceIdEpoch::set_changed_tag_state();
}
assert(METHOD_AND_CLASS_USED_THIS_EPOCH(klass), "invariant");
assert(METHOD_FLAG_USED_THIS_EPOCH(method), "invariant");
return (METHOD_ID(klass, method));
}

@@ -2505,13 +2505,14 @@ uint IdealLoopTree::est_loop_flow_merge_sz() const {

for (uint k = 0; k < outcnt; k++) {
Node* out = node->raw_out(k);

if (out == NULL) continue;
if (out->is_CFG()) {
if (!is_member(_phase->get_loop(out))) {
ctrl_edge_out_cnt++;
}
} else {
} else if (_phase->has_ctrl(out)) {
Node* ctrl = _phase->get_ctrl(out);
assert(ctrl != NULL, "must be");
assert(ctrl->is_CFG(), "must be");
if (!is_member(_phase->get_loop(ctrl))) {
data_edge_out_cnt++;
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -1869,14 +1869,26 @@ public abstract class $Type$Buffer

/**
* Returns the memory address, pointing to the byte at the given index,
* modulus the given unit size.
*
* <p> A return value greater than zero indicates the address of the byte at
* the index is misaligned for the unit size, and the value's quantity
* indicates how much the index should be rounded up or down to locate a
* byte at an aligned address. Otherwise, a value of {@code 0} indicates
* that the address of the byte at the index is aligned for the unit size.
*
* modulo the given unit size.
*
* <p> The return value is non-negative, with {@code 0} indicating that the
* address of the byte at the index is aligned for the unit size, and a
* positive value that the address is misaligned for the unit size. If the
* address of the byte at the index is misaligned, the return value
* represents how much the index should be adjusted to locate a byte at an
* aligned address. Specifically, the index should either be decremented by
* the return value, or incremented by the unit size minus the return value.
* Therefore given
* <blockquote><pre>
* int value = alignmentOffset(index, unitSize)</pre></blockquote>
* then the identities
* <blockquote><pre>
* alignmentOffset(index - value, unitSize) == 0</pre></blockquote>
* and
* <blockquote><pre>
* alignmentOffset(index + (unitSize - value), unitSize) == 0</pre></blockquote>
* must hold.
*
* @apiNote
* This method may be utilized to determine if unit size bytes from an
* index can be accessed atomically, if supported by the native platform.
@@ -1892,7 +1904,7 @@ public abstract class $Type$Buffer
* @param unitSize
* The unit size in bytes, must be a power of {@code 2}
*
* @return The indexed byte's memory address modulus the unit size
* @return The indexed byte's memory address modulo the unit size
*
* @throws IllegalArgumentException
* If the index is negative or the unit size is not a power of
@@ -1918,7 +1930,7 @@ public abstract class $Type$Buffer
if (unitSize > 8 && !isDirect())
throw new UnsupportedOperationException("Unit size unsupported for non-direct buffers: " + unitSize);

return (int) ((address + index) % unitSize);
return (int) ((address + index) & (unitSize - 1));
}

/**
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2001, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -69,7 +69,7 @@
* @param publicExponent the public exponent e
* @param privateExponent the private exponent d
* @param primeP the prime factor p of n
* @param primeQ the prime factor q of q
* @param primeQ the prime factor q of n
* @param primeExponentP this is d mod (p-1)
* @param primeExponentQ this is d mod (q-1)
* @param crtCoefficient the Chinese Remainder Theorem
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -49,6 +49,7 @@
import jdk.internal.access.SharedSecrets;
import jdk.internal.misc.ExtendedMapMode;
import jdk.internal.misc.Unsafe;
import jdk.internal.misc.VM;
import jdk.internal.ref.Cleaner;
import jdk.internal.ref.CleanerFactory;

@@ -1116,8 +1117,11 @@ private Unmapper mapInternal(MapMode mode, long position, long size, int prot, b
}

private boolean isSync(MapMode mode) {
return mode == ExtendedMapMode.READ_ONLY_SYNC ||
mode == ExtendedMapMode.READ_WRITE_SYNC;
// Do not want to initialize ExtendedMapMode until
// after the module system has been initialized
return !VM.isModuleSystemInited() ? false :
(mode == ExtendedMapMode.READ_ONLY_SYNC ||
mode == ExtendedMapMode.READ_WRITE_SYNC);
}

private int toProt(MapMode mode) {

0 comments on commit d34f561

Please sign in to comment.