--- a/src/java.desktop/unix/native/libawt_xawt/awt/gtk3_interface.c Mon Jul 08 18:30:09 2019 -0400
+++ b/src/java.desktop/unix/native/libawt_xawt/awt/gtk3_interface.c Mon Jul 08 16:20:40 2019 -0700
@@ -324,8 +324,6 @@
/* GDK */
fp_gdk_get_default_root_window =
dl_symbol("gdk_get_default_root_window");
- fp_gdk_window_get_scale_factor =
- dl_symbol("gdk_window_get_scale_factor");
/* Pixbuf */
fp_gdk_pixbuf_new = dl_symbol("gdk_pixbuf_new");
@@ -400,6 +398,8 @@
} else {
fp_gdk_window_create_similar_image_surface =
dl_symbol("gdk_window_create_similar_image_surface");
+ fp_gdk_window_get_scale_factor =
+ dl_symbol("gdk_window_get_scale_factor");
}
gtk3_version_3_14 = !fp_gtk_check_version(3, 14, 0);
@@ -2890,9 +2890,13 @@
jint *ary;
GdkWindow *root = (*fp_gdk_get_default_root_window)();
- int win_scale = (*fp_gdk_window_get_scale_factor)(root);
- pixbuf = (*fp_gdk_pixbuf_get_from_drawable)(
- root, x, y, (int)(width / (float)win_scale + 0.5), (int)(height / (float)win_scale + 0.5));
+ if (gtk3_version_3_10) {
+ int win_scale = (*fp_gdk_window_get_scale_factor)(root);
+ pixbuf = (*fp_gdk_pixbuf_get_from_drawable)(
+ root, x, y, (int) (width / (float) win_scale + 0.5), (int) (height / (float) win_scale + 0.5));
+ } else {
+ pixbuf = (*fp_gdk_pixbuf_get_from_drawable)(root, x, y, width, height);
+ }
if (pixbuf && scale != 1) {
GdkPixbuf *scaledPixbuf;
--- a/src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5Util.java Mon Jul 08 18:30:09 2019 -0400
+++ b/src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5Util.java Mon Jul 08 16:20:40 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, 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
@@ -58,82 +58,6 @@
}
/**
- * Retrieve the service ticket for serverPrincipal from caller's Subject
- * or from Subject obtained by logging in, or if not found, via the
- * Ticket Granting Service using the TGT obtained from the Subject.
- *
- * Caller must have permission to:
- * - access and update Subject's private credentials
- * - create LoginContext
- * - read the auth.login.defaultCallbackHandler security property
- *
- * NOTE: This method is used by JSSE Kerberos Cipher Suites
- */
- public static KerberosTicket getTicketFromSubjectAndTgs(GSSCaller caller,
- String clientPrincipal, String serverPrincipal, String tgsPrincipal,
- AccessControlContext acc)
- throws LoginException, KrbException, IOException {
-
- // 1. Try to find service ticket in acc subject
- Subject accSubj = Subject.getSubject(acc);
- KerberosTicket ticket = SubjectComber.find(accSubj,
- serverPrincipal, clientPrincipal, KerberosTicket.class);
-
- if (ticket != null) {
- return ticket; // found it
- }
-
- Subject loginSubj = null;
- if (!GSSUtil.useSubjectCredsOnly(caller)) {
- // 2. Try to get ticket from login
- try {
- loginSubj = GSSUtil.login(caller, GSSUtil.GSS_KRB5_MECH_OID);
- ticket = SubjectComber.find(loginSubj,
- serverPrincipal, clientPrincipal, KerberosTicket.class);
- if (ticket != null) {
- return ticket; // found it
- }
- } catch (LoginException e) {
- // No login entry to use
- // ignore and continue
- }
- }
-
- // Service ticket not found in subject or login
- // Try to get TGT to acquire service ticket
-
- // 3. Try to get TGT from acc subject
- KerberosTicket tgt = SubjectComber.find(accSubj,
- tgsPrincipal, clientPrincipal, KerberosTicket.class);
-
- boolean fromAcc;
- if (tgt == null && loginSubj != null) {
- // 4. Try to get TGT from login subject
- tgt = SubjectComber.find(loginSubj,
- tgsPrincipal, clientPrincipal, KerberosTicket.class);
- fromAcc = false;
- } else {
- fromAcc = true;
- }
-
- // 5. Try to get service ticket using TGT
- if (tgt != null) {
- Credentials tgtCreds = ticketToCreds(tgt);
- Credentials serviceCreds = Credentials.acquireServiceCreds(
- serverPrincipal, tgtCreds);
- if (serviceCreds != null) {
- ticket = credsToTicket(serviceCreds);
-
- // Store service ticket in acc's Subject
- if (fromAcc && accSubj != null && !accSubj.isReadOnly()) {
- accSubj.getPrivateCredentials().add(ticket);
- }
- }
- }
- return ticket;
- }
-
- /**
* Retrieves the ticket corresponding to the client/server principal
* pair from the Subject in the specified AccessControlContext.
* If the ticket can not be found in the Subject, and if
--- a/test/hotspot/jtreg/ProblemList-graal.txt Mon Jul 08 18:30:09 2019 -0400
+++ b/test/hotspot/jtreg/ProblemList-graal.txt Mon Jul 08 16:20:40 2019 -0700
@@ -38,8 +38,6 @@
compiler/compilercontrol/mixed/RandomValidCommandsTest.java 8181753 generic-all
compiler/compilercontrol/mixed/RandomCommandsTest.java 8181753 generic-all
-compiler/graalunit/HotspotJdk9Test.java 8223807 generic-all
-compiler/jsr292/InvokerSignatureMismatch.java 8223807 generic-all
compiler/graalunit/JttThreadsTest.java 8207757 generic-all
--- a/test/hotspot/jtreg/gc/arguments/TestMaxHeapSizeTools.java Mon Jul 08 18:30:09 2019 -0400
+++ b/test/hotspot/jtreg/gc/arguments/TestMaxHeapSizeTools.java Mon Jul 08 16:20:40 2019 -0700
@@ -135,7 +135,8 @@
expectError(new String[] { gcflag, "-XX:InitialHeapSize=1023K", "-version" });
expectError(new String[] { gcflag, "-Xms64M", "-XX:InitialHeapSize=32M", "-version" });
expectError(new String[] { gcflag, "-XX:MinHeapSize=1023K", "-version" });
- expectError(new String[] { gcflag, "-Xms4M", "-XX:MinHeapSize=8M", "-version" });
+ // Note: MinHeapSize values get aligned up by HeapAlignment which is 32M with 64k pages.
+ expectError(new String[] { gcflag, "-Xms4M", "-XX:MinHeapSize=64M", "-version" });
expectError(new String[] { gcflag, "-XX:MinHeapSize=8M -XX:InitialHeapSize=4m" });
}
--- a/test/hotspot/jtreg/gc/arguments/TestSoftMaxHeapSizeFlag.java Mon Jul 08 18:30:09 2019 -0400
+++ b/test/hotspot/jtreg/gc/arguments/TestSoftMaxHeapSizeFlag.java Mon Jul 08 16:20:40 2019 -0700
@@ -35,8 +35,9 @@
import jdk.test.lib.process.ProcessTools;
public class TestSoftMaxHeapSizeFlag {
- private static final long Xms = 200 * 1024 * 1024;
- private static final long Xmx = 300 * 1024 * 1024;
+ // Note: Xms and Xmx values get aligned up by HeapAlignment which is 32M with 64k pages.
+ private static final long Xms = 224 * 1024 * 1024;
+ private static final long Xmx = 320 * 1024 * 1024;
private static final long greaterThanXmx = Xmx + 1;
private static final long betweenXmsAndXmx = (Xms + Xmx) / 2;