Merge
This commit is contained in:
commit
2731d62234
@ -205,7 +205,7 @@ define SetupJavaCompilationBody
|
|||||||
else ifeq ($$($1_COMPILER), interim)
|
else ifeq ($$($1_COMPILER), interim)
|
||||||
# Use java server if it is enabled, and the user does not want a specialized
|
# Use java server if it is enabled, and the user does not want a specialized
|
||||||
# class path.
|
# class path.
|
||||||
ifeq ($$($1_ENABLE_JAVAC_SERVER+$$($1_CLASSPATH)), true+)
|
ifeq ($$(ENABLE_JAVAC_SERVER)+$$($1_CLASSPATH), true+)
|
||||||
$1_JAVAC := $$(INTERIM_LANGTOOLS_ARGS) -m jdk.compiler.interim/com.sun.tools.sjavac.Main
|
$1_JAVAC := $$(INTERIM_LANGTOOLS_ARGS) -m jdk.compiler.interim/com.sun.tools.sjavac.Main
|
||||||
|
|
||||||
# How to launch the server. This must use JAVA_DETACH, which is the "big" java
|
# How to launch the server. This must use JAVA_DETACH, which is the "big" java
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
Owner: CN=AddTrust Class 1 CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE
|
|
||||||
Issuer: CN=AddTrust Class 1 CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE
|
|
||||||
Serial number: 1
|
|
||||||
Valid from: Tue May 30 10:38:31 GMT 2000 until: Sat May 30 10:38:31 GMT 2020
|
|
||||||
Signature algorithm name: SHA1withRSA
|
|
||||||
Subject Public Key Algorithm: 2048-bit RSA key
|
|
||||||
Version: 3
|
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEU
|
|
||||||
MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3
|
|
||||||
b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMw
|
|
||||||
MTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
|
|
||||||
QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYD
|
|
||||||
VQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUA
|
|
||||||
A4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ul
|
|
||||||
CDtbKRY654eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6n
|
|
||||||
tGO0/7Gcrjyvd7ZWxbWroulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyl
|
|
||||||
dI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1Zmne3yzxbrww2ywkEtvrNTVokMsAsJch
|
|
||||||
PXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJuiGMx1I4S+6+JNM3GOGvDC
|
|
||||||
+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8wHQYDVR0O
|
|
||||||
BBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8E
|
|
||||||
BTADAQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBl
|
|
||||||
MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFk
|
|
||||||
ZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENB
|
|
||||||
IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxtZBsfzQ3duQH6lmM0MkhHma6X
|
|
||||||
7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0PhiVYrqW9yTkkz
|
|
||||||
43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY
|
|
||||||
eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJl
|
|
||||||
pz/+0WatC7xrmYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOA
|
|
||||||
WiFeIc9TVPC6b4nbqKqVz4vjccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk=
|
|
||||||
-----END CERTIFICATE-----
|
|
@ -1,30 +0,0 @@
|
|||||||
Owner: CN=KEYNECTIS ROOT CA, OU=ROOT, O=KEYNECTIS, C=FR
|
|
||||||
Issuer: CN=KEYNECTIS ROOT CA, OU=ROOT, O=KEYNECTIS, C=FR
|
|
||||||
Serial number: 1121bc276c5547af584eefd4ced629b2a285
|
|
||||||
Valid from: Tue May 26 00:00:00 GMT 2009 until: Tue May 26 00:00:00 GMT 2020
|
|
||||||
Signature algorithm name: SHA256withRSA
|
|
||||||
Subject Public Key Algorithm: 2048-bit RSA key
|
|
||||||
Version: 3
|
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIID5TCCAs2gAwIBAgISESG8J2xVR69YTu/UztYpsqKFMA0GCSqGSIb3DQEBCwUA
|
|
||||||
MEwxCzAJBgNVBAYTAkZSMRIwEAYDVQQKEwlLRVlORUNUSVMxDTALBgNVBAsTBFJP
|
|
||||||
T1QxGjAYBgNVBAMTEUtFWU5FQ1RJUyBST09UIENBMB4XDTA5MDUyNjAwMDAwMFoX
|
|
||||||
DTIwMDUyNjAwMDAwMFowTDELMAkGA1UEBhMCRlIxEjAQBgNVBAoTCUtFWU5FQ1RJ
|
|
||||||
UzENMAsGA1UECxMEUk9PVDEaMBgGA1UEAxMRS0VZTkVDVElTIFJPT1QgQ0EwggEi
|
|
||||||
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDG/bMXhaGtJhuVaTUhPaSI+t7b
|
|
||||||
YDZAF2nCFGP7uNnCdBU3LpzQIM1pjYQyooVMFLSb8iWzVCqDPy2+D/M7ZNH/oFDv
|
|
||||||
d087TuE/C2SFmrpYftLDYtNkJaLUspc8d11jKjOS/M2CDZtUlYf1teuMzVvRyjAv
|
|
||||||
yYhGtc0NEbQYj+7RoT5dFegoz9/DkJtszNEMRXezOuuKkB3pr2RqiXupPUN0+uRn
|
|
||||||
IqH73E3E9WLJyiW0yYBgM6nde6ACv5YlCl7JXyl7tBeBi22BGdDZg1wFj0FpGmlD
|
|
||||||
gJ+or+DpjJGLJyuiJmDND/KkowKDjhiBwheKQxX5bfMdEKRanERhIyF62PvRAgMB
|
|
||||||
AAGjgcAwgb0wEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNVHQ8BAf8EBAMCAQYwVwYD
|
|
||||||
VR0fBFAwTjBMoEqgSIZGaHR0cDovL3RydXN0Y2VudGVyLWNybC5jZXJ0aWZpY2F0
|
|
||||||
Mi5jb20vS2V5bmVjdGlzL0tFWU5FQ1RJU19ST09UX0NBLmNybDAdBgNVHQ4EFgQU
|
|
||||||
77cjl9CokX+mz6YhwDSfzHdB4dAwHwYDVR0jBBgwFoAU77cjl9CokX+mz6YhwDSf
|
|
||||||
zHdB4dAwDQYJKoZIhvcNAQELBQADggEBABoxaZlCwuVAhaKfksNj1I8hOagZIf56
|
|
||||||
/MNNQPMr6EusW0xZk8bcfguvfF+VhWu9x2+6wb74xjpnS5PGBWk+JC3wG5HGPj/s
|
|
||||||
QhiTbAMkim75IGcrfG2rNMkqIjMN132P7tI2ZELINZpuGWHLjWfwaKfQJAXmwxe6
|
|
||||||
Ra58Q7WAeANNIHMF/EMQnTVpQnWUJYIrpjuQGN7Bqa/zLZW/lafPGJfhWeKirxoW
|
|
||||||
YQ33E3FTkzf9PK8AHWyLFK9Gloy2UnzMLU7N4elLCu6a/nqY5ym6G9ocutxrzQQO
|
|
||||||
JkCp63M8/lCoESdVvduOS+9PGO0V/72GmGbumiVxNGxQ8bJRy2adTSk=
|
|
||||||
-----END CERTIFICATE-----
|
|
@ -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.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -282,6 +282,7 @@ charset ISO-8859-16 ISO_8859_16
|
|||||||
alias iso-ir-226
|
alias iso-ir-226
|
||||||
alias ISO_8859-16:2001
|
alias ISO_8859-16:2001
|
||||||
alias ISO_8859-16
|
alias ISO_8859-16
|
||||||
|
alias ISO8859_16
|
||||||
alias latin10
|
alias latin10
|
||||||
alias l10
|
alias l10
|
||||||
alias csISO885916
|
alias csISO885916
|
||||||
@ -697,7 +698,7 @@ charset x-euc-jp-linux EUC_JP_LINUX
|
|||||||
charset x-eucJP-Open EUC_JP_Open
|
charset x-eucJP-Open EUC_JP_Open
|
||||||
package sun.nio.cs.ext
|
package sun.nio.cs.ext
|
||||||
type template
|
type template
|
||||||
hisname EUC_JP_Solari
|
hisname EUC_JP_Solaris
|
||||||
ascii true
|
ascii true
|
||||||
alias EUC_JP_Solaris # JDK historical
|
alias EUC_JP_Solaris # JDK historical
|
||||||
alias eucJP-open
|
alias eucJP-open
|
||||||
@ -1391,7 +1392,7 @@ charset x-IBM833 IBM833
|
|||||||
|
|
||||||
charset x-IBM834 IBM834 # EBCDIC DBCS-only Korean
|
charset x-IBM834 IBM834 # EBCDIC DBCS-only Korean
|
||||||
package sun.nio.cs.ext
|
package sun.nio.cs.ext
|
||||||
type source
|
type template
|
||||||
alias cp834
|
alias cp834
|
||||||
alias ibm834
|
alias ibm834
|
||||||
alias 834
|
alias 834
|
||||||
@ -1485,7 +1486,7 @@ charset x-IBM949 IBM949
|
|||||||
|
|
||||||
charset x-IBM949C IBM949C
|
charset x-IBM949C IBM949C
|
||||||
package sun.nio.cs.ext
|
package sun.nio.cs.ext
|
||||||
type source
|
type template
|
||||||
alias cp949C # JDK historical
|
alias cp949C # JDK historical
|
||||||
alias ibm949C
|
alias ibm949C
|
||||||
alias ibm-949C
|
alias ibm-949C
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
Github: https://raw.githubusercontent.com/publicsuffix/list/33c1c788decfed1052089fa27e3005fe4088dec3/public_suffix_list.dat
|
Github: https://raw.githubusercontent.com/publicsuffix/list/cbbba1d234670453df9c930dfbf510c0474d4301/public_suffix_list.dat
|
||||||
Date: 2019-09-28
|
Date: 2020-04-24
|
||||||
|
@ -79,7 +79,6 @@ exchange.aero
|
|||||||
express.aero
|
express.aero
|
||||||
federation.aero
|
federation.aero
|
||||||
flight.aero
|
flight.aero
|
||||||
freight.aero
|
|
||||||
fuel.aero
|
fuel.aero
|
||||||
gliding.aero
|
gliding.aero
|
||||||
government.aero
|
government.aero
|
||||||
@ -213,6 +212,7 @@ ac.at
|
|||||||
co.at
|
co.at
|
||||||
gv.at
|
gv.at
|
||||||
or.at
|
or.at
|
||||||
|
sth.ac.at
|
||||||
|
|
||||||
// au : https://en.wikipedia.org/wiki/.au
|
// au : https://en.wikipedia.org/wiki/.au
|
||||||
// http://www.auda.org.au/
|
// http://www.auda.org.au/
|
||||||
@ -241,7 +241,7 @@ wa.au
|
|||||||
// 3LDs
|
// 3LDs
|
||||||
act.edu.au
|
act.edu.au
|
||||||
catholic.edu.au
|
catholic.edu.au
|
||||||
eq.edu.au
|
// eq.edu.au - Removed at the request of the Queensland Department of Education
|
||||||
nsw.edu.au
|
nsw.edu.au
|
||||||
nt.edu.au
|
nt.edu.au
|
||||||
qld.edu.au
|
qld.edu.au
|
||||||
@ -719,11 +719,13 @@ gouv.ci
|
|||||||
*.ck
|
*.ck
|
||||||
!www.ck
|
!www.ck
|
||||||
|
|
||||||
// cl : https://en.wikipedia.org/wiki/.cl
|
// cl : https://www.nic.cl
|
||||||
|
// Confirmed by .CL registry <hsalgado@nic.cl>
|
||||||
cl
|
cl
|
||||||
gov.cl
|
aprendemas.cl
|
||||||
gob.cl
|
|
||||||
co.cl
|
co.cl
|
||||||
|
gob.cl
|
||||||
|
gov.cl
|
||||||
mil.cl
|
mil.cl
|
||||||
|
|
||||||
// cm : https://en.wikipedia.org/wiki/.cm plus bug 981927
|
// cm : https://en.wikipedia.org/wiki/.cm plus bug 981927
|
||||||
@ -982,8 +984,19 @@ fi
|
|||||||
// TODO: Check for updates (expected to be phased out around Q1/2009)
|
// TODO: Check for updates (expected to be phased out around Q1/2009)
|
||||||
aland.fi
|
aland.fi
|
||||||
|
|
||||||
// fj : https://en.wikipedia.org/wiki/.fj
|
// fj : http://domains.fj/
|
||||||
*.fj
|
// Submitted by registry <garth.miller@cocca.org.nz> 2020-02-11
|
||||||
|
fj
|
||||||
|
ac.fj
|
||||||
|
biz.fj
|
||||||
|
com.fj
|
||||||
|
gov.fj
|
||||||
|
info.fj
|
||||||
|
mil.fj
|
||||||
|
name.fj
|
||||||
|
net.fj
|
||||||
|
org.fj
|
||||||
|
pro.fj
|
||||||
|
|
||||||
// fk : https://en.wikipedia.org/wiki/.fk
|
// fk : https://en.wikipedia.org/wiki/.fk
|
||||||
*.fk
|
*.fk
|
||||||
@ -1368,7 +1381,7 @@ it
|
|||||||
gov.it
|
gov.it
|
||||||
edu.it
|
edu.it
|
||||||
// Reserved geo-names (regions and provinces):
|
// Reserved geo-names (regions and provinces):
|
||||||
// http://www.nic.it/sites/default/files/docs/Regulation_assignation_v7.1.pdf
|
// https://www.nic.it/sites/default/files/archivio/docs/Regulation_assignation_v7.1.pdf
|
||||||
// Regions
|
// Regions
|
||||||
abr.it
|
abr.it
|
||||||
abruzzo.it
|
abruzzo.it
|
||||||
@ -5886,14 +5899,9 @@ gov.rs
|
|||||||
in.rs
|
in.rs
|
||||||
org.rs
|
org.rs
|
||||||
|
|
||||||
// ru : https://cctld.ru/en/domains/domens_ru/reserved/
|
// ru : https://cctld.ru/files/pdf/docs/en/rules_ru-rf.pdf
|
||||||
|
// Submitted by George Georgievsky <gug@cctld.ru>
|
||||||
ru
|
ru
|
||||||
ac.ru
|
|
||||||
edu.ru
|
|
||||||
gov.ru
|
|
||||||
int.ru
|
|
||||||
mil.ru
|
|
||||||
test.ru
|
|
||||||
|
|
||||||
// rw : https://www.ricta.org.rw/sites/default/files/resources/registry_registrar_contract_0.pdf
|
// rw : https://www.ricta.org.rw/sites/default/files/resources/registry_registrar_contract_0.pdf
|
||||||
rw
|
rw
|
||||||
@ -6038,9 +6046,12 @@ org.sn
|
|||||||
perso.sn
|
perso.sn
|
||||||
univ.sn
|
univ.sn
|
||||||
|
|
||||||
// so : http://www.soregistry.com/
|
// so : http://sonic.so/policies/
|
||||||
so
|
so
|
||||||
com.so
|
com.so
|
||||||
|
edu.so
|
||||||
|
gov.so
|
||||||
|
me.so
|
||||||
net.so
|
net.so
|
||||||
org.so
|
org.so
|
||||||
|
|
||||||
@ -6510,7 +6521,7 @@ k12.ok.us
|
|||||||
k12.or.us
|
k12.or.us
|
||||||
k12.pa.us
|
k12.pa.us
|
||||||
k12.pr.us
|
k12.pr.us
|
||||||
k12.ri.us
|
// k12.ri.us Removed at request of Kim Cournoyer <netsupport@staff.ri.net>
|
||||||
k12.sc.us
|
k12.sc.us
|
||||||
// k12.sd.us Bug 934131 - Removed at request of James Booze <James.Booze@k12.sd.us>
|
// k12.sd.us Bug 934131 - Removed at request of James Booze <James.Booze@k12.sd.us>
|
||||||
k12.tn.us
|
k12.tn.us
|
||||||
@ -6797,8 +6808,13 @@ yt
|
|||||||
مصر
|
مصر
|
||||||
|
|
||||||
// xn--e1a4c ("eu", Cyrillic) : EU
|
// xn--e1a4c ("eu", Cyrillic) : EU
|
||||||
|
// https://eurid.eu
|
||||||
ею
|
ею
|
||||||
|
|
||||||
|
// xn--qxa6a ("eu", Greek) : EU
|
||||||
|
// https://eurid.eu
|
||||||
|
ευ
|
||||||
|
|
||||||
// xn--mgbah1a3hjkrd ("Mauritania", Arabic) : MR
|
// xn--mgbah1a3hjkrd ("Mauritania", Arabic) : MR
|
||||||
موريتانيا
|
موريتانيا
|
||||||
|
|
||||||
@ -6955,7 +6971,8 @@ yt
|
|||||||
ак.срб
|
ак.срб
|
||||||
|
|
||||||
// xn--p1ai ("rf", Russian-Cyrillic) : RU
|
// xn--p1ai ("rf", Russian-Cyrillic) : RU
|
||||||
// http://www.cctld.ru/en/docs/rulesrf.php
|
// https://cctld.ru/files/pdf/docs/en/rules_ru-rf.pdf
|
||||||
|
// Submitted by George Georgievsky <gug@cctld.ru>
|
||||||
рф
|
рф
|
||||||
|
|
||||||
// xn--wgbl6a ("Qatar", Arabic) : QA
|
// xn--wgbl6a ("Qatar", Arabic) : QA
|
||||||
@ -7075,7 +7092,7 @@ org.zw
|
|||||||
|
|
||||||
// newGTLDs
|
// newGTLDs
|
||||||
|
|
||||||
// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2019-09-26T16:43:02Z
|
// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2020-04-02T18:20:31Z
|
||||||
// This list is auto-generated, don't edit it manually.
|
// This list is auto-generated, don't edit it manually.
|
||||||
// aaa : 2015-02-26 American Automobile Association, Inc.
|
// aaa : 2015-02-26 American Automobile Association, Inc.
|
||||||
aaa
|
aaa
|
||||||
@ -7197,6 +7214,9 @@ alsace
|
|||||||
// alstom : 2015-07-30 ALSTOM
|
// alstom : 2015-07-30 ALSTOM
|
||||||
alstom
|
alstom
|
||||||
|
|
||||||
|
// amazon : 2019-12-19 Amazon Registry Services, Inc.
|
||||||
|
amazon
|
||||||
|
|
||||||
// americanexpress : 2015-07-31 American Express Travel Related Services Company, Inc.
|
// americanexpress : 2015-07-31 American Express Travel Related Services Company, Inc.
|
||||||
americanexpress
|
americanexpress
|
||||||
|
|
||||||
@ -7296,7 +7316,7 @@ auto
|
|||||||
// autos : 2014-01-09 DERAutos, LLC
|
// autos : 2014-01-09 DERAutos, LLC
|
||||||
autos
|
autos
|
||||||
|
|
||||||
// avianca : 2015-01-08 Aerovias del Continente Americano S.A. Avianca
|
// avianca : 2015-01-08 Avianca Holdings S.A.
|
||||||
avianca
|
avianca
|
||||||
|
|
||||||
// aws : 2015-06-25 Amazon Registry Services, Inc.
|
// aws : 2015-06-25 Amazon Registry Services, Inc.
|
||||||
@ -7374,7 +7394,7 @@ bcn
|
|||||||
// beats : 2015-05-14 Beats Electronics, LLC
|
// beats : 2015-05-14 Beats Electronics, LLC
|
||||||
beats
|
beats
|
||||||
|
|
||||||
// beauty : 2015-12-03 L'Oréal
|
// beauty : 2015-12-03 XYZ.COM LLC
|
||||||
beauty
|
beauty
|
||||||
|
|
||||||
// beer : 2014-01-09 Minds + Machines Group Limited
|
// beer : 2014-01-09 Minds + Machines Group Limited
|
||||||
@ -7587,9 +7607,6 @@ careers
|
|||||||
// cars : 2014-11-13 Cars Registry Limited
|
// cars : 2014-11-13 Cars Registry Limited
|
||||||
cars
|
cars
|
||||||
|
|
||||||
// cartier : 2014-06-23 Richemont DNS Inc.
|
|
||||||
cartier
|
|
||||||
|
|
||||||
// casa : 2013-11-21 Minds + Machines Group Limited
|
// casa : 2013-11-21 Minds + Machines Group Limited
|
||||||
casa
|
casa
|
||||||
|
|
||||||
@ -7668,9 +7685,6 @@ christmas
|
|||||||
// chrome : 2014-07-24 Charleston Road Registry Inc.
|
// chrome : 2014-07-24 Charleston Road Registry Inc.
|
||||||
chrome
|
chrome
|
||||||
|
|
||||||
// chrysler : 2015-07-30 FCA US LLC.
|
|
||||||
chrysler
|
|
||||||
|
|
||||||
// church : 2014-02-06 Binky Moon, LLC
|
// church : 2014-02-06 Binky Moon, LLC
|
||||||
church
|
church
|
||||||
|
|
||||||
@ -7836,7 +7850,7 @@ cuisinella
|
|||||||
// cymru : 2014-05-08 Nominet UK
|
// cymru : 2014-05-08 Nominet UK
|
||||||
cymru
|
cymru
|
||||||
|
|
||||||
// cyou : 2015-01-22 Beijing Gamease Age Digital Technology Co., Ltd.
|
// cyou : 2015-01-22 ShortDot SA
|
||||||
cyou
|
cyou
|
||||||
|
|
||||||
// dabur : 2014-02-06 Dabur India Limited
|
// dabur : 2014-02-06 Dabur India Limited
|
||||||
@ -7950,9 +7964,6 @@ docs
|
|||||||
// doctor : 2016-06-02 Binky Moon, LLC
|
// doctor : 2016-06-02 Binky Moon, LLC
|
||||||
doctor
|
doctor
|
||||||
|
|
||||||
// dodge : 2015-07-30 FCA US LLC.
|
|
||||||
dodge
|
|
||||||
|
|
||||||
// dog : 2014-12-04 Binky Moon, LLC
|
// dog : 2014-12-04 Binky Moon, LLC
|
||||||
dog
|
dog
|
||||||
|
|
||||||
@ -8058,9 +8069,6 @@ eus
|
|||||||
// events : 2013-12-05 Binky Moon, LLC
|
// events : 2013-12-05 Binky Moon, LLC
|
||||||
events
|
events
|
||||||
|
|
||||||
// everbank : 2014-05-15 EverBank
|
|
||||||
everbank
|
|
||||||
|
|
||||||
// exchange : 2014-03-06 Binky Moon, LLC
|
// exchange : 2014-03-06 Binky Moon, LLC
|
||||||
exchange
|
exchange
|
||||||
|
|
||||||
@ -8334,7 +8342,7 @@ gmail
|
|||||||
// gmbh : 2016-01-29 Binky Moon, LLC
|
// gmbh : 2016-01-29 Binky Moon, LLC
|
||||||
gmbh
|
gmbh
|
||||||
|
|
||||||
// gmo : 2014-01-09 GMO Internet Pte. Ltd.
|
// gmo : 2014-01-09 GMO Internet, Inc.
|
||||||
gmo
|
gmo
|
||||||
|
|
||||||
// gmx : 2014-04-24 1&1 Mail & Media GmbH
|
// gmx : 2014-04-24 1&1 Mail & Media GmbH
|
||||||
@ -8409,7 +8417,7 @@ guitars
|
|||||||
// guru : 2013-08-27 Binky Moon, LLC
|
// guru : 2013-08-27 Binky Moon, LLC
|
||||||
guru
|
guru
|
||||||
|
|
||||||
// hair : 2015-12-03 L'Oréal
|
// hair : 2015-12-03 XYZ.COM LLC
|
||||||
hair
|
hair
|
||||||
|
|
||||||
// hamburg : 2014-02-20 Hamburg Top-Level-Domain GmbH
|
// hamburg : 2014-02-20 Hamburg Top-Level-Domain GmbH
|
||||||
@ -8745,9 +8753,6 @@ kyoto
|
|||||||
// lacaixa : 2014-01-09 Fundación Bancaria Caixa d’Estalvis i Pensions de Barcelona, “la Caixa”
|
// lacaixa : 2014-01-09 Fundación Bancaria Caixa d’Estalvis i Pensions de Barcelona, “la Caixa”
|
||||||
lacaixa
|
lacaixa
|
||||||
|
|
||||||
// ladbrokes : 2015-08-06 LADBROKES INTERNATIONAL PLC
|
|
||||||
ladbrokes
|
|
||||||
|
|
||||||
// lamborghini : 2015-06-04 Automobili Lamborghini S.p.A.
|
// lamborghini : 2015-06-04 Automobili Lamborghini S.p.A.
|
||||||
lamborghini
|
lamborghini
|
||||||
|
|
||||||
@ -8760,9 +8765,6 @@ lancaster
|
|||||||
// lancia : 2015-07-31 Fiat Chrysler Automobiles N.V.
|
// lancia : 2015-07-31 Fiat Chrysler Automobiles N.V.
|
||||||
lancia
|
lancia
|
||||||
|
|
||||||
// lancome : 2015-07-23 L'Oréal
|
|
||||||
lancome
|
|
||||||
|
|
||||||
// land : 2013-09-10 Binky Moon, LLC
|
// land : 2013-09-10 Binky Moon, LLC
|
||||||
land
|
land
|
||||||
|
|
||||||
@ -8814,9 +8816,6 @@ lexus
|
|||||||
// lgbt : 2014-05-08 Afilias Limited
|
// lgbt : 2014-05-08 Afilias Limited
|
||||||
lgbt
|
lgbt
|
||||||
|
|
||||||
// liaison : 2014-10-02 Liaison Technologies, Incorporated
|
|
||||||
liaison
|
|
||||||
|
|
||||||
// lidl : 2014-09-18 Schwarz Domains und Services GmbH & Co. KG
|
// lidl : 2014-09-18 Schwarz Domains und Services GmbH & Co. KG
|
||||||
lidl
|
lidl
|
||||||
|
|
||||||
@ -8937,7 +8936,7 @@ maif
|
|||||||
// maison : 2013-12-05 Binky Moon, LLC
|
// maison : 2013-12-05 Binky Moon, LLC
|
||||||
maison
|
maison
|
||||||
|
|
||||||
// makeup : 2015-01-15 L'Oréal
|
// makeup : 2015-01-15 XYZ.COM LLC
|
||||||
makeup
|
makeup
|
||||||
|
|
||||||
// man : 2014-12-04 MAN SE
|
// man : 2014-12-04 MAN SE
|
||||||
@ -9060,9 +9059,6 @@ money
|
|||||||
// monster : 2015-09-11 XYZ.COM LLC
|
// monster : 2015-09-11 XYZ.COM LLC
|
||||||
monster
|
monster
|
||||||
|
|
||||||
// mopar : 2015-07-30 FCA US LLC.
|
|
||||||
mopar
|
|
||||||
|
|
||||||
// mormon : 2013-12-05 IRI Domain Management, LLC ("Applicant")
|
// mormon : 2013-12-05 IRI Domain Management, LLC ("Applicant")
|
||||||
mormon
|
mormon
|
||||||
|
|
||||||
@ -9084,9 +9080,6 @@ mov
|
|||||||
// movie : 2015-02-05 Binky Moon, LLC
|
// movie : 2015-02-05 Binky Moon, LLC
|
||||||
movie
|
movie
|
||||||
|
|
||||||
// movistar : 2014-10-16 Telefónica S.A.
|
|
||||||
movistar
|
|
||||||
|
|
||||||
// msd : 2015-07-23 MSD Registry Holdings, Inc.
|
// msd : 2015-07-23 MSD Registry Holdings, Inc.
|
||||||
msd
|
msd
|
||||||
|
|
||||||
@ -9102,9 +9095,6 @@ mutual
|
|||||||
// nab : 2015-08-20 National Australia Bank Limited
|
// nab : 2015-08-20 National Australia Bank Limited
|
||||||
nab
|
nab
|
||||||
|
|
||||||
// nadex : 2014-12-11 Nadex Domains, Inc.
|
|
||||||
nadex
|
|
||||||
|
|
||||||
// nagoya : 2013-10-24 GMO Registry, Inc.
|
// nagoya : 2013-10-24 GMO Registry, Inc.
|
||||||
nagoya
|
nagoya
|
||||||
|
|
||||||
@ -9345,9 +9335,6 @@ photos
|
|||||||
// physio : 2014-05-01 PhysBiz Pty Ltd
|
// physio : 2014-05-01 PhysBiz Pty Ltd
|
||||||
physio
|
physio
|
||||||
|
|
||||||
// piaget : 2014-10-16 Richemont DNS Inc.
|
|
||||||
piaget
|
|
||||||
|
|
||||||
// pics : 2013-11-14 Uniregistry, Corp.
|
// pics : 2013-11-14 Uniregistry, Corp.
|
||||||
pics
|
pics
|
||||||
|
|
||||||
@ -9459,7 +9446,7 @@ qpon
|
|||||||
// quebec : 2013-12-19 PointQuébec Inc
|
// quebec : 2013-12-19 PointQuébec Inc
|
||||||
quebec
|
quebec
|
||||||
|
|
||||||
// quest : 2015-03-26 Quest ION Limited
|
// quest : 2015-03-26 XYZ.COM LLC
|
||||||
quest
|
quest
|
||||||
|
|
||||||
// qvc : 2015-07-30 QVC, Inc.
|
// qvc : 2015-07-30 QVC, Inc.
|
||||||
@ -9789,7 +9776,7 @@ site
|
|||||||
// ski : 2015-04-09 Afilias Limited
|
// ski : 2015-04-09 Afilias Limited
|
||||||
ski
|
ski
|
||||||
|
|
||||||
// skin : 2015-01-15 L'Oréal
|
// skin : 2015-01-15 XYZ.COM LLC
|
||||||
skin
|
skin
|
||||||
|
|
||||||
// sky : 2014-06-19 Sky International AG
|
// sky : 2014-06-19 Sky International AG
|
||||||
@ -9858,9 +9845,6 @@ spreadbetting
|
|||||||
// srl : 2015-05-07 InterNetX, Corp
|
// srl : 2015-05-07 InterNetX, Corp
|
||||||
srl
|
srl
|
||||||
|
|
||||||
// srt : 2015-07-30 FCA US LLC.
|
|
||||||
srt
|
|
||||||
|
|
||||||
// stada : 2014-11-13 STADA Arzneimittel AG
|
// stada : 2014-11-13 STADA Arzneimittel AG
|
||||||
stada
|
stada
|
||||||
|
|
||||||
@ -9987,9 +9971,6 @@ tech
|
|||||||
// technology : 2013-09-13 Binky Moon, LLC
|
// technology : 2013-09-13 Binky Moon, LLC
|
||||||
technology
|
technology
|
||||||
|
|
||||||
// telefonica : 2014-10-16 Telefónica S.A.
|
|
||||||
telefonica
|
|
||||||
|
|
||||||
// temasek : 2014-08-07 Temasek Holdings (Private) Limited
|
// temasek : 2014-08-07 Temasek Holdings (Private) Limited
|
||||||
temasek
|
temasek
|
||||||
|
|
||||||
@ -10083,7 +10064,7 @@ trading
|
|||||||
// training : 2013-11-07 Binky Moon, LLC
|
// training : 2013-11-07 Binky Moon, LLC
|
||||||
training
|
training
|
||||||
|
|
||||||
// travel : Dog Beach, LLC
|
// travel : 2015-10-09 Dog Beach, LLC
|
||||||
travel
|
travel
|
||||||
|
|
||||||
// travelchannel : 2015-07-02 Lifestyle Domain Holdings, Inc.
|
// travelchannel : 2015-07-02 Lifestyle Domain Holdings, Inc.
|
||||||
@ -10122,9 +10103,6 @@ ubank
|
|||||||
// ubs : 2014-12-11 UBS AG
|
// ubs : 2014-12-11 UBS AG
|
||||||
ubs
|
ubs
|
||||||
|
|
||||||
// uconnect : 2015-07-30 FCA US LLC.
|
|
||||||
uconnect
|
|
||||||
|
|
||||||
// unicom : 2015-10-15 China United Network Communications Corporation Limited
|
// unicom : 2015-10-15 China United Network Communications Corporation Limited
|
||||||
unicom
|
unicom
|
||||||
|
|
||||||
@ -10194,9 +10172,6 @@ visa
|
|||||||
// vision : 2013-12-05 Binky Moon, LLC
|
// vision : 2013-12-05 Binky Moon, LLC
|
||||||
vision
|
vision
|
||||||
|
|
||||||
// vistaprint : 2014-09-18 Vistaprint Limited
|
|
||||||
vistaprint
|
|
||||||
|
|
||||||
// viva : 2014-11-07 Saudi Telecom Company
|
// viva : 2014-11-07 Saudi Telecom Company
|
||||||
viva
|
viva
|
||||||
|
|
||||||
@ -10245,9 +10220,6 @@ wang
|
|||||||
// wanggou : 2014-12-18 Amazon Registry Services, Inc.
|
// wanggou : 2014-12-18 Amazon Registry Services, Inc.
|
||||||
wanggou
|
wanggou
|
||||||
|
|
||||||
// warman : 2015-06-18 Weir Group IP Limited
|
|
||||||
warman
|
|
||||||
|
|
||||||
// watch : 2013-11-14 Binky Moon, LLC
|
// watch : 2013-11-14 Binky Moon, LLC
|
||||||
watch
|
watch
|
||||||
|
|
||||||
@ -10362,7 +10334,7 @@ xin
|
|||||||
// xn--3bst00m : 2013-09-13 Eagle Horizon Limited
|
// xn--3bst00m : 2013-09-13 Eagle Horizon Limited
|
||||||
集团
|
集团
|
||||||
|
|
||||||
// xn--3ds443g : 2013-09-08 TLD REGISTRY LIMITED
|
// xn--3ds443g : 2013-09-08 TLD REGISTRY LIMITED OY
|
||||||
在线
|
在线
|
||||||
|
|
||||||
// xn--3oq18vl8pn36a : 2015-07-02 Volkswagen (China) Investment Co., Ltd.
|
// xn--3oq18vl8pn36a : 2015-07-02 Volkswagen (China) Investment Co., Ltd.
|
||||||
@ -10377,7 +10349,7 @@ xin
|
|||||||
// xn--45q11c : 2013-11-21 Zodiac Gemini Ltd
|
// xn--45q11c : 2013-11-21 Zodiac Gemini Ltd
|
||||||
八卦
|
八卦
|
||||||
|
|
||||||
// xn--4gbrim : 2013-10-04 Suhub Electronic Establishment
|
// xn--4gbrim : 2013-10-04 Fans TLD Limited
|
||||||
موقع
|
موقع
|
||||||
|
|
||||||
// xn--55qw42g : 2013-11-08 China Organizational Name Administration Center
|
// xn--55qw42g : 2013-11-08 China Organizational Name Administration Center
|
||||||
@ -10437,10 +10409,13 @@ xin
|
|||||||
// xn--cck2b3b : 2015-02-26 Amazon Registry Services, Inc.
|
// xn--cck2b3b : 2015-02-26 Amazon Registry Services, Inc.
|
||||||
ストア
|
ストア
|
||||||
|
|
||||||
|
// xn--cckwcxetd : 2019-12-19 Amazon Registry Services, Inc.
|
||||||
|
アマゾン
|
||||||
|
|
||||||
// xn--cg4bki : 2013-09-27 SAMSUNG SDS CO., LTD
|
// xn--cg4bki : 2013-09-27 SAMSUNG SDS CO., LTD
|
||||||
삼성
|
삼성
|
||||||
|
|
||||||
// xn--czr694b : 2014-01-16 Dot Trademark TLD Holding Company Limited
|
// xn--czr694b : 2014-01-16 Internet DotTrademark Organisation Limited
|
||||||
商标
|
商标
|
||||||
|
|
||||||
// xn--czrs0t : 2013-12-19 Binky Moon, LLC
|
// xn--czrs0t : 2013-12-19 Binky Moon, LLC
|
||||||
@ -10458,16 +10433,13 @@ xin
|
|||||||
// xn--efvy88h : 2014-08-22 Guangzhou YU Wei Information Technology Co., Ltd.
|
// xn--efvy88h : 2014-08-22 Guangzhou YU Wei Information Technology Co., Ltd.
|
||||||
新闻
|
新闻
|
||||||
|
|
||||||
// xn--estv75g : 2015-02-19 Industrial and Commercial Bank of China Limited
|
|
||||||
工行
|
|
||||||
|
|
||||||
// xn--fct429k : 2015-04-09 Amazon Registry Services, Inc.
|
// xn--fct429k : 2015-04-09 Amazon Registry Services, Inc.
|
||||||
家電
|
家電
|
||||||
|
|
||||||
// xn--fhbei : 2015-01-15 VeriSign Sarl
|
// xn--fhbei : 2015-01-15 VeriSign Sarl
|
||||||
كوم
|
كوم
|
||||||
|
|
||||||
// xn--fiq228c5hs : 2013-09-08 TLD REGISTRY LIMITED
|
// xn--fiq228c5hs : 2013-09-08 TLD REGISTRY LIMITED OY
|
||||||
中文网
|
中文网
|
||||||
|
|
||||||
// xn--fiq64b : 2013-10-14 CITIC Group Corporation
|
// xn--fiq64b : 2013-10-14 CITIC Group Corporation
|
||||||
@ -10497,7 +10469,7 @@ xin
|
|||||||
// xn--i1b6b1a6a2e : 2013-11-14 Public Interest Registry
|
// xn--i1b6b1a6a2e : 2013-11-14 Public Interest Registry
|
||||||
संगठन
|
संगठन
|
||||||
|
|
||||||
// xn--imr513n : 2014-12-11 Dot Trademark TLD Holding Company Limited
|
// xn--imr513n : 2014-12-11 Internet DotTrademark Organisation Limited
|
||||||
餐厅
|
餐厅
|
||||||
|
|
||||||
// xn--io0a7i : 2013-11-14 China Internet Network Information Center (CNNIC)
|
// xn--io0a7i : 2013-11-14 China Internet Network Information Center (CNNIC)
|
||||||
@ -10506,6 +10478,9 @@ xin
|
|||||||
// xn--j1aef : 2015-01-15 VeriSign Sarl
|
// xn--j1aef : 2015-01-15 VeriSign Sarl
|
||||||
ком
|
ком
|
||||||
|
|
||||||
|
// xn--jlq480n2rg : 2019-12-19 Amazon Registry Services, Inc.
|
||||||
|
亚马逊
|
||||||
|
|
||||||
// xn--jlq61u9w7b : 2015-01-08 Nokia Corporation
|
// xn--jlq61u9w7b : 2015-01-08 Nokia Corporation
|
||||||
诺基亚
|
诺基亚
|
||||||
|
|
||||||
@ -10566,7 +10541,7 @@ xin
|
|||||||
// xn--nyqy26a : 2014-11-07 Stable Tone Limited
|
// xn--nyqy26a : 2014-11-07 Stable Tone Limited
|
||||||
健康
|
健康
|
||||||
|
|
||||||
// xn--otu796d : 2017-08-06 Dot Trademark TLD Holding Company Limited
|
// xn--otu796d : 2017-08-06 Jiang Yu Liang Cai Technology Company Limited
|
||||||
招聘
|
招聘
|
||||||
|
|
||||||
// xn--p1acf : 2013-12-12 Rusnames Limited
|
// xn--p1acf : 2013-12-12 Rusnames Limited
|
||||||
@ -10641,7 +10616,7 @@ yahoo
|
|||||||
// yamaxun : 2014-12-18 Amazon Registry Services, Inc.
|
// yamaxun : 2014-12-18 Amazon Registry Services, Inc.
|
||||||
yamaxun
|
yamaxun
|
||||||
|
|
||||||
// yandex : 2014-04-10 YANDEX, LLC
|
// yandex : 2014-04-10 Yandex Europe B.V.
|
||||||
yandex
|
yandex
|
||||||
|
|
||||||
// yodobashi : 2014-11-20 YODOBASHI CAMERA CO.,LTD.
|
// yodobashi : 2014-11-20 YODOBASHI CAMERA CO.,LTD.
|
||||||
@ -10691,6 +10666,12 @@ cc.ua
|
|||||||
inf.ua
|
inf.ua
|
||||||
ltd.ua
|
ltd.ua
|
||||||
|
|
||||||
|
// Adobe : https://www.adobe.com/
|
||||||
|
// Submitted by Ian Boston <boston@adobe.com>
|
||||||
|
adobeaemcloud.com
|
||||||
|
adobeaemcloud.net
|
||||||
|
*.dev.adobeaemcloud.com
|
||||||
|
|
||||||
// Agnat sp. z o.o. : https://domena.pl
|
// Agnat sp. z o.o. : https://domena.pl
|
||||||
// Submitted by Przemyslaw Plewa <it-admin@domena.pl>
|
// Submitted by Przemyslaw Plewa <it-admin@domena.pl>
|
||||||
beep.pl
|
beep.pl
|
||||||
@ -10808,6 +10789,10 @@ s3-website.eu-west-2.amazonaws.com
|
|||||||
s3-website.eu-west-3.amazonaws.com
|
s3-website.eu-west-3.amazonaws.com
|
||||||
s3-website.us-east-2.amazonaws.com
|
s3-website.us-east-2.amazonaws.com
|
||||||
|
|
||||||
|
// Amsterdam Wireless: https://www.amsterdamwireless.nl/
|
||||||
|
// Submitted by Imre Jonk <hostmaster@amsterdamwireless.nl>
|
||||||
|
amsw.nl
|
||||||
|
|
||||||
// Amune : https://amune.org/
|
// Amune : https://amune.org/
|
||||||
// Submitted by Team Amune <cert@amune.org>
|
// Submitted by Team Amune <cert@amune.org>
|
||||||
t3l3p0rt.net
|
t3l3p0rt.net
|
||||||
@ -10842,12 +10827,6 @@ sweetpepper.org
|
|||||||
// Submitted by Vincent Tseng <vincenttseng@asustor.com>
|
// Submitted by Vincent Tseng <vincenttseng@asustor.com>
|
||||||
myasustor.com
|
myasustor.com
|
||||||
|
|
||||||
// Automattic Inc. : https://automattic.com/
|
|
||||||
// Submitted by Alex Concha <alex.concha@automattic.com>
|
|
||||||
go-vip.co
|
|
||||||
go-vip.net
|
|
||||||
wpcomstaging.com
|
|
||||||
|
|
||||||
// AVM : https://avm.de
|
// AVM : https://avm.de
|
||||||
// Submitted by Andreas Weise <a.weise@avm.de>
|
// Submitted by Andreas Weise <a.weise@avm.de>
|
||||||
myfritz.net
|
myfritz.net
|
||||||
@ -10984,8 +10963,9 @@ certmgr.org
|
|||||||
xenapponazure.com
|
xenapponazure.com
|
||||||
|
|
||||||
// Civilized Discourse Construction Kit, Inc. : https://www.discourse.org/
|
// Civilized Discourse Construction Kit, Inc. : https://www.discourse.org/
|
||||||
// Submitted by Rishabh Nambiar <rishabh.nambiar@discourse.org>
|
// Submitted by Rishabh Nambiar & Michael Brown <team@discourse.org>
|
||||||
discourse.group
|
discourse.group
|
||||||
|
discourse.team
|
||||||
|
|
||||||
// ClearVox : http://www.clearvox.nl/
|
// ClearVox : http://www.clearvox.nl/
|
||||||
// Submitted by Leon Rowland <leon@clearvox.nl>
|
// Submitted by Leon Rowland <leon@clearvox.nl>
|
||||||
@ -11000,6 +10980,10 @@ cleverapps.io
|
|||||||
*.lcl.dev
|
*.lcl.dev
|
||||||
*.stg.dev
|
*.stg.dev
|
||||||
|
|
||||||
|
// Clic2000 : https://clic2000.fr
|
||||||
|
// Submitted by Mathilde Blanchemanche <mathilde@clic2000.fr>
|
||||||
|
clic2000.net
|
||||||
|
|
||||||
// Cloud66 : https://www.cloud66.com/
|
// Cloud66 : https://www.cloud66.com/
|
||||||
// Submitted by Khash Sajadi <khash@cloud66.com>
|
// Submitted by Khash Sajadi <khash@cloud66.com>
|
||||||
c66.me
|
c66.me
|
||||||
@ -11082,6 +11066,15 @@ co.no
|
|||||||
webhosting.be
|
webhosting.be
|
||||||
hosting-cluster.nl
|
hosting-cluster.nl
|
||||||
|
|
||||||
|
// Coordination Center for TLD RU and XN--P1AI : https://cctld.ru/en/domains/domens_ru/reserved/
|
||||||
|
// Submitted by George Georgievsky <gug@cctld.ru>
|
||||||
|
ac.ru
|
||||||
|
edu.ru
|
||||||
|
gov.ru
|
||||||
|
int.ru
|
||||||
|
mil.ru
|
||||||
|
test.ru
|
||||||
|
|
||||||
// COSIMO GmbH : http://www.cosimo.de
|
// COSIMO GmbH : http://www.cosimo.de
|
||||||
// Submitted by Rene Marticke <rmarticke@cosimo.de>
|
// Submitted by Rene Marticke <rmarticke@cosimo.de>
|
||||||
dyn.cosidns.de
|
dyn.cosidns.de
|
||||||
@ -11106,6 +11099,18 @@ realm.cz
|
|||||||
// Submitted by Jonathan Rudenberg <jonathan@cupcake.io>
|
// Submitted by Jonathan Rudenberg <jonathan@cupcake.io>
|
||||||
cupcake.is
|
cupcake.is
|
||||||
|
|
||||||
|
// Curv UG : https://curv-labs.de/
|
||||||
|
// Submitted by Marvin Wiesner <Marvin@curv-labs.de>
|
||||||
|
curv.dev
|
||||||
|
|
||||||
|
// Customer OCI - Oracle Dyn https://cloud.oracle.com/home https://dyn.com/dns/
|
||||||
|
// Submitted by Gregory Drake <support@dyn.com>
|
||||||
|
// Note: This is intended to also include customer-oci.com due to wildcards implicitly including the current label
|
||||||
|
*.customer-oci.com
|
||||||
|
*.oci.customer-oci.com
|
||||||
|
*.ocp.customer-oci.com
|
||||||
|
*.ocs.customer-oci.com
|
||||||
|
|
||||||
// cyon GmbH : https://www.cyon.ch/
|
// cyon GmbH : https://www.cyon.ch/
|
||||||
// Submitted by Dominic Luechinger <dol@cyon.ch>
|
// Submitted by Dominic Luechinger <dol@cyon.ch>
|
||||||
cyon.link
|
cyon.link
|
||||||
@ -11133,11 +11138,23 @@ firm.dk
|
|||||||
reg.dk
|
reg.dk
|
||||||
store.dk
|
store.dk
|
||||||
|
|
||||||
|
// dappnode.io : https://dappnode.io/
|
||||||
|
// Submitted by Abel Boldu / DAppNode Team <community@dappnode.io>
|
||||||
|
dyndns.dappnode.io
|
||||||
|
|
||||||
// dapps.earth : https://dapps.earth/
|
// dapps.earth : https://dapps.earth/
|
||||||
// Submitted by Daniil Burdakov <icqkill@gmail.com>
|
// Submitted by Daniil Burdakov <icqkill@gmail.com>
|
||||||
*.dapps.earth
|
*.dapps.earth
|
||||||
*.bzz.dapps.earth
|
*.bzz.dapps.earth
|
||||||
|
|
||||||
|
// Dark, Inc. : https://darklang.com
|
||||||
|
// Submitted by Paul Biggar <ops@darklang.com>
|
||||||
|
builtwithdark.com
|
||||||
|
|
||||||
|
// Datawire, Inc : https://www.datawire.io
|
||||||
|
// Submitted by Richard Li <secalert@datawire.io>
|
||||||
|
edgestack.me
|
||||||
|
|
||||||
// Debian : https://www.debian.org/
|
// Debian : https://www.debian.org/
|
||||||
// Submitted by Peter Palfrader / Debian Sysadmin Team <dsa-publicsuffixlist@debian.org>
|
// Submitted by Peter Palfrader / Debian Sysadmin Team <dsa-publicsuffixlist@debian.org>
|
||||||
debian.net
|
debian.net
|
||||||
@ -11511,6 +11528,10 @@ dynv6.net
|
|||||||
// Submitted by Vladimir Dudr <info@e4you.cz>
|
// Submitted by Vladimir Dudr <info@e4you.cz>
|
||||||
e4.cz
|
e4.cz
|
||||||
|
|
||||||
|
// En root‽ : https://en-root.org
|
||||||
|
// Submitted by Emmanuel Raviart <emmanuel@raviart.com>
|
||||||
|
en-root.fr
|
||||||
|
|
||||||
// Enalean SAS: https://www.enalean.com
|
// Enalean SAS: https://www.enalean.com
|
||||||
// Submitted by Thomas Cottier <thomas.cottier@enalean.com>
|
// Submitted by Thomas Cottier <thomas.cottier@enalean.com>
|
||||||
mytuleap.com
|
mytuleap.com
|
||||||
@ -11603,6 +11624,10 @@ twmail.org
|
|||||||
mymailer.com.tw
|
mymailer.com.tw
|
||||||
url.tw
|
url.tw
|
||||||
|
|
||||||
|
// Fabrica Technologies, Inc. : https://www.fabrica.dev/
|
||||||
|
// Submitted by Eric Jiang <eric@fabrica.dev>
|
||||||
|
onfabrica.com
|
||||||
|
|
||||||
// Facebook, Inc.
|
// Facebook, Inc.
|
||||||
// Submitted by Peter Ruibal <public-suffix@fb.com>
|
// Submitted by Peter Ruibal <public-suffix@fb.com>
|
||||||
apps.fbsbx.com
|
apps.fbsbx.com
|
||||||
@ -11686,6 +11711,7 @@ vologda.su
|
|||||||
// Fancy Bits, LLC : http://getchannels.com
|
// Fancy Bits, LLC : http://getchannels.com
|
||||||
// Submitted by Aman Gupta <aman@getchannels.com>
|
// Submitted by Aman Gupta <aman@getchannels.com>
|
||||||
channelsdvr.net
|
channelsdvr.net
|
||||||
|
u.channelsdvr.net
|
||||||
|
|
||||||
// Fastly Inc. : http://www.fastly.com/
|
// Fastly Inc. : http://www.fastly.com/
|
||||||
// Submitted by Fastly Security <security@fastly.com>
|
// Submitted by Fastly Security <security@fastly.com>
|
||||||
@ -11704,6 +11730,10 @@ global.ssl.fastly.net
|
|||||||
// Submitted by Likhachev Vasiliy <lihachev@fastvps.ru>
|
// Submitted by Likhachev Vasiliy <lihachev@fastvps.ru>
|
||||||
fastpanel.direct
|
fastpanel.direct
|
||||||
fastvps-server.com
|
fastvps-server.com
|
||||||
|
myfast.space
|
||||||
|
myfast.host
|
||||||
|
fastvps.site
|
||||||
|
fastvps.host
|
||||||
|
|
||||||
// Featherhead : https://featherhead.xyz/
|
// Featherhead : https://featherhead.xyz/
|
||||||
// Submitted by Simon Menke <simon@featherhead.xyz>
|
// Submitted by Simon Menke <simon@featherhead.xyz>
|
||||||
@ -11717,6 +11747,13 @@ cloud.fedoraproject.org
|
|||||||
app.os.fedoraproject.org
|
app.os.fedoraproject.org
|
||||||
app.os.stg.fedoraproject.org
|
app.os.stg.fedoraproject.org
|
||||||
|
|
||||||
|
// FearWorks Media Ltd. : https://fearworksmedia.co.uk
|
||||||
|
// submitted by Keith Fairley <domains@fearworksmedia.co.uk>
|
||||||
|
conn.uk
|
||||||
|
copro.uk
|
||||||
|
couk.me
|
||||||
|
ukco.me
|
||||||
|
|
||||||
// Fermax : https://fermax.com/
|
// Fermax : https://fermax.com/
|
||||||
// submitted by Koen Van Isterdael <k.vanisterdael@fermax.be>
|
// submitted by Koen Van Isterdael <k.vanisterdael@fermax.be>
|
||||||
mydobiss.com
|
mydobiss.com
|
||||||
@ -11737,9 +11774,12 @@ firebaseapp.com
|
|||||||
|
|
||||||
// Flynn : https://flynn.io
|
// Flynn : https://flynn.io
|
||||||
// Submitted by Jonathan Rudenberg <jonathan@flynn.io>
|
// Submitted by Jonathan Rudenberg <jonathan@flynn.io>
|
||||||
flynnhub.com
|
|
||||||
flynnhosting.net
|
flynnhosting.net
|
||||||
|
|
||||||
|
// Frederik Braun https://frederik-braun.com
|
||||||
|
// Submitted by Frederik Braun <fb@frederik-braun.com>
|
||||||
|
0e.vc
|
||||||
|
|
||||||
// Freebox : http://www.freebox.fr
|
// Freebox : http://www.freebox.fr
|
||||||
// Submitted by Romain Fliedel <rfliedel@freebox.fr>
|
// Submitted by Romain Fliedel <rfliedel@freebox.fr>
|
||||||
freebox-os.com
|
freebox-os.com
|
||||||
@ -11773,8 +11813,9 @@ service.gov.uk
|
|||||||
gehirn.ne.jp
|
gehirn.ne.jp
|
||||||
usercontent.jp
|
usercontent.jp
|
||||||
|
|
||||||
// Gentlent, Limited : https://www.gentlent.com
|
// Gentlent, Inc. : https://www.gentlent.com
|
||||||
// Submitted by Tom Klein <tklein@gentlent.com>
|
// Submitted by Tom Klein <tom@gentlent.com>
|
||||||
|
gentapps.com
|
||||||
lab.ms
|
lab.ms
|
||||||
|
|
||||||
// GitHub, Inc.
|
// GitHub, Inc.
|
||||||
@ -11819,6 +11860,7 @@ a.run.app
|
|||||||
web.app
|
web.app
|
||||||
*.0emm.com
|
*.0emm.com
|
||||||
appspot.com
|
appspot.com
|
||||||
|
*.r.appspot.com
|
||||||
blogspot.ae
|
blogspot.ae
|
||||||
blogspot.al
|
blogspot.al
|
||||||
blogspot.am
|
blogspot.am
|
||||||
@ -11903,6 +11945,14 @@ publishproxy.com
|
|||||||
withgoogle.com
|
withgoogle.com
|
||||||
withyoutube.com
|
withyoutube.com
|
||||||
|
|
||||||
|
// Aaron Marais' Gitlab pages: https://lab.aaronleem.co.za
|
||||||
|
// Submitted by Aaron Marais <its_me@aaronleem.co.za>
|
||||||
|
graphox.us
|
||||||
|
|
||||||
|
// Group 53, LLC : https://www.group53.com
|
||||||
|
// Submitted by Tyler Todd <noc@nova53.net>
|
||||||
|
awsmppl.com
|
||||||
|
|
||||||
// Hakaran group: http://hakaran.cz
|
// Hakaran group: http://hakaran.cz
|
||||||
// Submited by Arseniy Sokolov <security@hakaran.cz>
|
// Submited by Arseniy Sokolov <security@hakaran.cz>
|
||||||
fin.ci
|
fin.ci
|
||||||
@ -11952,6 +12002,7 @@ col.ng
|
|||||||
firm.ng
|
firm.ng
|
||||||
gen.ng
|
gen.ng
|
||||||
ltd.ng
|
ltd.ng
|
||||||
|
ngo.ng
|
||||||
ng.school
|
ng.school
|
||||||
sch.so
|
sch.so
|
||||||
|
|
||||||
@ -12028,8 +12079,9 @@ pixolino.com
|
|||||||
ipifony.net
|
ipifony.net
|
||||||
|
|
||||||
// IServ GmbH : https://iserv.eu
|
// IServ GmbH : https://iserv.eu
|
||||||
// Submitted by Kim-Alexander Brodowski <kim.brodowski@iserv.eu>
|
// Submitted by Kim-Alexander Brodowski <info@iserv.eu>
|
||||||
mein-iserv.de
|
mein-iserv.de
|
||||||
|
schulserver.de
|
||||||
test-iserv.de
|
test-iserv.de
|
||||||
iserv.dev
|
iserv.dev
|
||||||
|
|
||||||
@ -12072,6 +12124,10 @@ uni5.net
|
|||||||
// Submitted by Roy Keene <rkeene@knightpoint.com>
|
// Submitted by Roy Keene <rkeene@knightpoint.com>
|
||||||
knightpoint.systems
|
knightpoint.systems
|
||||||
|
|
||||||
|
// KUROKU LTD : https://kuroku.ltd/
|
||||||
|
// Submitted by DisposaBoy <security@oya.to>
|
||||||
|
oya.to
|
||||||
|
|
||||||
// .KRD : http://nic.krd/data/krd/Registration%20Policy.pdf
|
// .KRD : http://nic.krd/data/krd/Registration%20Policy.pdf
|
||||||
co.krd
|
co.krd
|
||||||
edu.krd
|
edu.krd
|
||||||
@ -12211,8 +12267,8 @@ eu.meteorapp.com
|
|||||||
co.pl
|
co.pl
|
||||||
|
|
||||||
// Microsoft Corporation : http://microsoft.com
|
// Microsoft Corporation : http://microsoft.com
|
||||||
// Submitted by Justin Luk <juluk@microsoft.com>
|
// Submitted by Mostafa Elzeiny <moelzein@microsoft.com>
|
||||||
azurecontainer.io
|
*.azurecontainer.io
|
||||||
azurewebsites.net
|
azurewebsites.net
|
||||||
azure-mobile.net
|
azure-mobile.net
|
||||||
cloudapp.net
|
cloudapp.net
|
||||||
@ -12258,6 +12314,7 @@ nctu.me
|
|||||||
// Netlify : https://www.netlify.com
|
// Netlify : https://www.netlify.com
|
||||||
// Submitted by Jessica Parsons <jessica@netlify.com>
|
// Submitted by Jessica Parsons <jessica@netlify.com>
|
||||||
bitballoon.com
|
bitballoon.com
|
||||||
|
netlify.app
|
||||||
netlify.com
|
netlify.com
|
||||||
|
|
||||||
// Neustar Inc.
|
// Neustar Inc.
|
||||||
@ -12415,12 +12472,13 @@ pcloud.host
|
|||||||
nyc.mn
|
nyc.mn
|
||||||
|
|
||||||
// NymNom : https://nymnom.com/
|
// NymNom : https://nymnom.com/
|
||||||
// Submitted by Dave McCormack <dave.mccormack@nymnom.com>
|
// Submitted by NymNom <psl@nymnom.com>
|
||||||
nom.ae
|
nom.ae
|
||||||
nom.af
|
nom.af
|
||||||
nom.ai
|
nom.ai
|
||||||
nom.al
|
nom.al
|
||||||
nym.by
|
nym.by
|
||||||
|
nom.bz
|
||||||
nym.bz
|
nym.bz
|
||||||
nom.cl
|
nom.cl
|
||||||
nym.ec
|
nym.ec
|
||||||
@ -12442,6 +12500,7 @@ nom.li
|
|||||||
nym.li
|
nym.li
|
||||||
nym.lt
|
nym.lt
|
||||||
nym.lu
|
nym.lu
|
||||||
|
nom.lv
|
||||||
nym.me
|
nym.me
|
||||||
nom.mk
|
nom.mk
|
||||||
nym.mn
|
nym.mn
|
||||||
@ -12466,6 +12525,10 @@ nom.uy
|
|||||||
nom.vc
|
nom.vc
|
||||||
nom.vg
|
nom.vg
|
||||||
|
|
||||||
|
// Observable, Inc. : https://observablehq.com
|
||||||
|
// Submitted by Mike Bostock <dns@observablehq.com>
|
||||||
|
static.observableusercontent.com
|
||||||
|
|
||||||
// Octopodal Solutions, LLC. : https://ulterius.io/
|
// Octopodal Solutions, LLC. : https://ulterius.io/
|
||||||
// Submitted by Andrew Sampson <andrew@ulterius.io>
|
// Submitted by Andrew Sampson <andrew@ulterius.io>
|
||||||
cya.gg
|
cya.gg
|
||||||
@ -12486,6 +12549,10 @@ opencraft.hosting
|
|||||||
// Submitted by Yngve Pettersen <yngve@opera.com>
|
// Submitted by Yngve Pettersen <yngve@opera.com>
|
||||||
operaunite.com
|
operaunite.com
|
||||||
|
|
||||||
|
// Oursky Limited : https://skygear.io/
|
||||||
|
// Submited by Skygear Developer <hello@skygear.io>
|
||||||
|
skygearapp.com
|
||||||
|
|
||||||
// OutSystems
|
// OutSystems
|
||||||
// Submitted by Duarte Santos <domain-admin@outsystemscloud.com>
|
// Submitted by Duarte Santos <domain-admin@outsystemscloud.com>
|
||||||
outsystemscloud.com
|
outsystemscloud.com
|
||||||
@ -12528,6 +12595,10 @@ gotpantheon.com
|
|||||||
// Submitted by Steve Leung <steveleung@peplink.com>
|
// Submitted by Steve Leung <steveleung@peplink.com>
|
||||||
mypep.link
|
mypep.link
|
||||||
|
|
||||||
|
// Perspecta : https://perspecta.com/
|
||||||
|
// Submitted by Kenneth Van Alstyne <kvanalstyne@perspecta.com>
|
||||||
|
perspecta.cloud
|
||||||
|
|
||||||
// Planet-Work : https://www.planet-work.com/
|
// Planet-Work : https://www.planet-work.com/
|
||||||
// Submitted by Frédéric VANNIÈRE <f.vanniere@planet-work.com>
|
// Submitted by Frédéric VANNIÈRE <f.vanniere@planet-work.com>
|
||||||
on-web.fr
|
on-web.fr
|
||||||
@ -12537,6 +12608,12 @@ on-web.fr
|
|||||||
*.platform.sh
|
*.platform.sh
|
||||||
*.platformsh.site
|
*.platformsh.site
|
||||||
|
|
||||||
|
// Platter: https://platter.dev
|
||||||
|
// Submitted by Patrick Flor <patrick@platter.dev>
|
||||||
|
platter-app.com
|
||||||
|
platter-app.dev
|
||||||
|
platterp.us
|
||||||
|
|
||||||
// Port53 : https://port53.io/
|
// Port53 : https://port53.io/
|
||||||
// Submitted by Maximilian Schieder <maxi@zeug.co>
|
// Submitted by Maximilian Schieder <maxi@zeug.co>
|
||||||
dyn53.io
|
dyn53.io
|
||||||
@ -12578,6 +12655,10 @@ pubtls.org
|
|||||||
// Submitted by Xavier De Cock <xdecock@gmail.com>
|
// Submitted by Xavier De Cock <xdecock@gmail.com>
|
||||||
qualifioapp.com
|
qualifioapp.com
|
||||||
|
|
||||||
|
// QuickBackend: https://www.quickbackend.com
|
||||||
|
// Submitted by Dani Biro <dani@pymet.com>
|
||||||
|
qbuser.com
|
||||||
|
|
||||||
// Redstar Consultants : https://www.redstarconsultants.com/
|
// Redstar Consultants : https://www.redstarconsultants.com/
|
||||||
// Submitted by Jons Slemmer <jons@redstarconsultants.com>
|
// Submitted by Jons Slemmer <jons@redstarconsultants.com>
|
||||||
instantcloud.cn
|
instantcloud.cn
|
||||||
@ -12590,6 +12671,11 @@ ras.ru
|
|||||||
// Submitted by Daniel Dent (https://www.danieldent.com/)
|
// Submitted by Daniel Dent (https://www.danieldent.com/)
|
||||||
qa2.com
|
qa2.com
|
||||||
|
|
||||||
|
// QCX
|
||||||
|
// Submitted by Cassandra Beelen <cassandra@beelen.one>
|
||||||
|
qcx.io
|
||||||
|
*.sys.qcx.io
|
||||||
|
|
||||||
// QNAP System Inc : https://www.qnap.com
|
// QNAP System Inc : https://www.qnap.com
|
||||||
// Submitted by Nick Chang <nickchang@qnap.com>
|
// Submitted by Nick Chang <nickchang@qnap.com>
|
||||||
dev-myqnapcloud.com
|
dev-myqnapcloud.com
|
||||||
@ -12612,6 +12698,7 @@ rackmaze.net
|
|||||||
|
|
||||||
// Rancher Labs, Inc : https://rancher.com
|
// Rancher Labs, Inc : https://rancher.com
|
||||||
// Submitted by Vincent Fiduccia <domains@rancher.com>
|
// Submitted by Vincent Fiduccia <domains@rancher.com>
|
||||||
|
*.on-k3s.io
|
||||||
*.on-rancher.cloud
|
*.on-rancher.cloud
|
||||||
*.on-rio.io
|
*.on-rio.io
|
||||||
|
|
||||||
@ -12665,6 +12752,10 @@ logoip.com
|
|||||||
// Submitted by Hanno Böck <hanno@schokokeks.org>
|
// Submitted by Hanno Böck <hanno@schokokeks.org>
|
||||||
schokokeks.net
|
schokokeks.net
|
||||||
|
|
||||||
|
// Scottish Government: https://www.gov.scot
|
||||||
|
// Submitted by Martin Ellis <martin.ellis@gov.scot>
|
||||||
|
gov.scot
|
||||||
|
|
||||||
// Scry Security : http://www.scrysec.com
|
// Scry Security : http://www.scrysec.com
|
||||||
// Submitted by Shante Adam <shante@skyhat.io>
|
// Submitted by Shante Adam <shante@skyhat.io>
|
||||||
scrysec.com
|
scrysec.com
|
||||||
@ -12682,6 +12773,10 @@ my-firewall.org
|
|||||||
myfirewall.org
|
myfirewall.org
|
||||||
spdns.org
|
spdns.org
|
||||||
|
|
||||||
|
// Senseering GmbH : https://www.senseering.de
|
||||||
|
// Submitted by Felix Mönckemeyer <f.moenckemeyer@senseering.de>
|
||||||
|
senseering.net
|
||||||
|
|
||||||
// Service Online LLC : http://drs.ua/
|
// Service Online LLC : http://drs.ua/
|
||||||
// Submitted by Serhii Bulakh <support@drs.ua>
|
// Submitted by Serhii Bulakh <support@drs.ua>
|
||||||
biz.ua
|
biz.ua
|
||||||
@ -12700,6 +12795,10 @@ myshopblocks.com
|
|||||||
// Submitted by Craig McMahon <craig@shopitcommerce.com>
|
// Submitted by Craig McMahon <craig@shopitcommerce.com>
|
||||||
shopitsite.com
|
shopitsite.com
|
||||||
|
|
||||||
|
// shopware AG : https://shopware.com
|
||||||
|
// Submitted by Jens Küper <cloud@shopware.com>
|
||||||
|
shopware.store
|
||||||
|
|
||||||
// Siemens Mobility GmbH
|
// Siemens Mobility GmbH
|
||||||
// Submitted by Oliver Graebner <security@mo-siemens.io>
|
// Submitted by Oliver Graebner <security@mo-siemens.io>
|
||||||
mo-siemens.io
|
mo-siemens.io
|
||||||
@ -12732,6 +12831,10 @@ static.land
|
|||||||
dev.static.land
|
dev.static.land
|
||||||
sites.static.land
|
sites.static.land
|
||||||
|
|
||||||
|
// Sony Interactive Entertainment LLC : https://sie.com/
|
||||||
|
// Submitted by David Coles <david.coles@sony.com>
|
||||||
|
playstation-cloud.com
|
||||||
|
|
||||||
// SourceLair PC : https://www.sourcelair.com
|
// SourceLair PC : https://www.sourcelair.com
|
||||||
// Submitted by Antonis Kalipetis <akalipetis@sourcelair.com>
|
// Submitted by Antonis Kalipetis <akalipetis@sourcelair.com>
|
||||||
apps.lair.io
|
apps.lair.io
|
||||||
@ -12906,6 +13009,11 @@ inc.hk
|
|||||||
virtualuser.de
|
virtualuser.de
|
||||||
virtual-user.de
|
virtual-user.de
|
||||||
|
|
||||||
|
// urown.net : https://urown.net
|
||||||
|
// Submitted by Hostmaster <hostmaster@urown.net>
|
||||||
|
urown.cloud
|
||||||
|
dnsupdate.info
|
||||||
|
|
||||||
// .US
|
// .US
|
||||||
// Submitted by Ed Moore <Ed.Moore@lib.de.us>
|
// Submitted by Ed Moore <Ed.Moore@lib.de.us>
|
||||||
lib.de.us
|
lib.de.us
|
||||||
@ -12926,6 +13034,10 @@ v-info.info
|
|||||||
// Submitted by Nathan van Bakel <info@voorloper.com>
|
// Submitted by Nathan van Bakel <info@voorloper.com>
|
||||||
voorloper.cloud
|
voorloper.cloud
|
||||||
|
|
||||||
|
// V.UA Domain Administrator : https://domain.v.ua/
|
||||||
|
// Submitted by Serhii Rostilo <sergey@rostilo.kiev.ua>
|
||||||
|
v.ua
|
||||||
|
|
||||||
// Waffle Computer Inc., Ltd. : https://docs.waffleinfo.com
|
// Waffle Computer Inc., Ltd. : https://docs.waffleinfo.com
|
||||||
// Submitted by Masayuki Note <masa@blade.wafflecell.com>
|
// Submitted by Masayuki Note <masa@blade.wafflecell.com>
|
||||||
wafflecell.com
|
wafflecell.com
|
||||||
@ -12945,8 +13057,23 @@ wedeploy.sh
|
|||||||
remotewd.com
|
remotewd.com
|
||||||
|
|
||||||
// Wikimedia Labs : https://wikitech.wikimedia.org
|
// Wikimedia Labs : https://wikitech.wikimedia.org
|
||||||
// Submitted by Yuvi Panda <yuvipanda@wikimedia.org>
|
// Submitted by Arturo Borrero Gonzalez <aborrero@wikimedia.org>
|
||||||
wmflabs.org
|
wmflabs.org
|
||||||
|
toolforge.org
|
||||||
|
wmcloud.org
|
||||||
|
|
||||||
|
// WISP : https://wisp.gg
|
||||||
|
// Submitted by Stepan Fedotov <stepan@wisp.gg>
|
||||||
|
panel.gg
|
||||||
|
daemon.panel.gg
|
||||||
|
|
||||||
|
// WoltLab GmbH : https://www.woltlab.com
|
||||||
|
// Submitted by Tim Düsterhus <security@woltlab.cloud>
|
||||||
|
myforum.community
|
||||||
|
community-pro.de
|
||||||
|
diskussionsbereich.de
|
||||||
|
community-pro.net
|
||||||
|
meinforum.net
|
||||||
|
|
||||||
// XenonCloud GbR: https://xenoncloud.net
|
// XenonCloud GbR: https://xenoncloud.net
|
||||||
// Submitted by Julian Uphoff <publicsuffixlist@xenoncloud.net>
|
// Submitted by Julian Uphoff <publicsuffixlist@xenoncloud.net>
|
||||||
@ -13010,7 +13137,10 @@ bss.design
|
|||||||
// Submitted by Emil Stahl <esp@zitcom.dk>
|
// Submitted by Emil Stahl <esp@zitcom.dk>
|
||||||
basicserver.io
|
basicserver.io
|
||||||
virtualserver.io
|
virtualserver.io
|
||||||
site.builder.nu
|
|
||||||
enterprisecloud.nu
|
enterprisecloud.nu
|
||||||
|
|
||||||
|
// Mintere : https://mintere.com/
|
||||||
|
// Submitted by Ben Aubin <security@mintere.com>
|
||||||
|
mintere.site
|
||||||
|
|
||||||
// ===END PRIVATE DOMAINS===
|
// ===END PRIVATE DOMAINS===
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -61,6 +61,7 @@ public:
|
|||||||
|
|
||||||
// Note: The main entry point for this module is via SystemDictionary.
|
// Note: The main entry point for this module is via SystemDictionary.
|
||||||
// SystemDictionary::check_signature_loaders(Symbol* signature,
|
// SystemDictionary::check_signature_loaders(Symbol* signature,
|
||||||
|
// Klass* klass_being_linked,
|
||||||
// Handle loader1, Handle loader2,
|
// Handle loader1, Handle loader2,
|
||||||
// bool is_method, TRAPS)
|
// bool is_method, TRAPS)
|
||||||
|
|
||||||
|
@ -2297,8 +2297,8 @@ Klass* SystemDictionary::find_constrained_instance_or_array_klass(
|
|||||||
return klass;
|
return klass;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool SystemDictionary::add_loader_constraint(Symbol* class_name,
|
bool SystemDictionary::add_loader_constraint(Symbol* class_name,
|
||||||
|
Klass* klass_being_linked,
|
||||||
Handle class_loader1,
|
Handle class_loader1,
|
||||||
Handle class_loader2,
|
Handle class_loader2,
|
||||||
Thread* THREAD) {
|
Thread* THREAD) {
|
||||||
@ -2336,6 +2336,12 @@ bool SystemDictionary::add_loader_constraint(Symbol* class_name,
|
|||||||
InstanceKlass* klass2 = find_class(d_hash2, constraint_name, dictionary2);
|
InstanceKlass* klass2 = find_class(d_hash2, constraint_name, dictionary2);
|
||||||
bool result = constraints()->add_entry(constraint_name, klass1, class_loader1,
|
bool result = constraints()->add_entry(constraint_name, klass1, class_loader1,
|
||||||
klass2, class_loader2);
|
klass2, class_loader2);
|
||||||
|
if (Arguments::is_dumping_archive() && klass_being_linked != NULL &&
|
||||||
|
!klass_being_linked->is_shared()) {
|
||||||
|
SystemDictionaryShared::record_linking_constraint(constraint_name,
|
||||||
|
InstanceKlass::cast(klass_being_linked),
|
||||||
|
class_loader1, class_loader2, THREAD);
|
||||||
|
}
|
||||||
if (Signature::is_array(class_name)) {
|
if (Signature::is_array(class_name)) {
|
||||||
constraint_name->decrement_refcount();
|
constraint_name->decrement_refcount();
|
||||||
}
|
}
|
||||||
@ -2457,7 +2463,7 @@ const char* SystemDictionary::find_nest_host_error(const constantPoolHandle& poo
|
|||||||
// called (perhaps via an override) from the supertype.
|
// called (perhaps via an override) from the supertype.
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
// SystemDictionary::check_signature_loaders(sig, l1, l2)
|
// SystemDictionary::check_signature_loaders(sig, klass_being_linked, l1, l2)
|
||||||
//
|
//
|
||||||
// Make sure all class components (including arrays) in the given
|
// Make sure all class components (including arrays) in the given
|
||||||
// signature will be resolved to the same class in both loaders.
|
// signature will be resolved to the same class in both loaders.
|
||||||
@ -2465,6 +2471,7 @@ const char* SystemDictionary::find_nest_host_error(const constantPoolHandle& poo
|
|||||||
// NULL if no constraint failed. No exception except OOME is thrown.
|
// NULL if no constraint failed. No exception except OOME is thrown.
|
||||||
// Arrays are not added to the loader constraint table, their elements are.
|
// Arrays are not added to the loader constraint table, their elements are.
|
||||||
Symbol* SystemDictionary::check_signature_loaders(Symbol* signature,
|
Symbol* SystemDictionary::check_signature_loaders(Symbol* signature,
|
||||||
|
Klass* klass_being_linked,
|
||||||
Handle loader1, Handle loader2,
|
Handle loader1, Handle loader2,
|
||||||
bool is_method, TRAPS) {
|
bool is_method, TRAPS) {
|
||||||
// Nothing to do if loaders are the same.
|
// Nothing to do if loaders are the same.
|
||||||
@ -2478,7 +2485,7 @@ Symbol* SystemDictionary::check_signature_loaders(Symbol* signature,
|
|||||||
// Note: In the future, if template-like types can take
|
// Note: In the future, if template-like types can take
|
||||||
// arguments, we will want to recognize them and dig out class
|
// arguments, we will want to recognize them and dig out class
|
||||||
// names hiding inside the argument lists.
|
// names hiding inside the argument lists.
|
||||||
if (!add_loader_constraint(sig, loader1, loader2, THREAD)) {
|
if (!add_loader_constraint(sig, klass_being_linked, loader1, loader2, THREAD)) {
|
||||||
return sig;
|
return sig;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2486,7 +2493,6 @@ Symbol* SystemDictionary::check_signature_loaders(Symbol* signature,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Method* SystemDictionary::find_method_handle_intrinsic(vmIntrinsics::ID iid,
|
Method* SystemDictionary::find_method_handle_intrinsic(vmIntrinsics::ID iid,
|
||||||
Symbol* signature,
|
Symbol* signature,
|
||||||
TRAPS) {
|
TRAPS) {
|
||||||
|
@ -494,10 +494,10 @@ public:
|
|||||||
// Note: java_lang_Class::primitive_type is the inverse of java_mirror
|
// Note: java_lang_Class::primitive_type is the inverse of java_mirror
|
||||||
|
|
||||||
// Check class loader constraints
|
// Check class loader constraints
|
||||||
static bool add_loader_constraint(Symbol* name, Handle loader1,
|
static bool add_loader_constraint(Symbol* name, Klass* klass_being_linked, Handle loader1,
|
||||||
Handle loader2, TRAPS);
|
Handle loader2, TRAPS);
|
||||||
static Symbol* check_signature_loaders(Symbol* signature, Handle loader1,
|
static Symbol* check_signature_loaders(Symbol* signature, Klass* klass_being_linked,
|
||||||
Handle loader2, bool is_method, TRAPS);
|
Handle loader1, Handle loader2, bool is_method, TRAPS);
|
||||||
|
|
||||||
// JSR 292
|
// JSR 292
|
||||||
// find a java.lang.invoke.MethodHandle.invoke* method for a given signature
|
// find a java.lang.invoke.MethodHandle.invoke* method for a given signature
|
||||||
@ -656,7 +656,12 @@ protected:
|
|||||||
public:
|
public:
|
||||||
static bool is_system_class_loader(oop class_loader);
|
static bool is_system_class_loader(oop class_loader);
|
||||||
static bool is_platform_class_loader(oop class_loader);
|
static bool is_platform_class_loader(oop class_loader);
|
||||||
|
static bool is_boot_class_loader(oop class_loader) { return class_loader == NULL; }
|
||||||
|
static bool is_builtin_class_loader(oop class_loader) {
|
||||||
|
return is_boot_class_loader(class_loader) ||
|
||||||
|
is_platform_class_loader(class_loader) ||
|
||||||
|
is_system_class_loader(class_loader);
|
||||||
|
}
|
||||||
// Returns TRUE if the method is a non-public member of class java.lang.Object.
|
// Returns TRUE if the method is a non-public member of class java.lang.Object.
|
||||||
static bool is_nonpublic_Object_method(Method* m) {
|
static bool is_nonpublic_Object_method(Method* m) {
|
||||||
assert(m != NULL, "Unexpected NULL Method*");
|
assert(m != NULL, "Unexpected NULL Method*");
|
||||||
|
@ -69,11 +69,29 @@ DEBUG_ONLY(bool SystemDictionaryShared::_no_class_loading_should_happen = false;
|
|||||||
class DumpTimeSharedClassInfo: public CHeapObj<mtClass> {
|
class DumpTimeSharedClassInfo: public CHeapObj<mtClass> {
|
||||||
bool _excluded;
|
bool _excluded;
|
||||||
public:
|
public:
|
||||||
struct DTConstraint {
|
struct DTLoaderConstraint {
|
||||||
|
Symbol* _name;
|
||||||
|
char _loader_type1;
|
||||||
|
char _loader_type2;
|
||||||
|
DTLoaderConstraint(Symbol* name, char l1, char l2) : _name(name), _loader_type1(l1), _loader_type2(l2) {
|
||||||
|
_name->increment_refcount();
|
||||||
|
}
|
||||||
|
DTLoaderConstraint() : _name(NULL), _loader_type1('0'), _loader_type2('0') {}
|
||||||
|
bool equals(const DTLoaderConstraint& t) {
|
||||||
|
return t._name == _name &&
|
||||||
|
((t._loader_type1 == _loader_type1 && t._loader_type2 == _loader_type2) ||
|
||||||
|
(t._loader_type2 == _loader_type1 && t._loader_type1 == _loader_type2));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
struct DTVerifierConstraint {
|
||||||
Symbol* _name;
|
Symbol* _name;
|
||||||
Symbol* _from_name;
|
Symbol* _from_name;
|
||||||
DTConstraint() : _name(NULL), _from_name(NULL) {}
|
DTVerifierConstraint() : _name(NULL), _from_name(NULL) {}
|
||||||
DTConstraint(Symbol* n, Symbol* fn) : _name(n), _from_name(fn) {}
|
DTVerifierConstraint(Symbol* n, Symbol* fn) : _name(n), _from_name(fn) {
|
||||||
|
_name->increment_refcount();
|
||||||
|
_from_name->increment_refcount();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
InstanceKlass* _klass;
|
InstanceKlass* _klass;
|
||||||
@ -81,8 +99,9 @@ public:
|
|||||||
int _id;
|
int _id;
|
||||||
int _clsfile_size;
|
int _clsfile_size;
|
||||||
int _clsfile_crc32;
|
int _clsfile_crc32;
|
||||||
GrowableArray<DTConstraint>* _verifier_constraints;
|
GrowableArray<DTVerifierConstraint>* _verifier_constraints;
|
||||||
GrowableArray<char>* _verifier_constraint_flags;
|
GrowableArray<char>* _verifier_constraint_flags;
|
||||||
|
GrowableArray<DTLoaderConstraint>* _loader_constraints;
|
||||||
|
|
||||||
DumpTimeSharedClassInfo() {
|
DumpTimeSharedClassInfo() {
|
||||||
_klass = NULL;
|
_klass = NULL;
|
||||||
@ -93,16 +112,18 @@ public:
|
|||||||
_excluded = false;
|
_excluded = false;
|
||||||
_verifier_constraints = NULL;
|
_verifier_constraints = NULL;
|
||||||
_verifier_constraint_flags = NULL;
|
_verifier_constraint_flags = NULL;
|
||||||
|
_loader_constraints = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void add_verification_constraint(InstanceKlass* k, Symbol* name,
|
void add_verification_constraint(InstanceKlass* k, Symbol* name,
|
||||||
Symbol* from_name, bool from_field_is_protected, bool from_is_array, bool from_is_object);
|
Symbol* from_name, bool from_field_is_protected, bool from_is_array, bool from_is_object);
|
||||||
|
void record_linking_constraint(Symbol* name, Handle loader1, Handle loader2);
|
||||||
|
|
||||||
bool is_builtin() {
|
bool is_builtin() {
|
||||||
return SystemDictionaryShared::is_builtin(_klass);
|
return SystemDictionaryShared::is_builtin(_klass);
|
||||||
}
|
}
|
||||||
|
|
||||||
int num_constraints() {
|
int num_verifier_constraints() {
|
||||||
if (_verifier_constraint_flags != NULL) {
|
if (_verifier_constraint_flags != NULL) {
|
||||||
return _verifier_constraint_flags->length();
|
return _verifier_constraint_flags->length();
|
||||||
} else {
|
} else {
|
||||||
@ -110,15 +131,29 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int num_loader_constraints() {
|
||||||
|
if (_loader_constraints != NULL) {
|
||||||
|
return _loader_constraints->length();
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void metaspace_pointers_do(MetaspaceClosure* it) {
|
void metaspace_pointers_do(MetaspaceClosure* it) {
|
||||||
it->push(&_klass);
|
it->push(&_klass);
|
||||||
if (_verifier_constraints != NULL) {
|
if (_verifier_constraints != NULL) {
|
||||||
for (int i = 0; i < _verifier_constraints->length(); i++) {
|
for (int i = 0; i < _verifier_constraints->length(); i++) {
|
||||||
DTConstraint* cons = _verifier_constraints->adr_at(i);
|
DTVerifierConstraint* cons = _verifier_constraints->adr_at(i);
|
||||||
it->push(&cons->_name);
|
it->push(&cons->_name);
|
||||||
it->push(&cons->_from_name);
|
it->push(&cons->_from_name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (_loader_constraints != NULL) {
|
||||||
|
for (int i = 0; i < _loader_constraints->length(); i++) {
|
||||||
|
DTLoaderConstraint* lc = _loader_constraints->adr_at(i);
|
||||||
|
it->push(&lc->_name);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void set_excluded() {
|
void set_excluded() {
|
||||||
@ -202,19 +237,32 @@ public:
|
|||||||
int _clsfile_crc32;
|
int _clsfile_crc32;
|
||||||
};
|
};
|
||||||
|
|
||||||
// This is different than DumpTimeSharedClassInfo::DTConstraint. We use
|
// This is different than DumpTimeSharedClassInfo::DTVerifierConstraint. We use
|
||||||
// u4 instead of Symbol* to save space on 64-bit CPU.
|
// u4 instead of Symbol* to save space on 64-bit CPU.
|
||||||
struct RTConstraint {
|
struct RTVerifierConstraint {
|
||||||
u4 _name;
|
u4 _name;
|
||||||
u4 _from_name;
|
u4 _from_name;
|
||||||
|
Symbol* name() { return (Symbol*)(SharedBaseAddress + _name);}
|
||||||
|
Symbol* from_name() { return (Symbol*)(SharedBaseAddress + _from_name); }
|
||||||
|
};
|
||||||
|
|
||||||
|
struct RTLoaderConstraint {
|
||||||
|
u4 _name;
|
||||||
|
char _loader_type1;
|
||||||
|
char _loader_type2;
|
||||||
|
Symbol* constraint_name() {
|
||||||
|
return (Symbol*)(SharedBaseAddress + _name);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
InstanceKlass* _klass;
|
InstanceKlass* _klass;
|
||||||
int _num_constraints;
|
int _num_verifier_constraints;
|
||||||
|
int _num_loader_constraints;
|
||||||
|
|
||||||
// optional CrcInfo _crc; (only for UNREGISTERED classes)
|
// optional CrcInfo _crc; (only for UNREGISTERED classes)
|
||||||
// optional RTConstraint _verifier_constraints[_num_constraints]
|
// optional RTLoaderConstraint _loader_constraint_types[_num_loader_constraints]
|
||||||
// optional char _verifier_constraint_flags[_num_constraints]
|
// optional RTVerifierConstraint _verifier_constraints[_num_verifier_constraints]
|
||||||
|
// optional char _verifier_constraint_flags[_num_verifier_constraints]
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static size_t header_size_size() {
|
static size_t header_size_size() {
|
||||||
@ -227,34 +275,46 @@ private:
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
static size_t verifier_constraints_size(int num_constraints) {
|
static size_t verifier_constraints_size(int num_verifier_constraints) {
|
||||||
return sizeof(RTConstraint) * num_constraints;
|
return sizeof(RTVerifierConstraint) * num_verifier_constraints;
|
||||||
}
|
}
|
||||||
static size_t verifier_constraint_flags_size(int num_constraints) {
|
static size_t verifier_constraint_flags_size(int num_verifier_constraints) {
|
||||||
return sizeof(char) * num_constraints;
|
return sizeof(char) * num_verifier_constraints;
|
||||||
|
}
|
||||||
|
static size_t loader_constraints_size(int num_loader_constraints) {
|
||||||
|
return sizeof(RTLoaderConstraint) * num_loader_constraints;
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static size_t byte_size(InstanceKlass* klass, int num_constraints) {
|
static size_t byte_size(InstanceKlass* klass, int num_verifier_constraints, int num_loader_constraints) {
|
||||||
return header_size_size() +
|
return header_size_size() +
|
||||||
crc_size(klass) +
|
crc_size(klass) +
|
||||||
verifier_constraints_size(num_constraints) +
|
loader_constraints_size(num_loader_constraints) +
|
||||||
verifier_constraint_flags_size(num_constraints);
|
verifier_constraints_size(num_verifier_constraints) +
|
||||||
|
verifier_constraint_flags_size(num_verifier_constraints);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
size_t crc_offset() const {
|
size_t crc_offset() const {
|
||||||
return header_size_size();
|
return header_size_size();
|
||||||
}
|
}
|
||||||
size_t verifier_constraints_offset() const {
|
|
||||||
|
size_t loader_constraints_offset() const {
|
||||||
return crc_offset() + crc_size(_klass);
|
return crc_offset() + crc_size(_klass);
|
||||||
}
|
}
|
||||||
|
size_t verifier_constraints_offset() const {
|
||||||
|
return loader_constraints_offset() + loader_constraints_size(_num_loader_constraints);
|
||||||
|
}
|
||||||
size_t verifier_constraint_flags_offset() const {
|
size_t verifier_constraint_flags_offset() const {
|
||||||
return verifier_constraints_offset() + verifier_constraints_size(_num_constraints);
|
return verifier_constraints_offset() + verifier_constraints_size(_num_verifier_constraints);
|
||||||
}
|
}
|
||||||
|
|
||||||
void check_constraint_offset(int i) const {
|
void check_verifier_constraint_offset(int i) const {
|
||||||
assert(0 <= i && i < _num_constraints, "sanity");
|
assert(0 <= i && i < _num_verifier_constraints, "sanity");
|
||||||
|
}
|
||||||
|
|
||||||
|
void check_loader_constraint_offset(int i) const {
|
||||||
|
assert(0 <= i && i < _num_loader_constraints, "sanity");
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -262,20 +322,30 @@ public:
|
|||||||
assert(crc_size(_klass) > 0, "must be");
|
assert(crc_size(_klass) > 0, "must be");
|
||||||
return (CrcInfo*)(address(this) + crc_offset());
|
return (CrcInfo*)(address(this) + crc_offset());
|
||||||
}
|
}
|
||||||
RTConstraint* verifier_constraints() {
|
RTVerifierConstraint* verifier_constraints() {
|
||||||
assert(_num_constraints > 0, "sanity");
|
assert(_num_verifier_constraints > 0, "sanity");
|
||||||
return (RTConstraint*)(address(this) + verifier_constraints_offset());
|
return (RTVerifierConstraint*)(address(this) + verifier_constraints_offset());
|
||||||
}
|
}
|
||||||
RTConstraint* verifier_constraint_at(int i) {
|
RTVerifierConstraint* verifier_constraint_at(int i) {
|
||||||
check_constraint_offset(i);
|
check_verifier_constraint_offset(i);
|
||||||
return verifier_constraints() + i;
|
return verifier_constraints() + i;
|
||||||
}
|
}
|
||||||
|
|
||||||
char* verifier_constraint_flags() {
|
char* verifier_constraint_flags() {
|
||||||
assert(_num_constraints > 0, "sanity");
|
assert(_num_verifier_constraints > 0, "sanity");
|
||||||
return (char*)(address(this) + verifier_constraint_flags_offset());
|
return (char*)(address(this) + verifier_constraint_flags_offset());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RTLoaderConstraint* loader_constraints() {
|
||||||
|
assert(_num_loader_constraints > 0, "sanity");
|
||||||
|
return (RTLoaderConstraint*)(address(this) + loader_constraints_offset());
|
||||||
|
}
|
||||||
|
|
||||||
|
RTLoaderConstraint* loader_constraint_at(int i) {
|
||||||
|
check_loader_constraint_offset(i);
|
||||||
|
return loader_constraints() + i;
|
||||||
|
}
|
||||||
|
|
||||||
static u4 object_delta_u4(Symbol* sym) {
|
static u4 object_delta_u4(Symbol* sym) {
|
||||||
if (DynamicDumpSharedSpaces) {
|
if (DynamicDumpSharedSpaces) {
|
||||||
sym = DynamicArchive::original_to_target(sym);
|
sym = DynamicArchive::original_to_target(sym);
|
||||||
@ -290,19 +360,29 @@ public:
|
|||||||
c->_clsfile_size = info._clsfile_size;
|
c->_clsfile_size = info._clsfile_size;
|
||||||
c->_clsfile_crc32 = info._clsfile_crc32;
|
c->_clsfile_crc32 = info._clsfile_crc32;
|
||||||
}
|
}
|
||||||
_num_constraints = info.num_constraints();
|
_num_verifier_constraints = info.num_verifier_constraints();
|
||||||
if (_num_constraints > 0) {
|
_num_loader_constraints = info.num_loader_constraints();
|
||||||
RTConstraint* constraints = verifier_constraints();
|
int i;
|
||||||
|
if (_num_verifier_constraints > 0) {
|
||||||
|
RTVerifierConstraint* vf_constraints = verifier_constraints();
|
||||||
char* flags = verifier_constraint_flags();
|
char* flags = verifier_constraint_flags();
|
||||||
int i;
|
for (i = 0; i < _num_verifier_constraints; i++) {
|
||||||
for (i = 0; i < _num_constraints; i++) {
|
vf_constraints[i]._name = object_delta_u4(info._verifier_constraints->at(i)._name);
|
||||||
constraints[i]._name = object_delta_u4(info._verifier_constraints->at(i)._name);
|
vf_constraints[i]._from_name = object_delta_u4(info._verifier_constraints->at(i)._from_name);
|
||||||
constraints[i]._from_name = object_delta_u4(info._verifier_constraints->at(i)._from_name);
|
|
||||||
}
|
}
|
||||||
for (i = 0; i < _num_constraints; i++) {
|
for (i = 0; i < _num_verifier_constraints; i++) {
|
||||||
flags[i] = info._verifier_constraint_flags->at(i);
|
flags[i] = info._verifier_constraint_flags->at(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (_num_loader_constraints > 0) {
|
||||||
|
RTLoaderConstraint* ld_constraints = loader_constraints();
|
||||||
|
for (i = 0; i < _num_loader_constraints; i++) {
|
||||||
|
ld_constraints[i]._name = object_delta_u4(info._loader_constraints->at(i)._name);
|
||||||
|
ld_constraints[i]._loader_type1 = info._loader_constraints->at(i)._loader_type1;
|
||||||
|
ld_constraints[i]._loader_type2 = info._loader_constraints->at(i)._loader_type2;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (DynamicDumpSharedSpaces) {
|
if (DynamicDumpSharedSpaces) {
|
||||||
_klass = DynamicArchive::original_to_target(info._klass);
|
_klass = DynamicArchive::original_to_target(info._klass);
|
||||||
}
|
}
|
||||||
@ -314,15 +394,8 @@ public:
|
|||||||
crc()->_clsfile_crc32 == clsfile_crc32;
|
crc()->_clsfile_crc32 == clsfile_crc32;
|
||||||
}
|
}
|
||||||
|
|
||||||
Symbol* get_constraint_name(int i) {
|
char verifier_constraint_flag(int i) {
|
||||||
return (Symbol*)(SharedBaseAddress + verifier_constraint_at(i)->_name);
|
check_verifier_constraint_offset(i);
|
||||||
}
|
|
||||||
Symbol* get_constraint_from_name(int i) {
|
|
||||||
return (Symbol*)(SharedBaseAddress + verifier_constraint_at(i)->_from_name);
|
|
||||||
}
|
|
||||||
|
|
||||||
char get_constraint_flag(int i) {
|
|
||||||
check_constraint_offset(i);
|
|
||||||
return verifier_constraint_flags()[i];
|
return verifier_constraint_flags()[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -386,7 +459,6 @@ oop SystemDictionaryShared::shared_jar_manifest(int index) {
|
|||||||
return _shared_jar_manifests->obj_at(index);
|
return _shared_jar_manifests->obj_at(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Handle SystemDictionaryShared::get_shared_jar_manifest(int shared_path_index, TRAPS) {
|
Handle SystemDictionaryShared::get_shared_jar_manifest(int shared_path_index, TRAPS) {
|
||||||
Handle manifest ;
|
Handle manifest ;
|
||||||
if (shared_jar_manifest(shared_path_index) == NULL) {
|
if (shared_jar_manifest(shared_path_index) == NULL) {
|
||||||
@ -1034,7 +1106,7 @@ void SystemDictionaryShared::remove_dumptime_info(InstanceKlass* k) {
|
|||||||
}
|
}
|
||||||
if (p->_verifier_constraints != NULL) {
|
if (p->_verifier_constraints != NULL) {
|
||||||
for (int i = 0; i < p->_verifier_constraints->length(); i++) {
|
for (int i = 0; i < p->_verifier_constraints->length(); i++) {
|
||||||
DumpTimeSharedClassInfo::DTConstraint constraint = p->_verifier_constraints->at(i);
|
DumpTimeSharedClassInfo::DTVerifierConstraint constraint = p->_verifier_constraints->at(i);
|
||||||
if (constraint._name != NULL ) {
|
if (constraint._name != NULL ) {
|
||||||
constraint._name->decrement_refcount();
|
constraint._name->decrement_refcount();
|
||||||
}
|
}
|
||||||
@ -1042,11 +1114,21 @@ void SystemDictionaryShared::remove_dumptime_info(InstanceKlass* k) {
|
|||||||
constraint._from_name->decrement_refcount();
|
constraint._from_name->decrement_refcount();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
FREE_C_HEAP_ARRAY(DTConstraint, p->_verifier_constraints);
|
FREE_C_HEAP_ARRAY(DumpTimeSharedClassInfo::DTVerifierConstraint, p->_verifier_constraints);
|
||||||
p->_verifier_constraints = NULL;
|
p->_verifier_constraints = NULL;
|
||||||
|
FREE_C_HEAP_ARRAY(char, p->_verifier_constraint_flags);
|
||||||
|
p->_verifier_constraint_flags = NULL;
|
||||||
|
}
|
||||||
|
if (p->_loader_constraints != NULL) {
|
||||||
|
for (int i = 0; i < p->_loader_constraints->length(); i++) {
|
||||||
|
DumpTimeSharedClassInfo::DTLoaderConstraint ld = p->_loader_constraints->at(i);
|
||||||
|
if (ld._name != NULL) {
|
||||||
|
ld._name->decrement_refcount();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
FREE_C_HEAP_ARRAY(DumpTimeSharedClassInfo::DTLoaderConstraint, p->_loader_constraints);
|
||||||
|
p->_loader_constraints = NULL;
|
||||||
}
|
}
|
||||||
FREE_C_HEAP_ARRAY(char, p->_verifier_constraint_flags);
|
|
||||||
p->_verifier_constraint_flags = NULL;
|
|
||||||
_dumptime_table->remove(k);
|
_dumptime_table->remove(k);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1246,19 +1328,19 @@ bool SystemDictionaryShared::add_verification_constraint(InstanceKlass* k, Symbo
|
|||||||
void DumpTimeSharedClassInfo::add_verification_constraint(InstanceKlass* k, Symbol* name,
|
void DumpTimeSharedClassInfo::add_verification_constraint(InstanceKlass* k, Symbol* name,
|
||||||
Symbol* from_name, bool from_field_is_protected, bool from_is_array, bool from_is_object) {
|
Symbol* from_name, bool from_field_is_protected, bool from_is_array, bool from_is_object) {
|
||||||
if (_verifier_constraints == NULL) {
|
if (_verifier_constraints == NULL) {
|
||||||
_verifier_constraints = new(ResourceObj::C_HEAP, mtClass) GrowableArray<DTConstraint>(4, true, mtClass);
|
_verifier_constraints = new(ResourceObj::C_HEAP, mtClass) GrowableArray<DTVerifierConstraint>(4, true, mtClass);
|
||||||
}
|
}
|
||||||
if (_verifier_constraint_flags == NULL) {
|
if (_verifier_constraint_flags == NULL) {
|
||||||
_verifier_constraint_flags = new(ResourceObj::C_HEAP, mtClass) GrowableArray<char>(4, true, mtClass);
|
_verifier_constraint_flags = new(ResourceObj::C_HEAP, mtClass) GrowableArray<char>(4, true, mtClass);
|
||||||
}
|
}
|
||||||
GrowableArray<DTConstraint>* vc_array = _verifier_constraints;
|
GrowableArray<DTVerifierConstraint>* vc_array = _verifier_constraints;
|
||||||
for (int i = 0; i < vc_array->length(); i++) {
|
for (int i = 0; i < vc_array->length(); i++) {
|
||||||
DTConstraint* p = vc_array->adr_at(i);
|
DTVerifierConstraint* p = vc_array->adr_at(i);
|
||||||
if (name == p->_name && from_name == p->_from_name) {
|
if (name == p->_name && from_name == p->_from_name) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
DTConstraint cons(name, from_name);
|
DTVerifierConstraint cons(name, from_name);
|
||||||
vc_array->append(cons);
|
vc_array->append(cons);
|
||||||
|
|
||||||
GrowableArray<char>* vcflags_array = _verifier_constraint_flags;
|
GrowableArray<char>* vcflags_array = _verifier_constraint_flags;
|
||||||
@ -1276,17 +1358,76 @@ void DumpTimeSharedClassInfo::add_verification_constraint(InstanceKlass* k, Symb
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char get_loader_type_by(oop loader) {
|
||||||
|
assert(SystemDictionary::is_builtin_class_loader(loader), "Must be built-in loader");
|
||||||
|
if (SystemDictionary::is_boot_class_loader(loader)) {
|
||||||
|
return (char)ClassLoader::BOOT_LOADER;
|
||||||
|
} else if (SystemDictionary::is_platform_class_loader(loader)) {
|
||||||
|
return (char)ClassLoader::PLATFORM_LOADER;
|
||||||
|
} else {
|
||||||
|
assert(SystemDictionary::is_system_class_loader(loader), "Class loader mismatch");
|
||||||
|
return (char)ClassLoader::APP_LOADER;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static oop get_class_loader_by(char type) {
|
||||||
|
if (type == (char)ClassLoader::BOOT_LOADER) {
|
||||||
|
return (oop)NULL;
|
||||||
|
} else if (type == (char)ClassLoader::PLATFORM_LOADER) {
|
||||||
|
return SystemDictionary::java_platform_loader();
|
||||||
|
} else {
|
||||||
|
assert (type == (char)ClassLoader::APP_LOADER, "Sanity");
|
||||||
|
return SystemDictionary::java_system_loader();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DumpTimeSharedClassInfo::record_linking_constraint(Symbol* name, Handle loader1, Handle loader2) {
|
||||||
|
assert(loader1 != loader2, "sanity");
|
||||||
|
LogTarget(Info, class, loader, constraints) log;
|
||||||
|
if (_loader_constraints == NULL) {
|
||||||
|
_loader_constraints = new (ResourceObj::C_HEAP, mtClass) GrowableArray<DTLoaderConstraint>(4, true, mtClass);
|
||||||
|
}
|
||||||
|
char lt1 = get_loader_type_by(loader1());
|
||||||
|
char lt2 = get_loader_type_by(loader2());
|
||||||
|
DTLoaderConstraint lc(name, lt1, lt2);
|
||||||
|
for (int i = 0; i < _loader_constraints->length(); i++) {
|
||||||
|
DTLoaderConstraint dt = _loader_constraints->at(i);
|
||||||
|
if (lc.equals(dt)) {
|
||||||
|
if (log.is_enabled()) {
|
||||||
|
ResourceMark rm;
|
||||||
|
// Use loader[0]/loader[1] to be consistent with the logs in loaderConstraints.cpp
|
||||||
|
log.print("[CDS record loader constraint for class: %s constraint_name: %s loader[0]: %s loader[1]: %s already added]",
|
||||||
|
_klass->external_name(), name->as_C_string(),
|
||||||
|
ClassLoaderData::class_loader_data(loader1())->loader_name_and_id(),
|
||||||
|
ClassLoaderData::class_loader_data(loader2())->loader_name_and_id());
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
_loader_constraints->append(lc);
|
||||||
|
if (log.is_enabled()) {
|
||||||
|
ResourceMark rm;
|
||||||
|
// Use loader[0]/loader[1] to be consistent with the logs in loaderConstraints.cpp
|
||||||
|
log.print("[CDS record loader constraint for class: %s constraint_name: %s loader[0]: %s loader[1]: %s total %d]",
|
||||||
|
_klass->external_name(), name->as_C_string(),
|
||||||
|
ClassLoaderData::class_loader_data(loader1())->loader_name_and_id(),
|
||||||
|
ClassLoaderData::class_loader_data(loader2())->loader_name_and_id(),
|
||||||
|
_loader_constraints->length());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void SystemDictionaryShared::check_verification_constraints(InstanceKlass* klass,
|
void SystemDictionaryShared::check_verification_constraints(InstanceKlass* klass,
|
||||||
TRAPS) {
|
TRAPS) {
|
||||||
assert(!DumpSharedSpaces && UseSharedSpaces, "called at run time with CDS enabled only");
|
assert(!DumpSharedSpaces && UseSharedSpaces, "called at run time with CDS enabled only");
|
||||||
RunTimeSharedClassInfo* record = RunTimeSharedClassInfo::get_for(klass);
|
RunTimeSharedClassInfo* record = RunTimeSharedClassInfo::get_for(klass);
|
||||||
|
|
||||||
int length = record->_num_constraints;
|
int length = record->_num_verifier_constraints;
|
||||||
if (length > 0) {
|
if (length > 0) {
|
||||||
for (int i = 0; i < length; i++) {
|
for (int i = 0; i < length; i++) {
|
||||||
Symbol* name = record->get_constraint_name(i);
|
RunTimeSharedClassInfo::RTVerifierConstraint* vc = record->verifier_constraint_at(i);
|
||||||
Symbol* from_name = record->get_constraint_from_name(i);
|
Symbol* name = vc->name();
|
||||||
char c = record->get_constraint_flag(i);
|
Symbol* from_name = vc->from_name();
|
||||||
|
char c = record->verifier_constraint_flag(i);
|
||||||
|
|
||||||
if (log_is_enabled(Trace, cds, verification)) {
|
if (log_is_enabled(Trace, cds, verification)) {
|
||||||
ResourceMark rm(THREAD);
|
ResourceMark rm(THREAD);
|
||||||
@ -1316,6 +1457,109 @@ void SystemDictionaryShared::check_verification_constraints(InstanceKlass* klass
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Record class loader constraints that are checked inside
|
||||||
|
// InstanceKlass::link_class(), so that these can be checked quickly
|
||||||
|
// at runtime without laying out the vtable/itables.
|
||||||
|
void SystemDictionaryShared::record_linking_constraint(Symbol* name, InstanceKlass* klass,
|
||||||
|
Handle loader1, Handle loader2, TRAPS) {
|
||||||
|
// A linking constraint check is executed when:
|
||||||
|
// - klass extends or implements type S
|
||||||
|
// - klass overrides method S.M(...) with X.M
|
||||||
|
// - If klass defines the method M, X is
|
||||||
|
// the same as klass.
|
||||||
|
// - If klass does not define the method M,
|
||||||
|
// X must be a supertype of klass and X.M is
|
||||||
|
// a default method defined by X.
|
||||||
|
// - loader1 = X->class_loader()
|
||||||
|
// - loader2 = S->class_loader()
|
||||||
|
// - loader1 != loader2
|
||||||
|
// - M's paramater(s) include an object type T
|
||||||
|
// We require that
|
||||||
|
// - whenever loader1 and loader2 try to
|
||||||
|
// resolve the type T, they must always resolve to
|
||||||
|
// the same InstanceKlass.
|
||||||
|
// NOTE: type T may or may not be currently resolved in
|
||||||
|
// either of these two loaders. The check itself does not
|
||||||
|
// try to resolve T.
|
||||||
|
oop klass_loader = klass->class_loader();
|
||||||
|
assert(klass_loader != NULL, "should not be called for boot loader");
|
||||||
|
assert(loader1 != loader2, "must be");
|
||||||
|
|
||||||
|
if (!is_system_class_loader(klass_loader) &&
|
||||||
|
!is_platform_class_loader(klass_loader)) {
|
||||||
|
// If klass is loaded by system/platform loaders, we can
|
||||||
|
// guarantee that klass and S must be loaded by the same
|
||||||
|
// respective loader between dump time and run time, and
|
||||||
|
// the exact same check on (name, loader1, loader2) will
|
||||||
|
// be executed. Hence, we can cache this check and execute
|
||||||
|
// it at runtime without walking the vtable/itables.
|
||||||
|
//
|
||||||
|
// This cannot be guaranteed for classes loaded by other
|
||||||
|
// loaders, so we bail.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (THREAD->is_VM_thread()) {
|
||||||
|
assert(DynamicDumpSharedSpaces, "must be");
|
||||||
|
// We are re-laying out the vtable/itables of the *copy* of
|
||||||
|
// a class during the final stage of dynamic dumping. The
|
||||||
|
// linking constraints for this class has already been recorded.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Arguments::assert_is_dumping_archive();
|
||||||
|
DumpTimeSharedClassInfo* info = find_or_allocate_info_for(klass);
|
||||||
|
info->record_linking_constraint(name, loader1, loader2);
|
||||||
|
}
|
||||||
|
|
||||||
|
// returns true IFF there's no need to re-initialize the i/v-tables for klass for
|
||||||
|
// the purpose of checking class loader constraints.
|
||||||
|
bool SystemDictionaryShared::check_linking_constraints(InstanceKlass* klass, TRAPS) {
|
||||||
|
assert(!DumpSharedSpaces && UseSharedSpaces, "called at run time with CDS enabled only");
|
||||||
|
LogTarget(Info, class, loader, constraints) log;
|
||||||
|
if (klass->is_shared_boot_class()) {
|
||||||
|
// No class loader constraint check performed for boot classes.
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (klass->is_shared_platform_class() || klass->is_shared_app_class()) {
|
||||||
|
RunTimeSharedClassInfo* info = RunTimeSharedClassInfo::get_for(klass);
|
||||||
|
assert(info != NULL, "Sanity");
|
||||||
|
if (info->_num_loader_constraints > 0) {
|
||||||
|
HandleMark hm;
|
||||||
|
for (int i = 0; i < info->_num_loader_constraints; i++) {
|
||||||
|
RunTimeSharedClassInfo::RTLoaderConstraint* lc = info->loader_constraint_at(i);
|
||||||
|
Symbol* name = lc->constraint_name();
|
||||||
|
Handle loader1(THREAD, get_class_loader_by(lc->_loader_type1));
|
||||||
|
Handle loader2(THREAD, get_class_loader_by(lc->_loader_type2));
|
||||||
|
if (log.is_enabled()) {
|
||||||
|
ResourceMark rm(THREAD);
|
||||||
|
log.print("[CDS add loader constraint for class %s symbol %s loader[0] %s loader[1] %s",
|
||||||
|
klass->external_name(), name->as_C_string(),
|
||||||
|
ClassLoaderData::class_loader_data(loader1())->loader_name_and_id(),
|
||||||
|
ClassLoaderData::class_loader_data(loader2())->loader_name_and_id());
|
||||||
|
}
|
||||||
|
if (!SystemDictionary::add_loader_constraint(name, klass, loader1, loader2, THREAD)) {
|
||||||
|
// Loader constraint violation has been found. The caller
|
||||||
|
// will re-layout the vtable/itables to produce the correct
|
||||||
|
// exception.
|
||||||
|
if (log.is_enabled()) {
|
||||||
|
log.print(" failed]");
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (log.is_enabled()) {
|
||||||
|
log.print(" succeeded]");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true; // for all recorded constraints added successully.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (log.is_enabled()) {
|
||||||
|
ResourceMark rm(THREAD);
|
||||||
|
log.print("[CDS has not recorded loader constraint for class %s]", klass->external_name());
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
class EstimateSizeForArchive : StackObj {
|
class EstimateSizeForArchive : StackObj {
|
||||||
size_t _shared_class_info_size;
|
size_t _shared_class_info_size;
|
||||||
int _num_builtin_klasses;
|
int _num_builtin_klasses;
|
||||||
@ -1330,7 +1574,7 @@ public:
|
|||||||
|
|
||||||
bool do_entry(InstanceKlass* k, DumpTimeSharedClassInfo& info) {
|
bool do_entry(InstanceKlass* k, DumpTimeSharedClassInfo& info) {
|
||||||
if (!info.is_excluded()) {
|
if (!info.is_excluded()) {
|
||||||
size_t byte_size = RunTimeSharedClassInfo::byte_size(info._klass, info.num_constraints());
|
size_t byte_size = RunTimeSharedClassInfo::byte_size(info._klass, info.num_verifier_constraints(), info.num_loader_constraints());
|
||||||
_shared_class_info_size += align_up(byte_size, BytesPerWord);
|
_shared_class_info_size += align_up(byte_size, BytesPerWord);
|
||||||
}
|
}
|
||||||
return true; // keep on iterating
|
return true; // keep on iterating
|
||||||
@ -1360,7 +1604,7 @@ public:
|
|||||||
|
|
||||||
bool do_entry(InstanceKlass* k, DumpTimeSharedClassInfo& info) {
|
bool do_entry(InstanceKlass* k, DumpTimeSharedClassInfo& info) {
|
||||||
if (!info.is_excluded() && info.is_builtin() == _is_builtin) {
|
if (!info.is_excluded() && info.is_builtin() == _is_builtin) {
|
||||||
size_t byte_size = RunTimeSharedClassInfo::byte_size(info._klass, info.num_constraints());
|
size_t byte_size = RunTimeSharedClassInfo::byte_size(info._klass, info.num_verifier_constraints(), info.num_loader_constraints());
|
||||||
RunTimeSharedClassInfo* record;
|
RunTimeSharedClassInfo* record;
|
||||||
record = (RunTimeSharedClassInfo*)MetaspaceShared::read_only_space_alloc(byte_size);
|
record = (RunTimeSharedClassInfo*)MetaspaceShared::read_only_space_alloc(byte_size);
|
||||||
record->init(info);
|
record->init(info);
|
||||||
|
@ -285,6 +285,9 @@ public:
|
|||||||
TRAPS) NOT_CDS_RETURN;
|
TRAPS) NOT_CDS_RETURN;
|
||||||
static void set_class_has_failed_verification(InstanceKlass* ik) NOT_CDS_RETURN;
|
static void set_class_has_failed_verification(InstanceKlass* ik) NOT_CDS_RETURN;
|
||||||
static bool has_class_failed_verification(InstanceKlass* ik) NOT_CDS_RETURN_(false);
|
static bool has_class_failed_verification(InstanceKlass* ik) NOT_CDS_RETURN_(false);
|
||||||
|
static bool check_linking_constraints(InstanceKlass* klass, TRAPS) NOT_CDS_RETURN_(false);
|
||||||
|
static void record_linking_constraint(Symbol* name, InstanceKlass* klass,
|
||||||
|
Handle loader1, Handle loader2, TRAPS) NOT_CDS_RETURN;
|
||||||
static bool is_builtin(InstanceKlass* k) {
|
static bool is_builtin(InstanceKlass* k) {
|
||||||
return (k->shared_classpath_index() != UNREGISTERED_INDEX);
|
return (k->shared_classpath_index() != UNREGISTERED_INDEX);
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ bool ShenandoahConcurrentRoots::should_do_concurrent_roots() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool ShenandoahConcurrentRoots::can_do_concurrent_class_unloading() {
|
bool ShenandoahConcurrentRoots::can_do_concurrent_class_unloading() {
|
||||||
#if defined(X86) && !defined(SOLARIS)
|
#if (defined(X86) || defined(AARCH64)) && !defined(SOLARIS)
|
||||||
return ShenandoahCodeRootsStyle == 2 &&
|
return ShenandoahCodeRootsStyle == 2 &&
|
||||||
ClassUnloading;
|
ClassUnloading;
|
||||||
#else
|
#else
|
||||||
|
@ -148,9 +148,23 @@ void ShenandoahPhaseTimings::record_phase_time(Phase phase, double time) {
|
|||||||
void ShenandoahPhaseTimings::record_workers_start(Phase phase) {
|
void ShenandoahPhaseTimings::record_workers_start(Phase phase) {
|
||||||
assert(is_worker_phase(phase), "Phase should accept worker phase times: %s", phase_name(phase));
|
assert(is_worker_phase(phase), "Phase should accept worker phase times: %s", phase_name(phase));
|
||||||
|
|
||||||
for (uint i = 1; i < _num_par_phases; i++) {
|
// Special case: these phases can enter multiple times, need to reset
|
||||||
worker_data(phase, ParPhase(i))->reset();
|
// their worker data every time.
|
||||||
|
if (phase == heap_iteration_roots) {
|
||||||
|
for (uint i = 1; i < _num_par_phases; i++) {
|
||||||
|
worker_data(phase, ParPhase(i))->reset();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef ASSERT
|
||||||
|
for (uint i = 1; i < _num_par_phases; i++) {
|
||||||
|
ShenandoahWorkerData* wd = worker_data(phase, ParPhase(i));
|
||||||
|
for (uint c = 0; c < _max_workers; c++) {
|
||||||
|
assert(wd->get(c) == ShenandoahWorkerData::uninitialized(),
|
||||||
|
"Should not be set: %s", phase_name(worker_par_phase(phase, ParPhase(i))));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShenandoahPhaseTimings::record_workers_end(Phase phase) {
|
void ShenandoahPhaseTimings::record_workers_end(Phase phase) {
|
||||||
@ -178,6 +192,9 @@ void ShenandoahPhaseTimings::flush_cycle_to_global() {
|
|||||||
for (uint i = 0; i < _num_phases; i++) {
|
for (uint i = 0; i < _num_phases; i++) {
|
||||||
_global_data[i].add(_cycle_data[i]);
|
_global_data[i].add(_cycle_data[i]);
|
||||||
_cycle_data[i] = 0;
|
_cycle_data[i] = 0;
|
||||||
|
if (_worker_data[i] != NULL) {
|
||||||
|
_worker_data[i]->reset();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
OrderAccess::fence();
|
OrderAccess::fence();
|
||||||
}
|
}
|
||||||
|
@ -664,7 +664,9 @@ void LinkResolver::check_method_loader_constraints(const LinkInfo& link_info,
|
|||||||
|
|
||||||
ResourceMark rm(THREAD);
|
ResourceMark rm(THREAD);
|
||||||
Symbol* failed_type_symbol =
|
Symbol* failed_type_symbol =
|
||||||
SystemDictionary::check_signature_loaders(link_info.signature(), current_loader,
|
SystemDictionary::check_signature_loaders(link_info.signature(),
|
||||||
|
/*klass_being_linked*/ NULL, // We are not linking class
|
||||||
|
current_loader,
|
||||||
resolved_loader, true, CHECK);
|
resolved_loader, true, CHECK);
|
||||||
if (failed_type_symbol != NULL) {
|
if (failed_type_symbol != NULL) {
|
||||||
Klass* current_class = link_info.current_klass();
|
Klass* current_class = link_info.current_klass();
|
||||||
@ -700,6 +702,7 @@ void LinkResolver::check_field_loader_constraints(Symbol* field, Symbol* sig,
|
|||||||
ResourceMark rm(THREAD); // needed for check_signature_loaders
|
ResourceMark rm(THREAD); // needed for check_signature_loaders
|
||||||
Symbol* failed_type_symbol =
|
Symbol* failed_type_symbol =
|
||||||
SystemDictionary::check_signature_loaders(sig,
|
SystemDictionary::check_signature_loaders(sig,
|
||||||
|
/*klass_being_linked*/ NULL, // We are not linking class
|
||||||
ref_loader, sel_loader,
|
ref_loader, sel_loader,
|
||||||
false,
|
false,
|
||||||
CHECK);
|
CHECK);
|
||||||
|
@ -919,20 +919,22 @@ bool InstanceKlass::link_class_impl(TRAPS) {
|
|||||||
// fabricate new Method*s.
|
// fabricate new Method*s.
|
||||||
// also does loader constraint checking
|
// also does loader constraint checking
|
||||||
//
|
//
|
||||||
// initialize_vtable and initialize_itable need to be rerun for
|
// initialize_vtable and initialize_itable need to be rerun
|
||||||
// a shared class if the class is not loaded by the NULL classloader.
|
// for a shared class if
|
||||||
ClassLoaderData * loader_data = class_loader_data();
|
// 1) the class is loaded by custom class loader or
|
||||||
if (!(is_shared() &&
|
// 2) the class is loaded by built-in class loader but failed to add archived loader constraints
|
||||||
loader_data->is_the_null_class_loader_data())) {
|
bool need_init_table = true;
|
||||||
|
if (is_shared() && SystemDictionaryShared::check_linking_constraints(this, THREAD)) {
|
||||||
|
need_init_table = false;
|
||||||
|
}
|
||||||
|
if (need_init_table) {
|
||||||
vtable().initialize_vtable(true, CHECK_false);
|
vtable().initialize_vtable(true, CHECK_false);
|
||||||
itable().initialize_itable(true, CHECK_false);
|
itable().initialize_itable(true, CHECK_false);
|
||||||
}
|
}
|
||||||
#ifdef ASSERT
|
#ifdef ASSERT
|
||||||
else {
|
vtable().verify(tty, true);
|
||||||
vtable().verify(tty, true);
|
// In case itable verification is ever added.
|
||||||
// In case itable verification is ever added.
|
// itable().verify(tty, true);
|
||||||
// itable().verify(tty, true);
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
set_init_state(linked);
|
set_init_state(linked);
|
||||||
if (JvmtiExport::should_post_class_prepare()) {
|
if (JvmtiExport::should_post_class_prepare()) {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -491,9 +491,9 @@ bool klassVtable::update_inherited_vtable(InstanceKlass* klass, const methodHand
|
|||||||
if (target_loader() != super_loader()) {
|
if (target_loader() != super_loader()) {
|
||||||
ResourceMark rm(THREAD);
|
ResourceMark rm(THREAD);
|
||||||
Symbol* failed_type_symbol =
|
Symbol* failed_type_symbol =
|
||||||
SystemDictionary::check_signature_loaders(signature, target_loader,
|
SystemDictionary::check_signature_loaders(signature, _klass,
|
||||||
super_loader, true,
|
target_loader, super_loader,
|
||||||
CHECK_(false));
|
true, CHECK_(false));
|
||||||
if (failed_type_symbol != NULL) {
|
if (failed_type_symbol != NULL) {
|
||||||
stringStream ss;
|
stringStream ss;
|
||||||
ss.print("loader constraint violation for class %s: when selecting "
|
ss.print("loader constraint violation for class %s: when selecting "
|
||||||
@ -1230,6 +1230,7 @@ void klassItable::initialize_itable_for_interface(int method_table_offset, Insta
|
|||||||
ResourceMark rm(THREAD);
|
ResourceMark rm(THREAD);
|
||||||
Symbol* failed_type_symbol =
|
Symbol* failed_type_symbol =
|
||||||
SystemDictionary::check_signature_loaders(m->signature(),
|
SystemDictionary::check_signature_loaders(m->signature(),
|
||||||
|
_klass,
|
||||||
method_holder_loader,
|
method_holder_loader,
|
||||||
interface_loader,
|
interface_loader,
|
||||||
true, CHECK);
|
true, CHECK);
|
||||||
|
@ -525,6 +525,7 @@ static SpecialFlag const special_jvm_flags[] = {
|
|||||||
{ "MonitorBound", JDK_Version::jdk(14), JDK_Version::jdk(15), JDK_Version::jdk(16) },
|
{ "MonitorBound", JDK_Version::jdk(14), JDK_Version::jdk(15), JDK_Version::jdk(16) },
|
||||||
{ "PrintVMQWaitTime", JDK_Version::jdk(15), JDK_Version::jdk(16), JDK_Version::jdk(17) },
|
{ "PrintVMQWaitTime", JDK_Version::jdk(15), JDK_Version::jdk(16), JDK_Version::jdk(17) },
|
||||||
{ "UseNewFieldLayout", JDK_Version::jdk(15), JDK_Version::jdk(16), JDK_Version::jdk(17) },
|
{ "UseNewFieldLayout", JDK_Version::jdk(15), JDK_Version::jdk(16), JDK_Version::jdk(17) },
|
||||||
|
{ "ForceNUMA", JDK_Version::jdk(15), JDK_Version::jdk(16), JDK_Version::jdk(17) },
|
||||||
|
|
||||||
// --- Deprecated alias flags (see also aliased_jvm_flags) - sorted by obsolete_in then expired_in:
|
// --- Deprecated alias flags (see also aliased_jvm_flags) - sorted by obsolete_in then expired_in:
|
||||||
{ "DefaultMaxRAMFraction", JDK_Version::jdk(8), JDK_Version::undefined(), JDK_Version::undefined() },
|
{ "DefaultMaxRAMFraction", JDK_Version::jdk(8), JDK_Version::undefined(), JDK_Version::undefined() },
|
||||||
|
@ -192,7 +192,7 @@ const size_t minimumSymbolTableSize = 1024;
|
|||||||
range(os::vm_allocation_granularity(), NOT_LP64(2*G) LP64_ONLY(8192*G)) \
|
range(os::vm_allocation_granularity(), NOT_LP64(2*G) LP64_ONLY(8192*G)) \
|
||||||
\
|
\
|
||||||
product(bool, ForceNUMA, false, \
|
product(bool, ForceNUMA, false, \
|
||||||
"Force NUMA optimizations on single-node/UMA systems") \
|
"(Deprecated) Force NUMA optimizations on single-node/UMA systems") \
|
||||||
\
|
\
|
||||||
product(uintx, NUMAChunkResizeWeight, 20, \
|
product(uintx, NUMAChunkResizeWeight, 20, \
|
||||||
"Percentage (0-100) used to weight the current sample when " \
|
"Percentage (0-100) used to weight the current sample when " \
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -80,7 +80,9 @@ class Handle {
|
|||||||
oop operator -> () const { return non_null_obj(); }
|
oop operator -> () const { return non_null_obj(); }
|
||||||
|
|
||||||
bool operator == (oop o) const { return obj() == o; }
|
bool operator == (oop o) const { return obj() == o; }
|
||||||
|
bool operator != (oop o) const { return obj() != o; }
|
||||||
bool operator == (const Handle& h) const { return obj() == h.obj(); }
|
bool operator == (const Handle& h) const { return obj() == h.obj(); }
|
||||||
|
bool operator != (const Handle& h) const { return obj() != h.obj(); }
|
||||||
|
|
||||||
// Null checks
|
// Null checks
|
||||||
bool is_null() const { return _handle == NULL; }
|
bool is_null() const { return _handle == NULL; }
|
||||||
|
@ -339,7 +339,7 @@ void mutex_init() {
|
|||||||
#if INCLUDE_JVMTI
|
#if INCLUDE_JVMTI
|
||||||
def(CDSClassFileStream_lock , PaddedMutex , max_nonleaf, false, _safepoint_check_always);
|
def(CDSClassFileStream_lock , PaddedMutex , max_nonleaf, false, _safepoint_check_always);
|
||||||
#endif
|
#endif
|
||||||
def(DumpTimeTable_lock , PaddedMutex , leaf, true, _safepoint_check_never);
|
def(DumpTimeTable_lock , PaddedMutex , leaf - 1, true, _safepoint_check_never);
|
||||||
#endif // INCLUDE_CDS
|
#endif // INCLUDE_CDS
|
||||||
|
|
||||||
#if INCLUDE_JVMCI
|
#if INCLUDE_JVMCI
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -224,8 +224,8 @@ public class CLDRLocaleProviderAdapter extends JRELocaleProviderAdapter {
|
|||||||
if (supportedLocaleString == null) {
|
if (supportedLocaleString == null) {
|
||||||
return Collections.emptySet();
|
return Collections.emptySet();
|
||||||
}
|
}
|
||||||
Set<String> tagset = new HashSet<>();
|
|
||||||
StringTokenizer tokens = new StringTokenizer(supportedLocaleString);
|
StringTokenizer tokens = new StringTokenizer(supportedLocaleString);
|
||||||
|
Set<String> tagset = new HashSet<>(Math.max((int)(tokens.countTokens() / 0.75f) + 1, 16));
|
||||||
while (tokens.hasMoreTokens()) {
|
while (tokens.hasMoreTokens()) {
|
||||||
tagset.add(tokens.nextToken());
|
tagset.add(tokens.nextToken());
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -444,8 +444,8 @@ public class JRELocaleProviderAdapter extends LocaleProviderAdapter implements R
|
|||||||
if (supportedLocaleString == null) {
|
if (supportedLocaleString == null) {
|
||||||
return Collections.emptySet();
|
return Collections.emptySet();
|
||||||
}
|
}
|
||||||
Set<String> tagset = new HashSet<>();
|
|
||||||
StringTokenizer tokens = new StringTokenizer(supportedLocaleString);
|
StringTokenizer tokens = new StringTokenizer(supportedLocaleString);
|
||||||
|
Set<String> tagset = new HashSet<>(Math.max((int)(tokens.countTokens() / 0.75f) + 1, 16));
|
||||||
while (tokens.hasMoreTokens()) {
|
while (tokens.hasMoreTokens()) {
|
||||||
tagset.add(tokens.nextToken());
|
tagset.add(tokens.nextToken());
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@ If you do not wish to use the Public Suffix List, you may remove the
|
|||||||
|
|
||||||
The Source Code of this file is available under the
|
The Source Code of this file is available under the
|
||||||
Mozilla Public License, v. 2.0 and is located at
|
Mozilla Public License, v. 2.0 and is located at
|
||||||
https://raw.githubusercontent.com/publicsuffix/list/33c1c788decfed1052089fa27e3005fe4088dec3/public_suffix_list.dat.
|
https://raw.githubusercontent.com/publicsuffix/list/cbbba1d234670453df9c930dfbf510c0474d4301/public_suffix_list.dat.
|
||||||
If a copy of the MPL was not distributed with this file, you can obtain one
|
If a copy of the MPL was not distributed with this file, you can obtain one
|
||||||
at https://mozilla.org/MPL/2.0/.
|
at https://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2006, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -27,7 +27,7 @@
|
|||||||
/*
|
/*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package sun.nio.cs.ext;
|
package $PACKAGE$;
|
||||||
|
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
@ -41,7 +41,7 @@ import static sun.nio.cs.CharsetMapping.*;
|
|||||||
public class IBM834 extends Charset
|
public class IBM834 extends Charset
|
||||||
{
|
{
|
||||||
public IBM834() {
|
public IBM834() {
|
||||||
super("x-IBM834", ExtendedCharsets.aliasesFor("x-IBM834"));
|
super("x-IBM834", $ALIASES$);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean contains(Charset cs) {
|
public boolean contains(Charset cs) {
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -23,7 +23,7 @@
|
|||||||
* questions.
|
* questions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package sun.nio.cs.ext;
|
package $PACKAGE$;
|
||||||
|
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
import java.nio.charset.CharsetDecoder;
|
import java.nio.charset.CharsetDecoder;
|
||||||
@ -36,7 +36,7 @@ public class IBM949C extends Charset implements HistoricallyNamedCharset
|
|||||||
{
|
{
|
||||||
|
|
||||||
public IBM949C() {
|
public IBM949C() {
|
||||||
super("x-IBM949C", ExtendedCharsets.aliasesFor("x-IBM949C"));
|
super("x-IBM949C", $ALIASES$);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String historicalName() {
|
public String historicalName() {
|
@ -33,7 +33,7 @@ import java.util.Map;
|
|||||||
*/
|
*/
|
||||||
public final class ApplicationLayout implements PathGroup.Facade<ApplicationLayout> {
|
public final class ApplicationLayout implements PathGroup.Facade<ApplicationLayout> {
|
||||||
enum PathRole {
|
enum PathRole {
|
||||||
RUNTIME, APP, LAUNCHERS, DESKTOP, APP_MODS, DLLS
|
RUNTIME, APP, LAUNCHERS, DESKTOP, APP_MODS, DLLS, RELEASE
|
||||||
}
|
}
|
||||||
|
|
||||||
ApplicationLayout(Map<Object, Path> paths) {
|
ApplicationLayout(Map<Object, Path> paths) {
|
||||||
@ -96,6 +96,13 @@ public final class ApplicationLayout implements PathGroup.Facade<ApplicationLayo
|
|||||||
return pathGroup().getPath(PathRole.DESKTOP);
|
return pathGroup().getPath(PathRole.DESKTOP);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Path to release file in the Java runtime directory.
|
||||||
|
*/
|
||||||
|
public Path runtimeRelease() {
|
||||||
|
return pathGroup().getPath(PathRole.RELEASE);
|
||||||
|
}
|
||||||
|
|
||||||
static ApplicationLayout linuxAppImage() {
|
static ApplicationLayout linuxAppImage() {
|
||||||
return new ApplicationLayout(Map.of(
|
return new ApplicationLayout(Map.of(
|
||||||
PathRole.LAUNCHERS, Path.of("bin"),
|
PathRole.LAUNCHERS, Path.of("bin"),
|
||||||
@ -103,7 +110,8 @@ public final class ApplicationLayout implements PathGroup.Facade<ApplicationLayo
|
|||||||
PathRole.RUNTIME, Path.of("lib/runtime"),
|
PathRole.RUNTIME, Path.of("lib/runtime"),
|
||||||
PathRole.DESKTOP, Path.of("lib"),
|
PathRole.DESKTOP, Path.of("lib"),
|
||||||
PathRole.DLLS, Path.of("lib"),
|
PathRole.DLLS, Path.of("lib"),
|
||||||
PathRole.APP_MODS, Path.of("lib/app/mods")
|
PathRole.APP_MODS, Path.of("lib/app/mods"),
|
||||||
|
PathRole.RELEASE, Path.of("lib/runtime/release")
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -114,7 +122,8 @@ public final class ApplicationLayout implements PathGroup.Facade<ApplicationLayo
|
|||||||
PathRole.RUNTIME, Path.of("runtime"),
|
PathRole.RUNTIME, Path.of("runtime"),
|
||||||
PathRole.DESKTOP, Path.of(""),
|
PathRole.DESKTOP, Path.of(""),
|
||||||
PathRole.DLLS, Path.of(""),
|
PathRole.DLLS, Path.of(""),
|
||||||
PathRole.APP_MODS, Path.of("app/mods")
|
PathRole.APP_MODS, Path.of("app/mods"),
|
||||||
|
PathRole.RELEASE, Path.of("runtime/release")
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -125,7 +134,8 @@ public final class ApplicationLayout implements PathGroup.Facade<ApplicationLayo
|
|||||||
PathRole.RUNTIME, Path.of("Contents/runtime"),
|
PathRole.RUNTIME, Path.of("Contents/runtime"),
|
||||||
PathRole.DESKTOP, Path.of("Contents/Resources"),
|
PathRole.DESKTOP, Path.of("Contents/Resources"),
|
||||||
PathRole.DLLS, Path.of("Contents/MacOS"),
|
PathRole.DLLS, Path.of("Contents/MacOS"),
|
||||||
PathRole.APP_MODS, Path.of("Contents/app/mods")
|
PathRole.APP_MODS, Path.of("Contents/app/mods"),
|
||||||
|
PathRole.RELEASE, Path.of("Contents/runtime/Contents/Home/release")
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -170,6 +170,11 @@ public class Arguments {
|
|||||||
setOptionValue("arguments", arguments);
|
setOptionValue("arguments", arguments);
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
JLINK_OPTIONS ("jlink-options", OptionCategories.PROPERTY, () -> {
|
||||||
|
List<String> options = getArgumentList(popArg());
|
||||||
|
setOptionValue("jlink-options", options);
|
||||||
|
}),
|
||||||
|
|
||||||
ICON ("icon", OptionCategories.PROPERTY),
|
ICON ("icon", OptionCategories.PROPERTY),
|
||||||
|
|
||||||
COPYRIGHT ("copyright", OptionCategories.PROPERTY),
|
COPYRIGHT ("copyright", OptionCategories.PROPERTY),
|
||||||
@ -264,6 +269,7 @@ public class Arguments {
|
|||||||
MODULE_PATH ("module-path", "p", OptionCategories.MODULAR),
|
MODULE_PATH ("module-path", "p", OptionCategories.MODULAR),
|
||||||
|
|
||||||
BIND_SERVICES ("bind-services", OptionCategories.PROPERTY, () -> {
|
BIND_SERVICES ("bind-services", OptionCategories.PROPERTY, () -> {
|
||||||
|
showDeprecation("bind-services");
|
||||||
setOptionValue("bind-services", true);
|
setOptionValue("bind-services", true);
|
||||||
}),
|
}),
|
||||||
|
|
||||||
@ -579,7 +585,11 @@ public class Arguments {
|
|||||||
CLIOptions.PREDEFINED_RUNTIME_IMAGE.getIdWithPrefix(),
|
CLIOptions.PREDEFINED_RUNTIME_IMAGE.getIdWithPrefix(),
|
||||||
CLIOptions.BIND_SERVICES.getIdWithPrefix());
|
CLIOptions.BIND_SERVICES.getIdWithPrefix());
|
||||||
}
|
}
|
||||||
|
if (allOptions.contains(CLIOptions.JLINK_OPTIONS)) {
|
||||||
|
throw new PackagerException("ERR_MutuallyExclusiveOptions",
|
||||||
|
CLIOptions.PREDEFINED_RUNTIME_IMAGE.getIdWithPrefix(),
|
||||||
|
CLIOptions.JLINK_OPTIONS.getIdWithPrefix());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (hasMainJar && hasMainModule) {
|
if (hasMainJar && hasMainModule) {
|
||||||
throw new PackagerException("ERR_BothMainJarAndModule");
|
throw new PackagerException("ERR_BothMainJarAndModule");
|
||||||
@ -809,4 +819,8 @@ public class Arguments {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void showDeprecation(String option) {
|
||||||
|
Log.error(MessageFormat.format(I18N.getString("warning.deprecation"),
|
||||||
|
option));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -315,7 +315,8 @@ public class DeployParams {
|
|||||||
StandardBundlerParam.MODULE_PATH.getID(),
|
StandardBundlerParam.MODULE_PATH.getID(),
|
||||||
StandardBundlerParam.ADD_MODULES.getID(),
|
StandardBundlerParam.ADD_MODULES.getID(),
|
||||||
StandardBundlerParam.LIMIT_MODULES.getID(),
|
StandardBundlerParam.LIMIT_MODULES.getID(),
|
||||||
StandardBundlerParam.FILE_ASSOCIATIONS.getID()
|
StandardBundlerParam.FILE_ASSOCIATIONS.getID(),
|
||||||
|
StandardBundlerParam.JLINK_OPTIONS.getID()
|
||||||
));
|
));
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -145,6 +145,8 @@ final class JLinkBundlerHelper {
|
|||||||
StandardBundlerParam.ADD_MODULES.fetchFrom(params);
|
StandardBundlerParam.ADD_MODULES.fetchFrom(params);
|
||||||
Set<String> limitModules =
|
Set<String> limitModules =
|
||||||
StandardBundlerParam.LIMIT_MODULES.fetchFrom(params);
|
StandardBundlerParam.LIMIT_MODULES.fetchFrom(params);
|
||||||
|
List<String> options =
|
||||||
|
StandardBundlerParam.JLINK_OPTIONS.fetchFrom(params);
|
||||||
Path outputDir = imageBuilder.getRuntimeRoot();
|
Path outputDir = imageBuilder.getRuntimeRoot();
|
||||||
File mainJar = getMainJar(params);
|
File mainJar = getMainJar(params);
|
||||||
ModFile.ModType mainJarType = ModFile.ModType.Unknown;
|
ModFile.ModType mainJarType = ModFile.ModType.Unknown;
|
||||||
@ -181,7 +183,7 @@ final class JLinkBundlerHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
runJLink(outputDir, modulePath, modules, limitModules,
|
runJLink(outputDir, modulePath, modules, limitModules,
|
||||||
new HashMap<String,String>(), bindServices);
|
options, bindServices);
|
||||||
|
|
||||||
imageBuilder.prepareApplicationFiles(params);
|
imageBuilder.prepareApplicationFiles(params);
|
||||||
}
|
}
|
||||||
@ -316,7 +318,7 @@ final class JLinkBundlerHelper {
|
|||||||
|
|
||||||
private static void runJLink(Path output, List<Path> modulePath,
|
private static void runJLink(Path output, List<Path> modulePath,
|
||||||
Set<String> modules, Set<String> limitModules,
|
Set<String> modules, Set<String> limitModules,
|
||||||
HashMap<String, String> user, boolean bindServices)
|
List<String> options, boolean bindServices)
|
||||||
throws PackagerException {
|
throws PackagerException {
|
||||||
|
|
||||||
// This is just to ensure jlink is given a non-existant directory
|
// This is just to ensure jlink is given a non-existant directory
|
||||||
@ -342,20 +344,19 @@ final class JLinkBundlerHelper {
|
|||||||
args.add("--limit-modules");
|
args.add("--limit-modules");
|
||||||
args.add(getStringList(limitModules));
|
args.add(getStringList(limitModules));
|
||||||
}
|
}
|
||||||
if (user != null && !user.isEmpty()) {
|
if (options != null) {
|
||||||
for (Map.Entry<String, String> entry : user.entrySet()) {
|
for (String option : options) {
|
||||||
args.add(entry.getKey());
|
if (option.startsWith("--output") ||
|
||||||
args.add(entry.getValue());
|
option.startsWith("--add-modules") ||
|
||||||
}
|
option.startsWith("--module-path")) {
|
||||||
} else {
|
throw new PackagerException("error.blocked.option", option);
|
||||||
args.add("--strip-native-commands");
|
}
|
||||||
args.add("--strip-debug");
|
args.add(option);
|
||||||
args.add("--no-man-pages");
|
|
||||||
args.add("--no-header-files");
|
|
||||||
if (bindServices) {
|
|
||||||
args.add("--bind-services");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (bindServices) {
|
||||||
|
args.add("--bind-services");
|
||||||
|
}
|
||||||
|
|
||||||
StringWriter writer = new StringWriter();
|
StringWriter writer = new StringWriter();
|
||||||
PrintWriter pw = new PrintWriter(writer);
|
PrintWriter pw = new PrintWriter(writer);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -70,6 +70,11 @@ class StandardBundlerParam<T> extends BundlerParamInfo<T> {
|
|||||||
private static final String JAVABASEJMOD = "java.base.jmod";
|
private static final String JAVABASEJMOD = "java.base.jmod";
|
||||||
private final static String DEFAULT_VERSION = "1.0";
|
private final static String DEFAULT_VERSION = "1.0";
|
||||||
private final static String DEFAULT_RELEASE = "1";
|
private final static String DEFAULT_RELEASE = "1";
|
||||||
|
private final static String[] DEFAULT_JLINK_OPTIONS = {
|
||||||
|
"--strip-native-commands",
|
||||||
|
"--strip-debug",
|
||||||
|
"--no-man-pages",
|
||||||
|
"--no-header-files"};
|
||||||
|
|
||||||
StandardBundlerParam(String id, Class<T> valueType,
|
StandardBundlerParam(String id, Class<T> valueType,
|
||||||
Function<Map<String, ? super Object>, T> defaultValueFunction,
|
Function<Map<String, ? super Object>, T> defaultValueFunction,
|
||||||
@ -479,6 +484,14 @@ class StandardBundlerParam<T> extends BundlerParamInfo<T> {
|
|||||||
(s, p) -> new LinkedHashSet<>(Arrays.asList(s.split(",")))
|
(s, p) -> new LinkedHashSet<>(Arrays.asList(s.split(",")))
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
static final StandardBundlerParam<List<String>> JLINK_OPTIONS =
|
||||||
|
new StandardBundlerParam<>(
|
||||||
|
Arguments.CLIOptions.JLINK_OPTIONS.getId(),
|
||||||
|
(Class<List<String>>) (Object) List.class,
|
||||||
|
p -> Arrays.asList(DEFAULT_JLINK_OPTIONS),
|
||||||
|
(s, p) -> null);
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
static final BundlerParamInfo<Set<String>> LIMIT_MODULES =
|
static final BundlerParamInfo<Set<String>> LIMIT_MODULES =
|
||||||
new StandardBundlerParam<>(
|
new StandardBundlerParam<>(
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -85,6 +85,7 @@ class ValidOptions {
|
|||||||
options.put(CLIOptions.JAVA_OPTIONS.getId(), USE.LAUNCHER);
|
options.put(CLIOptions.JAVA_OPTIONS.getId(), USE.LAUNCHER);
|
||||||
options.put(CLIOptions.ADD_LAUNCHER.getId(), USE.LAUNCHER);
|
options.put(CLIOptions.ADD_LAUNCHER.getId(), USE.LAUNCHER);
|
||||||
options.put(CLIOptions.BIND_SERVICES.getId(), USE.LAUNCHER);
|
options.put(CLIOptions.BIND_SERVICES.getId(), USE.LAUNCHER);
|
||||||
|
options.put(CLIOptions.JLINK_OPTIONS.getId(), USE.LAUNCHER);
|
||||||
|
|
||||||
options.put(CLIOptions.LICENSE_FILE.getId(), USE.INSTALL);
|
options.put(CLIOptions.LICENSE_FILE.getId(), USE.INSTALL);
|
||||||
options.put(CLIOptions.INSTALL_DIR.getId(), USE.INSTALL);
|
options.put(CLIOptions.INSTALL_DIR.getId(), USE.INSTALL);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -107,6 +107,12 @@ Generic Options:\n\
|
|||||||
\ --bind-services \n\
|
\ --bind-services \n\
|
||||||
\ Pass on --bind-services option to jlink (which will link in \n\
|
\ Pass on --bind-services option to jlink (which will link in \n\
|
||||||
\ service provider modules and their dependences) \n\
|
\ service provider modules and their dependences) \n\
|
||||||
|
\ This option is deprecated. Use "--jlink-options" option instead. \n\
|
||||||
|
\ --jlink-options <jlink options> \n\
|
||||||
|
\ A space separated list of options to pass to jlink \n\
|
||||||
|
\ If not specified, defaults to "--strip-native-commands \n\
|
||||||
|
\ --strip-debug --no-man-pages --no-header-files" \n\
|
||||||
|
\ This option can be used multiple times.\n\
|
||||||
\ --runtime-image <file path>\n\
|
\ --runtime-image <file path>\n\
|
||||||
\ Path of the predefined runtime image that will be copied into\n\
|
\ Path of the predefined runtime image that will be copied into\n\
|
||||||
\ the application image\n\
|
\ the application image\n\
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -63,9 +63,11 @@ error.tool-not-found.advice=Please install {0}
|
|||||||
error.tool-old-version=Can not find {0} {1} or newer
|
error.tool-old-version=Can not find {0} {1} or newer
|
||||||
error.tool-old-version.advice=Please install {0} {1} or newer
|
error.tool-old-version.advice=Please install {0} {1} or newer
|
||||||
error.jlink.failed=jlink failed with: {0}
|
error.jlink.failed=jlink failed with: {0}
|
||||||
|
error.blocked.option=jlink option [{0}] is not permitted in --jlink-options
|
||||||
|
|
||||||
warning.module.does.not.exist=Module [{0}] does not exist
|
warning.module.does.not.exist=Module [{0}] does not exist
|
||||||
warning.no.jdk.modules.found=Warning: No JDK Modules found
|
warning.no.jdk.modules.found=Warning: No JDK Modules found
|
||||||
|
warning.deprecation=Warning: Option "{0}" is deprecated and may be removed in a future release
|
||||||
|
|
||||||
MSG_BundlerFailed=Error: Bundler "{1}" ({0}) failed to produce a package
|
MSG_BundlerFailed=Error: Bundler "{1}" ({0}) failed to produce a package
|
||||||
MSG_BundlerConfigException=Bundler {0} skipped because of a configuration problem: {1} \n\
|
MSG_BundlerConfigException=Bundler {0} skipped because of a configuration problem: {1} \n\
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -63,9 +63,11 @@ error.tool-not-found.advice={0}\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\
|
|||||||
error.tool-old-version={0} {1}\u4EE5\u964D\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
|
error.tool-old-version={0} {1}\u4EE5\u964D\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
|
||||||
error.tool-old-version.advice={0} {1}\u4EE5\u964D\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u304F\u3060\u3055\u3044
|
error.tool-old-version.advice={0} {1}\u4EE5\u964D\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u304F\u3060\u3055\u3044
|
||||||
error.jlink.failed=jlink\u304C\u6B21\u3067\u5931\u6557\u3057\u307E\u3057\u305F: {0}
|
error.jlink.failed=jlink\u304C\u6B21\u3067\u5931\u6557\u3057\u307E\u3057\u305F: {0}
|
||||||
|
error.blocked.option=jlink option [{0}] is not permitted in --jlink-options
|
||||||
|
|
||||||
warning.module.does.not.exist=\u30E2\u30B8\u30E5\u30FC\u30EB[{0}]\u306F\u5B58\u5728\u3057\u307E\u305B\u3093
|
warning.module.does.not.exist=\u30E2\u30B8\u30E5\u30FC\u30EB[{0}]\u306F\u5B58\u5728\u3057\u307E\u305B\u3093
|
||||||
warning.no.jdk.modules.found=\u8B66\u544A: JDK\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
|
warning.no.jdk.modules.found=\u8B66\u544A: JDK\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
|
||||||
|
warning.deprecation=Warning: Option "{0}" is deprecated and may be removed in a future release
|
||||||
|
|
||||||
MSG_BundlerFailed=\u30A8\u30E9\u30FC: \u30D0\u30F3\u30C9\u30E9"{1}" ({0})\u304C\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u751F\u6210\u306B\u5931\u6557\u3057\u307E\u3057\u305F
|
MSG_BundlerFailed=\u30A8\u30E9\u30FC: \u30D0\u30F3\u30C9\u30E9"{1}" ({0})\u304C\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u751F\u6210\u306B\u5931\u6557\u3057\u307E\u3057\u305F
|
||||||
MSG_BundlerConfigException=\u69CB\u6210\u306E\u554F\u984C\u306E\u305F\u3081\u3001\u30D0\u30F3\u30C9\u30E9{0}\u304C\u30B9\u30AD\u30C3\u30D7\u3055\u308C\u307E\u3057\u305F: {1} \n\u6B21\u306E\u4FEE\u6B63\u3092\u884C\u3063\u3066\u304F\u3060\u3055\u3044: {2}
|
MSG_BundlerConfigException=\u69CB\u6210\u306E\u554F\u984C\u306E\u305F\u3081\u3001\u30D0\u30F3\u30C9\u30E9{0}\u304C\u30B9\u30AD\u30C3\u30D7\u3055\u308C\u307E\u3057\u305F: {1} \n\u6B21\u306E\u4FEE\u6B63\u3092\u884C\u3063\u3066\u304F\u3060\u3055\u3044: {2}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -63,9 +63,11 @@ error.tool-not-found.advice=\u8BF7\u5B89\u88C5 {0}
|
|||||||
error.tool-old-version=\u627E\u4E0D\u5230 {0} {1}\u6216\u66F4\u65B0\u7248\u672C
|
error.tool-old-version=\u627E\u4E0D\u5230 {0} {1}\u6216\u66F4\u65B0\u7248\u672C
|
||||||
error.tool-old-version.advice=\u8BF7\u5B89\u88C5 {0} {1}\u6216\u66F4\u65B0\u7248\u672C
|
error.tool-old-version.advice=\u8BF7\u5B89\u88C5 {0} {1}\u6216\u66F4\u65B0\u7248\u672C
|
||||||
error.jlink.failed=jlink \u5931\u8D25\uFF0C\u51FA\u73B0 {0}
|
error.jlink.failed=jlink \u5931\u8D25\uFF0C\u51FA\u73B0 {0}
|
||||||
|
error.blocked.option=jlink option [{0}] is not permitted in --jlink-options
|
||||||
|
|
||||||
warning.module.does.not.exist=\u6A21\u5757 [{0}] \u4E0D\u5B58\u5728
|
warning.module.does.not.exist=\u6A21\u5757 [{0}] \u4E0D\u5B58\u5728
|
||||||
warning.no.jdk.modules.found=\u8B66\u544A: \u672A\u627E\u5230 JDK \u6A21\u5757
|
warning.no.jdk.modules.found=\u8B66\u544A: \u672A\u627E\u5230 JDK \u6A21\u5757
|
||||||
|
warning.deprecation=Warning: Option "{0}" is deprecated and may be removed in a future release
|
||||||
|
|
||||||
MSG_BundlerFailed=\u9519\u8BEF\uFF1A\u6253\u5305\u7A0B\u5E8F "{1}" ({0}) \u65E0\u6CD5\u751F\u6210\u7A0B\u5E8F\u5305
|
MSG_BundlerFailed=\u9519\u8BEF\uFF1A\u6253\u5305\u7A0B\u5E8F "{1}" ({0}) \u65E0\u6CD5\u751F\u6210\u7A0B\u5E8F\u5305
|
||||||
MSG_BundlerConfigException=\u7531\u4E8E\u914D\u7F6E\u95EE\u9898, \u8DF3\u8FC7\u4E86\u6253\u5305\u7A0B\u5E8F{0}: {1} \n\u4FEE\u590D\u5EFA\u8BAE: {2}
|
MSG_BundlerConfigException=\u7531\u4E8E\u914D\u7F6E\u95EE\u9898, \u8DF3\u8FC7\u4E86\u6253\u5305\u7A0B\u5E8F{0}: {1} \n\u4FEE\u590D\u5EFA\u8BAE: {2}
|
||||||
|
@ -323,6 +323,7 @@ hotspot_appcds_dynamic = \
|
|||||||
-runtime/cds/appcds/cacheObject \
|
-runtime/cds/appcds/cacheObject \
|
||||||
-runtime/cds/appcds/customLoader \
|
-runtime/cds/appcds/customLoader \
|
||||||
-runtime/cds/appcds/dynamicArchive \
|
-runtime/cds/appcds/dynamicArchive \
|
||||||
|
-runtime/cds/appcds/loaderConstraints/DynamicLoaderConstraintsTest.java \
|
||||||
-runtime/cds/appcds/javaldr/ArrayTest.java \
|
-runtime/cds/appcds/javaldr/ArrayTest.java \
|
||||||
-runtime/cds/appcds/javaldr/GCSharedStringsDuringDump.java \
|
-runtime/cds/appcds/javaldr/GCSharedStringsDuringDump.java \
|
||||||
-runtime/cds/appcds/javaldr/HumongousDuringDump.java \
|
-runtime/cds/appcds/javaldr/HumongousDuringDump.java \
|
||||||
|
@ -135,6 +135,131 @@ import java.io.IOException;
|
|||||||
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu
|
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu
|
||||||
* gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
* gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @test TestGCBasherDeoptWithShenandoah
|
||||||
|
* @key gc
|
||||||
|
* @key stress
|
||||||
|
* @library /
|
||||||
|
* @requires vm.gc.Shenandoah
|
||||||
|
* @requires vm.flavor == "server" & !vm.emulatedClient & !vm.graal.enabled & vm.opt.ClassUnloading != false
|
||||||
|
* @summary Stress Shenandoah GC with nmethod barrier forced deoptimization enabled.
|
||||||
|
*
|
||||||
|
* @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
|
||||||
|
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive
|
||||||
|
* -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline
|
||||||
|
* -XX:+ShenandoahVerify -XX:+ShenandoahDegeneratedGC
|
||||||
|
* gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
|
*
|
||||||
|
* @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
|
||||||
|
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive
|
||||||
|
* -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline
|
||||||
|
* -XX:+ShenandoahVerify -XX:-ShenandoahDegeneratedGC
|
||||||
|
* gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @test TestGCBasherDeoptWithShenandoah
|
||||||
|
* @key gc
|
||||||
|
* @key stress
|
||||||
|
* @library /
|
||||||
|
* @requires vm.gc.Shenandoah
|
||||||
|
* @requires vm.flavor == "server" & !vm.emulatedClient & !vm.graal.enabled & vm.opt.ClassUnloading != false
|
||||||
|
* @summary Stress Shenandoah GC with nmethod barrier forced deoptimization enabled.
|
||||||
|
*
|
||||||
|
* @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
|
||||||
|
* -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive
|
||||||
|
* -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline
|
||||||
|
* -XX:+ShenandoahOOMDuringEvacALot
|
||||||
|
* gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
|
*
|
||||||
|
* @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
|
||||||
|
* -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive
|
||||||
|
* -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline
|
||||||
|
* -XX:+ShenandoahAllocFailureALot
|
||||||
|
* gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
|
*
|
||||||
|
* @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
|
||||||
|
* -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive
|
||||||
|
* -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline
|
||||||
|
* gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @test TestGCBasherDeoptWithShenandoah
|
||||||
|
* @key gc
|
||||||
|
* @key stress
|
||||||
|
* @library /
|
||||||
|
* @requires vm.gc.Shenandoah
|
||||||
|
* @requires vm.flavor == "server" & !vm.emulatedClient & !vm.graal.enabled & vm.opt.ClassUnloading != false
|
||||||
|
* @summary Stress Shenandoah GC with nmethod barrier forced deoptimization enabled.
|
||||||
|
*
|
||||||
|
* @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
|
||||||
|
* -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive
|
||||||
|
* -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline
|
||||||
|
* -XX:+ShenandoahVerify
|
||||||
|
* gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
|
*
|
||||||
|
* @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
|
||||||
|
* -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive
|
||||||
|
* -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline
|
||||||
|
* gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
|
*
|
||||||
|
* @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
|
||||||
|
* -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact
|
||||||
|
* -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline
|
||||||
|
* gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @test TestGCBasherDeoptWithShenandoah
|
||||||
|
* @key gc
|
||||||
|
* @key stress
|
||||||
|
* @library /
|
||||||
|
* @requires vm.gc.Shenandoah
|
||||||
|
* @requires vm.flavor == "server" & !vm.emulatedClient & !vm.graal.enabled & vm.opt.ClassUnloading != false
|
||||||
|
* @summary Stress Shenandoah GC with nmethod barrier forced deoptimization enabled.
|
||||||
|
*
|
||||||
|
* @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
|
||||||
|
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive
|
||||||
|
* -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline
|
||||||
|
* -XX:+ShenandoahOOMDuringEvacALot
|
||||||
|
* gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
|
*
|
||||||
|
* @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
|
||||||
|
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive
|
||||||
|
* -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline
|
||||||
|
* -XX:+ShenandoahAllocFailureALot
|
||||||
|
* gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
|
*
|
||||||
|
* @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
|
||||||
|
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive
|
||||||
|
* -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline
|
||||||
|
* gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @test TestGCBasherDeoptWithShenandoah
|
||||||
|
* @key gc
|
||||||
|
* @key stress
|
||||||
|
* @library /
|
||||||
|
* @requires vm.gc.Shenandoah
|
||||||
|
* @requires vm.flavor == "server" & !vm.emulatedClient & !vm.graal.enabled & vm.opt.ClassUnloading != false
|
||||||
|
* @summary Stress Shenandoah GC with nmethod barrier forced deoptimization enabled.
|
||||||
|
*
|
||||||
|
* @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
|
||||||
|
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu
|
||||||
|
* -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline
|
||||||
|
* -XX:+ShenandoahVerify
|
||||||
|
* gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
|
*
|
||||||
|
* @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
|
||||||
|
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu
|
||||||
|
* -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline
|
||||||
|
* gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
public class TestGCBasherWithShenandoah {
|
public class TestGCBasherWithShenandoah {
|
||||||
public static void main(String[] args) throws IOException {
|
public static void main(String[] args) throws IOException {
|
||||||
TestGCBasher.main(args);
|
TestGCBasher.main(args);
|
||||||
|
@ -77,8 +77,6 @@ public class invocationC1Tests {
|
|||||||
int major_version = klassbuf[6] << 8 | klassbuf[7];
|
int major_version = klassbuf[6] << 8 | klassbuf[7];
|
||||||
runTest("invokespecial.Generator", String.valueOf(major_version));
|
runTest("invokespecial.Generator", String.valueOf(major_version));
|
||||||
runTest("invokeinterface.Generator", String.valueOf(major_version));
|
runTest("invokeinterface.Generator", String.valueOf(major_version));
|
||||||
|
runTest("invokevirtual.Generator", String.valueOf(major_version));
|
||||||
// Uncomment this test once JDK-8226588 is fixed
|
|
||||||
// runTest("invokevirtual.Generator", String.valueOf(major_version));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -73,8 +73,7 @@ public class invokevirtualTests {
|
|||||||
byte klassbuf[] = InMemoryJavaCompiler.compile("blah", "public class blah { }");
|
byte klassbuf[] = InMemoryJavaCompiler.compile("blah", "public class blah { }");
|
||||||
int major_version = klassbuf[6] << 8 | klassbuf[7];
|
int major_version = klassbuf[6] << 8 | klassbuf[7];
|
||||||
runTest(String.valueOf(major_version), "-Xint");
|
runTest(String.valueOf(major_version), "-Xint");
|
||||||
// Uncomment the below test once JDK-8226588 is fixed
|
runTest(String.valueOf(major_version), "-Xcomp");
|
||||||
// runTest(String.valueOf(major_version), "-Xcomp");
|
|
||||||
|
|
||||||
// Test old class file version.
|
// Test old class file version.
|
||||||
runTest("51", "-Xint"); // JDK-7
|
runTest("51", "-Xint"); // JDK-7
|
||||||
|
@ -0,0 +1,98 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 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
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
* @requires vm.cds
|
||||||
|
* @summary Test class loader constraint checks for archived classes (dynamic archive)
|
||||||
|
* @library /test/lib
|
||||||
|
* /test/hotspot/jtreg/runtime/cds/appcds
|
||||||
|
* /test/hotspot/jtreg/runtime/cds/appcds/test-classes
|
||||||
|
* /test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive
|
||||||
|
* @modules java.base/jdk.internal.misc
|
||||||
|
* jdk.httpserver
|
||||||
|
* @run driver DynamicLoaderConstraintsTest
|
||||||
|
*/
|
||||||
|
|
||||||
|
import com.sun.net.httpserver.HttpExchange;
|
||||||
|
import com.sun.net.httpserver.HttpHandler;
|
||||||
|
import jdk.test.lib.Asserts;
|
||||||
|
|
||||||
|
public class DynamicLoaderConstraintsTest extends DynamicArchiveTestBase {
|
||||||
|
static String mainClass = LoaderConstraintsApp.class.getName();
|
||||||
|
static String appJar = null;
|
||||||
|
static String appClasses[] = {
|
||||||
|
mainClass,
|
||||||
|
HttpHandler.class.getName(),
|
||||||
|
HttpExchange.class.getName(),
|
||||||
|
Asserts.class.getName(),
|
||||||
|
MyHttpHandler.class.getName(),
|
||||||
|
MyHttpHandlerB.class.getName(),
|
||||||
|
MyHttpHandlerC.class.getName(),
|
||||||
|
MyClassLoader.class.getName()
|
||||||
|
};
|
||||||
|
|
||||||
|
public static void main(String[] args) throws Exception {
|
||||||
|
runTest(DynamicLoaderConstraintsTest::doTest);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void doTest() throws Exception {
|
||||||
|
appJar = ClassFileInstaller.writeJar("loader_constraints.jar", appClasses);
|
||||||
|
doTest(false);
|
||||||
|
doTest(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* errorInDump:
|
||||||
|
* true: Even when dumping the archive, execute the code that would cause
|
||||||
|
* LinkageError, to see how the VM can handle such error during
|
||||||
|
* dump time.
|
||||||
|
* false: At dump time, simply load all the necessary test classes without
|
||||||
|
* causing LinkageError. This ensures the test classes will be
|
||||||
|
* archived so we can test CDS's handling of loader constraints during
|
||||||
|
* run time.
|
||||||
|
*/
|
||||||
|
static void doTest(boolean errorInDump) throws Exception {
|
||||||
|
for (int i = 1; i <= 3; i++) {
|
||||||
|
String topArchiveName = getNewArchiveName();
|
||||||
|
String testCase = Integer.toString(i);
|
||||||
|
String cmdLine[] = new String[] {
|
||||||
|
"-cp", appJar,
|
||||||
|
"--add-modules",
|
||||||
|
"java.base,jdk.httpserver",
|
||||||
|
"--add-exports",
|
||||||
|
"java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||||
|
"-Xlog:class+load,class+loader+constraints",
|
||||||
|
mainClass, testCase
|
||||||
|
};
|
||||||
|
|
||||||
|
String[] dumpCmdLine = cmdLine;
|
||||||
|
if (!errorInDump) {
|
||||||
|
dumpCmdLine = TestCommon.concat(dumpCmdLine, "loadClassOnly");
|
||||||
|
}
|
||||||
|
|
||||||
|
dump(topArchiveName, dumpCmdLine).assertNormalExit();
|
||||||
|
run(topArchiveName, cmdLine).assertNormalExit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,150 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 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
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import com.sun.net.httpserver.HttpHandler;
|
||||||
|
import jdk.internal.misc.Unsafe;
|
||||||
|
import jdk.test.lib.Asserts;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.net.URL;
|
||||||
|
|
||||||
|
|
||||||
|
// Test cases:
|
||||||
|
//
|
||||||
|
// 1. load HttpExchange in apploader, define HttpExchange in parent (platform) loader,
|
||||||
|
// then load MyHttpHandler => fail.
|
||||||
|
// 2. define HttpExchange in parent (platform) loader, load MyHttpHandler,
|
||||||
|
// then try to define HttpExchange in child (app) loader => fail.
|
||||||
|
// 3. no LinkageError should be throw when linking a class that does not override/implement any
|
||||||
|
// methods.
|
||||||
|
class LoaderConstraintsApp {
|
||||||
|
static void defineHttpExchangeWithAppLoader() throws Exception {
|
||||||
|
Unsafe unsafe = Unsafe.getUnsafe();
|
||||||
|
URL url = new URL("jrt://modules/jdk.httpserver/com/sun/net/httpserver/HttpExchange.class");
|
||||||
|
byte[] bytes;
|
||||||
|
try (InputStream is = url.openStream()) {
|
||||||
|
bytes = is.readAllBytes();
|
||||||
|
}
|
||||||
|
Class fakeClass = unsafe.defineClass("com/sun/net/httpserver/HttpExchange", bytes, 0, bytes.length,
|
||||||
|
LoaderConstraintsApp.class.getClassLoader(),
|
||||||
|
LoaderConstraintsApp.class.getProtectionDomain());
|
||||||
|
System.out.println("fake HttpExchange = " + fakeClass.hashCode());
|
||||||
|
System.out.println("fake HttpExchange (loader) = " + fakeClass.getClassLoader());
|
||||||
|
}
|
||||||
|
|
||||||
|
static void resolveHttpExchangeInParentLoader(ClassLoader loader) throws Exception {
|
||||||
|
Class realClass = Class.forName("com.sun.net.httpserver.HttpExchange", false, loader);
|
||||||
|
System.out.println("real HttpExchange = " + realClass.hashCode());
|
||||||
|
System.out.println("real HttpExchange (loader) = " + realClass.getClassLoader());
|
||||||
|
}
|
||||||
|
|
||||||
|
static void doTest(int k) throws Exception {
|
||||||
|
ClassLoader appLoader = LoaderConstraintsApp.class.getClassLoader();
|
||||||
|
ClassLoader platformLoader = appLoader.getParent();
|
||||||
|
if (k == 1) {
|
||||||
|
defineHttpExchangeWithAppLoader();
|
||||||
|
// Resolve HttpExchange in parent loader (platform loader) - should be OK.
|
||||||
|
resolveHttpExchangeInParentLoader(platformLoader);
|
||||||
|
try {
|
||||||
|
// This must fail since the two loaders have resolved different versions of HttpExchange
|
||||||
|
HttpHandler h1 = new MyHttpHandler();
|
||||||
|
throw new RuntimeException("Load HttpExchange with platform loader did not fail as expected");
|
||||||
|
} catch (LinkageError e) {
|
||||||
|
System.out.println("Expected: " + e);
|
||||||
|
Asserts.assertTrue(e.getMessage().contains("loader constraint violation in interface itable initialization for class MyHttpHandler"));
|
||||||
|
e.printStackTrace(System.out);
|
||||||
|
}
|
||||||
|
} else if (k == 2) {
|
||||||
|
// Resolve HttpExchange in parent loader (platform loader) - this should succeed
|
||||||
|
resolveHttpExchangeInParentLoader(platformLoader);
|
||||||
|
|
||||||
|
// Load MyHttpHandler in app loader -- this should succeed, but it should
|
||||||
|
// create a class loader constraint that app loader must resolve the same HttpExchange
|
||||||
|
// class as the platform loader
|
||||||
|
HttpHandler h2 = new MyHttpHandler();
|
||||||
|
|
||||||
|
// Try to resolve a different HttpExchange class in the app loader. It must fail
|
||||||
|
try {
|
||||||
|
defineHttpExchangeWithAppLoader();
|
||||||
|
throw new RuntimeException("defineHttpExchangeWithAppLoader() did not fail as expected");
|
||||||
|
} catch (LinkageError e) {
|
||||||
|
System.out.println("Expected: " + e);
|
||||||
|
e.printStackTrace(System.out);
|
||||||
|
}
|
||||||
|
} else if (k == 3) {
|
||||||
|
// Resolve a different HttpExchange in platform and app loaders
|
||||||
|
resolveHttpExchangeInParentLoader(platformLoader);
|
||||||
|
defineHttpExchangeWithAppLoader();
|
||||||
|
|
||||||
|
// MyHttpHandlerB should still link, as it doesn't override HttpHandler.handle(HttpExchange)
|
||||||
|
MyHttpHandlerB.touch();
|
||||||
|
|
||||||
|
MyClassLoader loader = new MyClassLoader(platformLoader, appLoader);
|
||||||
|
try {
|
||||||
|
// MyHttpHandlerC should link, as its loader (MyClassLoader) resolves the same
|
||||||
|
// HttpExchange as the platform loader.
|
||||||
|
Class C = loader.loadClass("MyHttpHandlerC");
|
||||||
|
System.out.println("MyHttpHandlerC = " + C);
|
||||||
|
System.out.println("MyHttpHandlerC (loader) = " + C.getClassLoader());
|
||||||
|
|
||||||
|
HttpHandler handlerC = (HttpHandler)C.newInstance();
|
||||||
|
try {
|
||||||
|
// If the following is executed during CDS dynamic dump, a loader constraint is checked when resolving
|
||||||
|
// the HttpHandler.handle(HttpExchange) method reference inside MyHttpHandlerB.test(). This constraint must
|
||||||
|
// not be saved into the CDS archive for MyHttpHandlerB, or it would prevent MyHttpHandlerB
|
||||||
|
// from being linked during runtime.
|
||||||
|
MyHttpHandlerB.test(handlerC);
|
||||||
|
throw new RuntimeException("MyHttpHandlerB.test() did not fail as expected");
|
||||||
|
} catch (LinkageError e) {
|
||||||
|
System.out.println("Expected: " + e);
|
||||||
|
Asserts.assertTrue(e.getMessage().matches(".*constraint violation: when resolving interface method .*.HttpHandler.handle.*"));
|
||||||
|
e.printStackTrace(System.out);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException("Unexpected exception", e);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// should not be other value
|
||||||
|
throw new RuntimeException("Wrong option specified k = " + k);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String... args) throws Throwable {
|
||||||
|
if (args.length < 1) {
|
||||||
|
// option of {1, 2}
|
||||||
|
throw new RuntimeException("Wrong number of arguments");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args.length >= 2 && "loadClassOnly".equals(args[1])) {
|
||||||
|
System.out.println("Loading: " + MyHttpHandler.class);
|
||||||
|
System.out.println("Loading: " + MyHttpHandlerB.class);
|
||||||
|
System.exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
int k = Integer.valueOf(args[0]);
|
||||||
|
if (k < 1 && k > 3) {
|
||||||
|
throw new RuntimeException("Arg is out of range [1,3] k = " + k);
|
||||||
|
}
|
||||||
|
|
||||||
|
doTest(k);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,77 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 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
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
* @requires vm.cds
|
||||||
|
* @summary Test class loader constraint checks for archived classes
|
||||||
|
* @library /test/lib
|
||||||
|
* /test/hotspot/jtreg/runtime/cds/appcds
|
||||||
|
* /test/hotspot/jtreg/runtime/cds/appcds/test-classes
|
||||||
|
* @modules java.base/jdk.internal.misc
|
||||||
|
* jdk.httpserver
|
||||||
|
* @run driver LoaderConstraintsTest
|
||||||
|
*/
|
||||||
|
|
||||||
|
import com.sun.net.httpserver.HttpExchange;
|
||||||
|
import com.sun.net.httpserver.HttpHandler;
|
||||||
|
import jdk.test.lib.Asserts;
|
||||||
|
|
||||||
|
public class LoaderConstraintsTest {
|
||||||
|
static String mainClass = LoaderConstraintsApp.class.getName();
|
||||||
|
static String appJar = null;
|
||||||
|
static String appClasses[] = {
|
||||||
|
mainClass,
|
||||||
|
HttpHandler.class.getName(),
|
||||||
|
HttpExchange.class.getName(),
|
||||||
|
Asserts.class.getName(),
|
||||||
|
MyHttpHandler.class.getName(),
|
||||||
|
MyHttpHandlerB.class.getName(),
|
||||||
|
MyHttpHandlerC.class.getName(),
|
||||||
|
MyClassLoader.class.getName()
|
||||||
|
};
|
||||||
|
|
||||||
|
static void doTest() throws Exception {
|
||||||
|
appJar = ClassFileInstaller.writeJar("loader_constraints.jar", appClasses);
|
||||||
|
TestCommon.dump(appJar, appClasses, "-Xlog:cds+load");
|
||||||
|
String joptsMain[] = TestCommon.concat("-cp", appJar,
|
||||||
|
"-Xlog:cds",
|
||||||
|
"-Xlog:class+loader+constraints=debug",
|
||||||
|
"--add-exports",
|
||||||
|
"java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||||
|
mainClass);
|
||||||
|
runWithArchive(joptsMain, "1");
|
||||||
|
runWithArchive(joptsMain, "2");
|
||||||
|
runWithArchive(joptsMain, "3");
|
||||||
|
}
|
||||||
|
|
||||||
|
static void runWithArchive(String[] optsMain, String arg) throws Exception {
|
||||||
|
String cmd[] = TestCommon.concat(optsMain, arg);
|
||||||
|
TestCommon.run(cmd).assertNormalExit();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String... args) throws Exception {
|
||||||
|
doTest();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,55 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 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
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
public class MyClassLoader extends ClassLoader {
|
||||||
|
ClassLoader parent;
|
||||||
|
ClassLoader appLoader;
|
||||||
|
public MyClassLoader(ClassLoader parent, ClassLoader appLoader) {
|
||||||
|
super(parent);
|
||||||
|
this.parent = parent;
|
||||||
|
this.appLoader = appLoader;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException {
|
||||||
|
System.out.println("MyClassLoader: loadClass(\"" + name + "\", " + resolve + ")");
|
||||||
|
Class c;
|
||||||
|
|
||||||
|
if (name.equals("MyHttpHandlerC")) {
|
||||||
|
byte[] bytes;
|
||||||
|
try (InputStream is = appLoader.getResourceAsStream("MyHttpHandlerC.class")) {
|
||||||
|
bytes = is.readAllBytes();
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException("Unexpected", e);
|
||||||
|
}
|
||||||
|
c = defineClass(name, bytes, 0, bytes.length);
|
||||||
|
} else {
|
||||||
|
c = super.loadClass(name, resolve);
|
||||||
|
}
|
||||||
|
System.out.println("MyClassLoader: loaded " + name + " = " + c);
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,29 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 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
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import com.sun.net.httpserver.HttpExchange;
|
||||||
|
import com.sun.net.httpserver.HttpHandler;
|
||||||
|
|
||||||
|
public class MyHttpHandler implements HttpHandler {
|
||||||
|
public void handle(HttpExchange exchange) {}
|
||||||
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 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
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import com.sun.net.httpserver.HttpExchange;
|
||||||
|
import com.sun.net.httpserver.HttpHandler;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
public abstract class MyHttpHandlerB implements HttpHandler {
|
||||||
|
// This class doesn't implement handle(), so it can be linked even
|
||||||
|
// if the App loader resolves a different HttpExchange than the Platform loader.
|
||||||
|
|
||||||
|
/* public void handle(HttpExchange exchange) {} */
|
||||||
|
|
||||||
|
static void touch() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
static public void test(HttpHandler handler) throws IOException {
|
||||||
|
// This method call must fail to link.
|
||||||
|
handler.handle(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,43 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 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
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import com.sun.net.httpserver.HttpExchange;
|
||||||
|
import com.sun.net.httpserver.HttpHandler;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
public class MyHttpHandlerC implements HttpHandler {
|
||||||
|
public MyHttpHandlerC() {}
|
||||||
|
|
||||||
|
// This class overrides handle(), but its loader (MyClassLoader) resolves the same
|
||||||
|
// HttpExchange as the platfom loader (whose handle() method is overidden), so when
|
||||||
|
// MyHttpHandlerC loaded it should be able to link
|
||||||
|
public void handle(HttpExchange exchange) {
|
||||||
|
throw new RuntimeException("MyHttpHandlerB.test() must not be able to invoke this method");
|
||||||
|
}
|
||||||
|
|
||||||
|
static public void test(HttpHandler handler) throws IOException {
|
||||||
|
// This method call must fail to link.
|
||||||
|
handler.handle(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ClassObjectReference/reflectedType/reflectype002.
|
* @summary converted from VM Testbase nsk/jdi/ClassObjectReference/reflectedType/reflectype002.
|
||||||
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ClassUnloadEvent/className/classname001.
|
* @summary converted from VM Testbase nsk/jdi/ClassUnloadEvent/className/classname001.
|
||||||
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ClassUnloadEvent/classSignature/signature001.
|
* @summary converted from VM Testbase nsk/jdi/ClassUnloadEvent/classSignature/signature001.
|
||||||
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ClassUnloadRequest/addClassExclusionFilter/exclfilter001.
|
* @summary converted from VM Testbase nsk/jdi/ClassUnloadRequest/addClassExclusionFilter/exclfilter001.
|
||||||
* VM Testbase keywords: [diehard, jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [diehard, jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ClassUnloadRequest/addClassFilter/filter001.
|
* @summary converted from VM Testbase nsk/jdi/ClassUnloadRequest/addClassFilter/filter001.
|
||||||
* VM Testbase keywords: [diehard, jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [diehard, jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2007, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ObjectReference/referringObjects/referringObjects002.
|
* @summary converted from VM Testbase nsk/jdi/ObjectReference/referringObjects/referringObjects002.
|
||||||
* VM Testbase keywords: [quick, jpda, jdi, feature_jdk6_jpda, vm6]
|
* VM Testbase keywords: [quick, jpda, jdi, feature_jdk6_jpda, vm6]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ReferenceType/allFields/allfields003.
|
* @summary converted from VM Testbase nsk/jdi/ReferenceType/allFields/allfields003.
|
||||||
* VM Testbase keywords: [diehard, jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [diehard, jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ReferenceType/allMethods/allmethods003.
|
* @summary converted from VM Testbase nsk/jdi/ReferenceType/allMethods/allmethods003.
|
||||||
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ReferenceType/classObject/classobj002.
|
* @summary converted from VM Testbase nsk/jdi/ReferenceType/classObject/classobj002.
|
||||||
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ReferenceType/equals/equals002.
|
* @summary converted from VM Testbase nsk/jdi/ReferenceType/equals/equals002.
|
||||||
* VM Testbase keywords: [diehard, jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [diehard, jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ReferenceType/failedToInitialize/failedtoinit002.
|
* @summary converted from VM Testbase nsk/jdi/ReferenceType/failedToInitialize/failedtoinit002.
|
||||||
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ReferenceType/fieldByName/fieldbyname003.
|
* @summary converted from VM Testbase nsk/jdi/ReferenceType/fieldByName/fieldbyname003.
|
||||||
* VM Testbase keywords: [diehard, jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [diehard, jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ReferenceType/fields/fields003.
|
* @summary converted from VM Testbase nsk/jdi/ReferenceType/fields/fields003.
|
||||||
* VM Testbase keywords: [diehard, jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [diehard, jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ReferenceType/hashCode/hashcode002.
|
* @summary converted from VM Testbase nsk/jdi/ReferenceType/hashCode/hashcode002.
|
||||||
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ReferenceType/isAbstract/isabstract002.
|
* @summary converted from VM Testbase nsk/jdi/ReferenceType/isAbstract/isabstract002.
|
||||||
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ReferenceType/isInitialized/isinit002.
|
* @summary converted from VM Testbase nsk/jdi/ReferenceType/isInitialized/isinit002.
|
||||||
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ReferenceType/isPrepared/isprepared002.
|
* @summary converted from VM Testbase nsk/jdi/ReferenceType/isPrepared/isprepared002.
|
||||||
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ReferenceType/isVerified/isverified002.
|
* @summary converted from VM Testbase nsk/jdi/ReferenceType/isVerified/isverified002.
|
||||||
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ReferenceType/methods/methods003.
|
* @summary converted from VM Testbase nsk/jdi/ReferenceType/methods/methods003.
|
||||||
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ReferenceType/methodsByName_s/methbyname_s003.
|
* @summary converted from VM Testbase nsk/jdi/ReferenceType/methodsByName_s/methbyname_s003.
|
||||||
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ReferenceType/methodsByName_ss/methbyname_ss003.
|
* @summary converted from VM Testbase nsk/jdi/ReferenceType/methodsByName_ss/methbyname_ss003.
|
||||||
* VM Testbase keywords: [diehard, jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [diehard, jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ReferenceType/name/name002.
|
* @summary converted from VM Testbase nsk/jdi/ReferenceType/name/name002.
|
||||||
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ReferenceType/sourceName/sourcename002.
|
* @summary converted from VM Testbase nsk/jdi/ReferenceType/sourceName/sourcename002.
|
||||||
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ReferenceType/visibleFields/visibfield003.
|
* @summary converted from VM Testbase nsk/jdi/ReferenceType/visibleFields/visibfield003.
|
||||||
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/ReferenceType/visibleMethods/visibmethod003.
|
* @summary converted from VM Testbase nsk/jdi/ReferenceType/visibleMethods/visibmethod003.
|
||||||
* VM Testbase keywords: [diehard, jpda, jdi, nonconcurrent]
|
* VM Testbase keywords: [diehard, jpda, jdi, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2007, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/VirtualMachine/instanceCounts/instancecounts003.
|
* @summary converted from VM Testbase nsk/jdi/VirtualMachine/instanceCounts/instancecounts003.
|
||||||
* VM Testbase keywords: [quick, jpda, jdi, feature_jdk6_jpda, vm6]
|
* VM Testbase keywords: [quick, jpda, jdi, feature_jdk6_jpda, vm6]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
* @key stress
|
* @key stress randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/stress/serial/forceEarlyReturn002.
|
* @summary converted from VM Testbase nsk/jdi/stress/serial/forceEarlyReturn002.
|
||||||
* VM Testbase keywords: [stress, quick, jpda, jdi, feature_jdk6_jpda, vm6]
|
* VM Testbase keywords: [stress, quick, jpda, jdi, feature_jdk6_jpda, vm6]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
* @key stress
|
* @key stress randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/stress/serial/heapwalking002.
|
* @summary converted from VM Testbase nsk/jdi/stress/serial/heapwalking002.
|
||||||
* VM Testbase keywords: [stress, jpda, jdi, feature_jdk6_jpda, vm6]
|
* VM Testbase keywords: [stress, jpda, jdi, feature_jdk6_jpda, vm6]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -25,7 +25,7 @@
|
|||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
* @modules jdk.jdi/com.sun.tools.jdi:+open
|
* @modules jdk.jdi/com.sun.tools.jdi:+open
|
||||||
* @key stress
|
* @key stress randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/stress/serial/mixed002.
|
* @summary converted from VM Testbase nsk/jdi/stress/serial/mixed002.
|
||||||
* VM Testbase keywords: [stress, jpda, jdi, feature_jdk6_jpda, vm6]
|
* VM Testbase keywords: [stress, jpda, jdi, feature_jdk6_jpda, vm6]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -25,7 +25,7 @@
|
|||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
* @modules jdk.jdi/com.sun.tools.jdi:+open
|
* @modules jdk.jdi/com.sun.tools.jdi:+open
|
||||||
* @key stress
|
* @key stress randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/stress/serial/monitorEvents002.
|
* @summary converted from VM Testbase nsk/jdi/stress/serial/monitorEvents002.
|
||||||
* VM Testbase keywords: [stress, quick, jpda, jdi, feature_jdk6_jpda, vm6]
|
* VM Testbase keywords: [stress, quick, jpda, jdi, feature_jdk6_jpda, vm6]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
* @key stress
|
* @key stress randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jdi/stress/serial/ownedMonitorsAndFrames002.
|
* @summary converted from VM Testbase nsk/jdi/stress/serial/ownedMonitorsAndFrames002.
|
||||||
* VM Testbase keywords: [stress, quick, jpda, jdi, feature_jdk6_jpda, vm6]
|
* VM Testbase keywords: [stress, quick, jpda, jdi, feature_jdk6_jpda, vm6]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jvmti/AttachOnDemand/attach020.
|
* @summary converted from VM Testbase nsk/jvmti/AttachOnDemand/attach020.
|
||||||
* VM Testbase keywords: [jpda, jvmti, noras, feature_282, vm6, jdk, nonconcurrent]
|
* VM Testbase keywords: [jpda, jvmti, noras, feature_282, vm6, jdk, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jvmti/AttachOnDemand/attach021.
|
* @summary converted from VM Testbase nsk/jvmti/AttachOnDemand/attach021.
|
||||||
* VM Testbase keywords: [jpda, jvmti, noras, feature_282, vm6, jdk, nonconcurrent]
|
* VM Testbase keywords: [jpda, jvmti, noras, feature_282, vm6, jdk, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jvmti/AttachOnDemand/attach022.
|
* @summary converted from VM Testbase nsk/jvmti/AttachOnDemand/attach022.
|
||||||
* VM Testbase keywords: [jpda, jvmti, noras, feature_282, vm6, jdk, nonconcurrent]
|
* VM Testbase keywords: [jpda, jvmti, noras, feature_282, vm6, jdk, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jvmti/CompiledMethodUnload/compmethunload001.
|
* @summary converted from VM Testbase nsk/jvmti/CompiledMethodUnload/compmethunload001.
|
||||||
* VM Testbase keywords: [jpda, jvmti, noras, nonconcurrent]
|
* VM Testbase keywords: [jpda, jvmti, noras, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jvmti/GarbageCollectionFinish/gcfinish001.
|
* @summary converted from VM Testbase nsk/jvmti/GarbageCollectionFinish/gcfinish001.
|
||||||
* VM Testbase keywords: [jpda, jvmti, noras, nonconcurrent]
|
* VM Testbase keywords: [jpda, jvmti, noras, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jvmti/GarbageCollectionStart/gcstart001.
|
* @summary converted from VM Testbase nsk/jvmti/GarbageCollectionStart/gcstart001.
|
||||||
* VM Testbase keywords: [jpda, jvmti, noras, nonconcurrent]
|
* VM Testbase keywords: [jpda, jvmti, noras, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jvmti/GarbageCollectionStart/gcstart002.
|
* @summary converted from VM Testbase nsk/jvmti/GarbageCollectionStart/gcstart002.
|
||||||
* VM Testbase keywords: [jpda, jvmti, noras, nonconcurrent]
|
* VM Testbase keywords: [jpda, jvmti, noras, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -39,7 +39,6 @@
|
|||||||
|
|
||||||
package nsk.jvmti.IterateThroughHeap.abort;
|
package nsk.jvmti.IterateThroughHeap.abort;
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
import java.io.PrintStream;
|
import java.io.PrintStream;
|
||||||
|
|
||||||
import nsk.share.*;
|
import nsk.share.*;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -66,7 +66,6 @@
|
|||||||
|
|
||||||
package nsk.jvmti.IterateThroughHeap.callbacks;
|
package nsk.jvmti.IterateThroughHeap.callbacks;
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
import java.io.PrintStream;
|
import java.io.PrintStream;
|
||||||
|
|
||||||
import nsk.share.*;
|
import nsk.share.*;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -22,7 +22,6 @@
|
|||||||
*/
|
*/
|
||||||
package nsk.jvmti.IterateThroughHeap.concrete_klass_filter;
|
package nsk.jvmti.IterateThroughHeap.concrete_klass_filter;
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
import java.io.PrintStream;
|
import java.io.PrintStream;
|
||||||
|
|
||||||
import nsk.share.*;
|
import nsk.share.*;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -22,7 +22,6 @@
|
|||||||
*/
|
*/
|
||||||
package nsk.jvmti.IterateThroughHeap.filter_tagged;
|
package nsk.jvmti.IterateThroughHeap.filter_tagged;
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
import java.io.PrintStream;
|
import java.io.PrintStream;
|
||||||
|
|
||||||
import nsk.share.*;
|
import nsk.share.*;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -22,7 +22,6 @@
|
|||||||
*/
|
*/
|
||||||
package nsk.jvmti.IterateThroughHeap.non_concrete_klass_filter;
|
package nsk.jvmti.IterateThroughHeap.non_concrete_klass_filter;
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
import java.io.PrintStream;
|
import java.io.PrintStream;
|
||||||
|
|
||||||
import nsk.share.*;
|
import nsk.share.*;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jvmti/ObjectFree/objfree001.
|
* @summary converted from VM Testbase nsk/jvmti/ObjectFree/objfree001.
|
||||||
* VM Testbase keywords: [jpda, jvmti, noras, nonconcurrent]
|
* VM Testbase keywords: [jpda, jvmti, noras, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -25,6 +25,7 @@
|
|||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
*
|
*
|
||||||
|
* @key randomness
|
||||||
* @summary converted from VM Testbase nsk/jvmti/RedefineClasses/StressRedefine.
|
* @summary converted from VM Testbase nsk/jvmti/RedefineClasses/StressRedefine.
|
||||||
* VM Testbase keywords: [quick, jpda, jvmti, noras, redefine, javac, jdk]
|
* VM Testbase keywords: [quick, jpda, jvmti, noras, redefine, javac, jdk]
|
||||||
*
|
*
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -25,6 +25,7 @@
|
|||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
*
|
*
|
||||||
|
* @key randomness
|
||||||
* @summary converted from VM Testbase nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption.
|
* @summary converted from VM Testbase nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption.
|
||||||
* VM Testbase keywords: [quick, jpda, jvmti, noras, redefine, javac, jdk]
|
* VM Testbase keywords: [quick, jpda, jvmti, noras, redefine, javac, jdk]
|
||||||
*
|
*
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2007, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,13 +24,14 @@ package nsk.jvmti.ResourceExhausted;
|
|||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
import jdk.test.lib.Utils;
|
||||||
|
|
||||||
import nsk.share.Consts;
|
import nsk.share.Consts;
|
||||||
|
|
||||||
public class resexhausted004 {
|
public class resexhausted004 {
|
||||||
public static int run(String args[], PrintStream out) {
|
public static int run(String args[], PrintStream out) {
|
||||||
|
|
||||||
Random selector = new Random(System.currentTimeMillis());
|
Random selector = Utils.getRandomInstance();
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
for ( int i = 4 + selector.nextInt() & 3; i > 0; i-- ) {
|
for ( int i = 4 + selector.nextInt() & 3; i > 0; i-- ) {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -25,6 +25,7 @@
|
|||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
*
|
*
|
||||||
|
* @key randomness
|
||||||
* @summary converted from VM Testbase nsk/jvmti/ResourceExhausted/resexhausted004.
|
* @summary converted from VM Testbase nsk/jvmti/ResourceExhausted/resexhausted004.
|
||||||
* VM Testbase keywords: [jpda, jvmti, noras, vm6, nonconcurrent, quarantine, exclude]
|
* VM Testbase keywords: [jpda, jvmti, noras, vm6, nonconcurrent, quarantine, exclude]
|
||||||
* VM Testbase comments: 7013634 6606767
|
* VM Testbase comments: 7013634 6606767
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jvmti/scenarios/allocation/AP12/ap12t001.
|
* @summary converted from VM Testbase nsk/jvmti/scenarios/allocation/AP12/ap12t001.
|
||||||
* VM Testbase keywords: [jpda, jvmti, noras, nonconcurrent]
|
* VM Testbase keywords: [jpda, jvmti, noras, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jvmti/scenarios/events/EM02/em02t002.
|
* @summary converted from VM Testbase nsk/jvmti/scenarios/events/EM02/em02t002.
|
||||||
* VM Testbase keywords: [jpda, jvmti, onload_only_logic, noras, nonconcurrent]
|
* VM Testbase keywords: [jpda, jvmti, onload_only_logic, noras, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jvmti/scenarios/events/EM02/em02t003.
|
* @summary converted from VM Testbase nsk/jvmti/scenarios/events/EM02/em02t003.
|
||||||
* VM Testbase keywords: [jpda, jvmti, noras, nonconcurrent]
|
* VM Testbase keywords: [jpda, jvmti, noras, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jvmti/scenarios/events/EM02/em02t005.
|
* @summary converted from VM Testbase nsk/jvmti/scenarios/events/EM02/em02t005.
|
||||||
* VM Testbase keywords: [jpda, jvmti, noras, nonconcurrent]
|
* VM Testbase keywords: [jpda, jvmti, noras, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jvmti/scenarios/events/EM02/em02t006.
|
* @summary converted from VM Testbase nsk/jvmti/scenarios/events/EM02/em02t006.
|
||||||
* VM Testbase keywords: [jpda, jvmti, noras, nonconcurrent]
|
* VM Testbase keywords: [jpda, jvmti, noras, nonconcurrent]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
|
* @key randomness
|
||||||
*
|
*
|
||||||
* @summary converted from VM Testbase nsk/jvmti/scenarios/events/EM07/em07t002.
|
* @summary converted from VM Testbase nsk/jvmti/scenarios/events/EM07/em07t002.
|
||||||
* VM Testbase keywords: [jpda, jvmti, noras, nonconcurrent]
|
* VM Testbase keywords: [jpda, jvmti, noras, nonconcurrent]
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user