OpenJDK / amber / amber
changeset 8217:cfc7abe62f1b
Merge
author | duke |
---|---|
date | Wed, 05 Jul 2017 17:35:03 +0200 |
parents | b0a4325b9ef5 e1fbfd15b4eb |
children | 4a1c655bfb69 |
files | hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/LowMemoryDetectorThread.java jdk/make/sun/jkernel/FILES_c_windows.gmk jdk/make/sun/jkernel/FILES_java.gmk jdk/make/sun/jkernel/Makefile jdk/src/share/classes/java/io/TempFileHelper.java jdk/src/share/classes/java/nio/file/FileRef.java jdk/src/share/classes/java/nio/file/attribute/Attributes.java jdk/src/share/classes/java/nio/file/attribute/FileStoreSpaceAttributeView.java jdk/src/share/classes/java/nio/file/attribute/FileStoreSpaceAttributes.java jdk/src/share/classes/sun/jkernel/BackgroundDownloader.java jdk/src/share/classes/sun/jkernel/Bundle.java jdk/src/share/classes/sun/jkernel/BundleCheck.java jdk/src/share/classes/sun/jkernel/ByteArrayToFromHexDigits.java jdk/src/share/classes/sun/jkernel/DigestOutputStream.java jdk/src/share/classes/sun/jkernel/DownloadManager.java jdk/src/share/classes/sun/jkernel/KernelError.java jdk/src/share/classes/sun/jkernel/Mutex.java jdk/src/share/classes/sun/jkernel/StandaloneByteArrayAccess.java jdk/src/share/classes/sun/jkernel/StandaloneMessageDigest.java jdk/src/share/classes/sun/jkernel/StandaloneSHA.java jdk/src/share/demo/zipfs jdk/src/windows/native/sun/jkernel/DownloadDialog.cpp jdk/src/windows/native/sun/jkernel/DownloadDialog.h jdk/src/windows/native/sun/jkernel/DownloadHelper.cpp jdk/src/windows/native/sun/jkernel/DownloadHelper.h jdk/src/windows/native/sun/jkernel/graphics/bullet.bmp jdk/src/windows/native/sun/jkernel/graphics/cautionshield32.bmp jdk/src/windows/native/sun/jkernel/graphics/java-icon.ico jdk/src/windows/native/sun/jkernel/graphics/masthead.bmp jdk/src/windows/native/sun/jkernel/graphics/warningmasthead.bmp jdk/src/windows/native/sun/jkernel/kernel.cpp jdk/src/windows/native/sun/jkernel/kernel.def jdk/src/windows/native/sun/jkernel/kernel.h jdk/src/windows/native/sun/jkernel/kernel.rc jdk/src/windows/native/sun/jkernel/kernel_de.rc jdk/src/windows/native/sun/jkernel/kernel_en.rc jdk/src/windows/native/sun/jkernel/kernel_es.rc jdk/src/windows/native/sun/jkernel/kernel_fr.rc jdk/src/windows/native/sun/jkernel/kernel_it.rc jdk/src/windows/native/sun/jkernel/kernel_ja.rc jdk/src/windows/native/sun/jkernel/kernel_ko.rc jdk/src/windows/native/sun/jkernel/kernel_pt_BR.rc jdk/src/windows/native/sun/jkernel/kernel_sv.rc jdk/src/windows/native/sun/jkernel/kernel_zh.rc jdk/src/windows/native/sun/jkernel/kernel_zh_TW.rc jdk/src/windows/native/sun/jkernel/resource.h jdk/src/windows/native/sun/jkernel/stdafx.cpp jdk/src/windows/native/sun/jkernel/stdafx.h jdk/src/windows/native/sun/jkernel/version.rc jdk/test/java/nio/file/Files/ContentType.java jdk/test/java/nio/file/Files/CreateFileTree.java jdk/test/java/nio/file/Files/ForceLoad.java jdk/test/java/nio/file/Files/META-INF/services/java.nio.file.spi.FileTypeDetector jdk/test/java/nio/file/Files/MaxDepth.java jdk/test/java/nio/file/Files/PrintFileTree.java jdk/test/java/nio/file/Files/SimpleFileTypeDetector.java jdk/test/java/nio/file/Files/SkipSiblings.java jdk/test/java/nio/file/Files/TerminateWalk.java jdk/test/java/nio/file/Files/WalkWithSecurity.java jdk/test/java/nio/file/Files/denyAll.policy jdk/test/java/nio/file/Files/grantAll.policy jdk/test/java/nio/file/Files/grantTopOnly.policy jdk/test/java/nio/file/Files/walk_file_tree.sh jdk/test/java/nio/file/Path/CheckPermissions.java jdk/test/java/nio/file/Path/CopyAndMove.java jdk/test/java/nio/file/Path/DeleteOnClose.java jdk/test/java/nio/file/Path/FileAttributes.java jdk/test/java/nio/file/Path/InterruptCopy.java jdk/test/java/nio/file/Path/Links.java jdk/test/java/nio/file/Path/PassThroughFileSystem.java jdk/test/java/nio/file/Path/SBC.java jdk/test/java/nio/file/Path/TemporaryFiles.java jdk/test/java/nio/file/Path/delete_on_close.sh jdk/test/java/nio/file/attribute/FileStoreAttributeView/Basic.java |
diffstat | 854 files changed, 38094 insertions(+), 42737 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags-top-repo Thu Feb 10 16:24:34 2011 -0800 +++ b/.hgtags-top-repo Wed Jul 05 17:35:03 2017 +0200 @@ -103,3 +103,4 @@ b566d490905691787f8931f69947a92c67c6d5e4 jdk7-b126 bd70f76b0309068f157ae759c36eac8f2c6d098e jdk7-b127 57d702105b23fb90e40beaf00f8f8aeae5e249e7 jdk7-b128 +a6b015b59fbc2518762c17ccc35702f03ef7713a jdk7-b129
--- a/corba/.hgtags Thu Feb 10 16:24:34 2011 -0800 +++ b/corba/.hgtags Wed Jul 05 17:35:03 2017 +0200 @@ -103,3 +103,4 @@ d7532bcd3742f1576dd07ff9fbb535c9c9a276e9 jdk7-b126 64775e83f4df894355f45555f50c410de6727b4e jdk7-b127 9baa8f94a11d6c5cab3f9f0e5a20106326d0932e jdk7-b128 +66fa0fcc779296c99746b09efce6109944f82f30 jdk7-b129
--- a/corba/make/common/Defs.gmk Thu Feb 10 16:24:34 2011 -0800 +++ b/corba/make/common/Defs.gmk Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ # -# Copyright (c) 1995, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1995, 2011, 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 @@ -63,8 +63,8 @@ # Localizations for the different parts of the product beyond English # -JRE_LOCALES = de es fr it ja ko sv zh_CN zh_TW zh_HK -PLUGIN_LOCALES = de es fr it ja ko sv zh_CN zh_TW zh_HK +JRE_LOCALES = de es fr it ja ko pt_BR sv zh_CN zh_TW zh_HK +PLUGIN_LOCALES = de es fr it ja ko pt_BR sv zh_CN zh_TW zh_HK JDK_LOCALES = ja zh_CN #
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_de.properties Thu Feb 10 16:24:34 2011 -0800 +++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_de.properties Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2000, 2005, 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 @@ -23,85 +23,85 @@ # questions. # -orbd.usage=Syntax: {0} <Optionen> \n\nwobei folgende <Optionen> m\u00f6glich sind:\n -port Aktivierungsport, an dem der ORBD gestartet werden sollte, Standardvorgabe 1049 (optional)\n -defaultdb Verzeichnis f\u00fcr ORBD-Dateien, Standardvorgabe "./orb.db" (optional)\n -serverid Server-ID f\u00fcr ORBD, Standardvorgabe 1 (optional)\n -ORBInitialPort Anfangsport (erforderlich)\n -ORBInitialHost Anf\u00e4nglicher Rechnername (erforderlich)\n +orbd.usage=Verwendung: {0} <Optionen> \n\nwobei folgende <Optionen> m\u00F6glich sind:\n -port Aktivierungsport, an dem der ORBD gestartet werden sollte, Standardwert 1049 (optional)\n -defaultdb Verzeichnis f\u00FCr ORBD-Dateien, Standardwert "./orb.db" (optional)\n -serverid Server-ID f\u00FCr ORBD, Standardwert 1 (optional)\n -ORBInitialPort Anfangsport (erforderlich)\n -ORBInitialHost Anf\u00E4nglicher HostName (erforderlich)\n -servertool.usage=Syntax: {0} <Optionen> \n\nwobei folgende <Optionen> m\u00f6glich sind:\n -ORBInitialPort Anfangsport (erforderlich)\n -ORBInitialHost Anf\u00e4nglicher Rechnername (erforderlich)\n -servertool.banner=\n\nWillkommen beim Java IDL-Server-Tool \nBitte geben Sie an der Eingabeaufforderung Befehle ein. \n -servertool.shorthelp=\n\n\tVerf\u00fcgbare Befehle: \n\t------------------- \n -servertool.baddef=Fehlerhafte Serverdefinition: {0} -servertool.nosuchserver=\tDer Server wurde nicht gefunden. -servertool.helddown=\tServer ist au\u00dfer Betrieb. -servertool.nosuchorb=\tUng\u00fcltige ORB -servertool.serverup=\tServer ist bereits in Betrieb. -servertool.appname=\tAnwendungsname - {0} +servertool.usage=Verwendung: {0} <Optionen> \n\nwobei folgende <Optionen> m\u00F6glich sind:\n -ORBInitialPort Anfangsport (erforderlich)\n -ORBInitialHost Anf\u00E4nglicher HostName (erforderlich)\n +servertool.banner=\n\nWillkommen beim Java IDL-Servertool \nGeben Sie die entsprechenden Befehle im Prompt ein \n +servertool.shorthelp=\n\n\tVerf\u00FCgbare Befehle: \n\t------------------- \n +servertool.baddef=Ung\u00FCltige Serverdefinition: {0} +servertool.nosuchserver=\tServer wurde nicht gefunden. +servertool.helddown=\tServer ist au\u00DFer Betrieb. +servertool.nosuchorb=\tUng\u00FCltiger ORB. +servertool.serverup=\tServer ist bereits hochgefahren. +servertool.appname=\tapplicationName - {0} servertool.name=\tName - {0} -servertool.classpath=\tKlassenpfad - {0} -servertool.args=\tArgs - {0} -servertool.vmargs=\tVmargs - {0} +servertool.classpath=\tclasspath - {0} +servertool.args=\targs - {0} +servertool.vmargs=\tvmargs - {0} servertool.serverid=\tServer-ID - {0} -servertool.servernotrunning=\tServer l\u00e4uft nicht. -servertool.register=\n\n\tregister -server <Serverklassenname> \n\t -applicationName <alternativer Servername> \n\t -classpath <Klassenpfad f\u00fcr Server> \n\t -args <Argumente f\u00fcr Server> \n\t -vmargs <Argumente f\u00fcr Server Java VM>\n +servertool.servernotrunning=\tServer wird nicht ausgef\u00FChrt. +servertool.register=\n\n\tregister -server <Serverklassenname> \n\t -applicationName <alternativer Servername> \n\t -classpath <Classpath f\u00FCr Server> \n\t -args <Argumente f\u00FCr Server> \n\t -vmargs <Argumente f\u00FCr Server Java VM>\n servertool.register1=aktivierbaren Server registrieren -servertool.register2=\tServer registriert (serverid = {0}) -servertool.register3=\tServer registriert, aber au\u00dfer Betrieb (serverid = {0}) -servertool.register4=\tServer bereits registriert (serverid = {0}) +servertool.register2=\tServer registriert (serverid = {0}). +servertool.register3=\tServer registriert, aber au\u00DFer Betrieb (serverid = {0}). +servertool.register4=\tServer bereits registriert (serverid = {0}). servertool.unregister=\n\tunregister [ -serverid <Server-ID> | -applicationName <Name> ] \n -servertool.unregister1=Registrierung eines registrierten Servers l\u00f6schen -servertool.unregister2=\tServer-Registrierung gel\u00f6scht +servertool.unregister1=Registrierung eines registrierten Servers aufheben +servertool.unregister2=\tServerregistrierung aufgehoben. -servertool.locate=\n\tlocate [ -serverid <Server-ID> | -applicationName <Name> ] [ <-endpointType <Endpunkttyp> ] \n -servertool.locate1=Finden von Ports eines speziellen Typs bei einem registrierten Server +servertool.locate=\n\tlocate [ -serverid <Server-ID> | -applicationName <Name> ] [ <-endpointType <endpointType> ] \n +servertool.locate1=Ports eines speziellen Typs f\u00FCr einen registrierten Server finden servertool.locate2=\n\n\tHostname {0} \n\n\t\tPort\t\tPorttyp\t\tORB-ID\n\t\t----\t\t-------\t\t------\n servertool.locateorb=\n\tlocateperorb [ -serverid <Server-ID> | -applicationName <Name> ] [ -orbid <ORB-Name> ]\n -servertool.locateorb1=Finden von Ports eines speziellen ORBs bei einem registrierten Server -servertool.locateorb2=\n\n\tHostname {0} \n\n\t\tPort\t\tPorttyp\t\tORB-ID\n\t\t----\t\t-------\t\t------\n +servertool.locateorb1=Ports f\u00FCr einen speziellen ORB bei einem registrierten Server finden +servertool.locateorb2=\n\n\tHostname {0} \n\n\t\tPort\t\tPortType\t\tORB-ID\n\t\t----\t\t-------\t\t------\n servertool.getserverid=\n\tgetserverid [ -applicationName <Name> ] \n -servertool.getserverid1=\u00dcbergeben der Server-ID f\u00fcr einen Anwendungsnamen -servertool.getserverid2=\tServer-ID f\u00fcr Anwendungsname {0} ist {1}. +servertool.getserverid1=Server-ID f\u00FCr applicationName zur\u00FCckgeben +servertool.getserverid2=\tServer-ID f\u00FCr applicationName {0} ist {1} servertool.list=\n\tlist\n -servertool.list1=Auflisten aller registrierten Server -servertool.list2=\n\tServer-ID\tServer-Klassenname\t\tServer-Anwendung\n\t---------\t------------------\t\t----------------\n +servertool.list1=alle registrierten Server auflisten +servertool.list2=\n\tServer-ID\tServerklassenname\t\tServeranwendung\n\t---------\t-----------------\t\t------------------\n servertool.listactive=\n\tlistactive -servertool.listactive1=Auflisten der gegenw\u00e4rtig aktiven Server +servertool.listactive1=derzeit aktive Server auflisten servertool.listappnames=\tlistappnames\n -servertool.listappnames1=Auflisten der gegenw\u00e4rtig definierten Anwendungsnamen -servertool.listappnames2=Gegenw\u00e4rtig definierte Serveranwendungsnamen: +servertool.listappnames1=derzeit definierte applicationNames auflisten +servertool.listappnames2=Derzeit definierte Server-applicationNames: servertool.shutdown=\n\tshutdown [ -serverid <Server-ID> | -applicationName <Name> ]\n -servertool.shutdown1=Herunterfahren eines registrierten Servers -servertool.shutdown2=\tServer erfolgreich heruntergefahren +servertool.shutdown1=registrierten Server herunterfahren +servertool.shutdown2=\tServer erfolgreich heruntergefahren. servertool.startserver=\n\tstartup [ -serverid <Server-ID> | -applicationName <Name> ]\n -servertool.startserver1=Hochfahren eines registrierten Servers -servertool.startserver2=\tServer erfolgreich hochgefahren +servertool.startserver1=registrierten Server starten +servertool.startserver2=\tServer erfolgreich hochgefahren. servertool.quit=\n\tquit\n -servertool.quit1=Dieses Tool beenden +servertool.quit1=dieses Tool beenden servertool.help=\thelp\n\tOR\n\thelp <Befehlsname>\n -servertool.help1=Hilfe anfordern +servertool.help1=Hilfe abrufen -servertool.orbidmap=\tSyntax: orblist [ -serverid <Server-ID> | -applicationName <Name> ]\n +servertool.orbidmap=\\Verwendung: orblist [ -serverid <Server-ID> | -applicationName <Name> ]\n servertool.orbidmap1=Liste von ORB-Namen und ihren Zuordnungen servertool.orbidmap2=\n\tORB-ID\t\tORB-Name\n\t------\t\t--------\n -pnameserv.success=St\u00e4ndiger Namensserver erfolgreich hochgefahren +pnameserv.success=Persistenter NameServer erfolgreich gestartet -bootstrap.usage=Syntax: {0} <Optionen> \n\nwobei folgende <Optionen> m\u00f6glich sind:\n -ORBInitialPort Erster Port (erforderlich)\n -InitialServicesFile Datei mit Liste von Anfangsdiensten (erforderlich)\n -bootstrap.success=Ein Port wird auf {0} eingestellt, und Dienste werden von {1} gelesen -bootstrap.filenotreadable=Die Datei {0} kann nicht gelesen werden. -bootstrap.filenotfound=Die Datei {0} wurde nicht gefunden. -bootstrap.exception=Beim Speichern von Eigenschaften in Datei {0} wurde eine Ausnahme aufgefangen: Ausnahme {1}. +bootstrap.usage=Verwendung: {0} <Optionen> \n\nwobei folgende <Optionen> m\u00F6glich sind:\n -ORBInitialPort Anf\u00E4nglicher Port (erforderlich)\n -InitialServicesFile Datei mit Liste von anf\u00E4nglichen Services (erforderlich)\n +bootstrap.success=Port wird auf {0} gesetzt, Services werden aus {1} gelesen +bootstrap.filenotreadable=Datei {0} kann nicht gelesen werden +bootstrap.filenotfound=Datei {0} wurde nicht gefunden +bootstrap.exception=Beim Speichern von Eigenschaften in Datei {0} wurde eine Ausnahme abgefangen: Ausnahme {1} -tnameserv.exception=Beim Hochfahren des Bootstrap-Dienstes auf Port {0} wurde eine Ausnahme aufgefangen. -tnameserv.usage=Versuchen Sie, einen anderen Port mit den Befehlszeilenargumenten -ORBInitialPort <Portnummer> zu verwenden. -tnameserv.invalidhostoption=ORBInitialHost ist keine g\u00fcltige Option f\u00fcr NameService -tnameserv.orbinitialport0=ORBInitialPort 0 ist keine g\u00fcltige Option f\u00fcr NameService -tnameserv.hs1=Anf\u00e4nglicher Namenskontext:\n{0} -tnameserv.hs2=\u00dcbergangsnamensserver: Port f\u00fcr anf\u00e4ngliche Objektreferenzen wird eingestellt auf: {0} -tnameserv.hs3=Bereit +tnameserv.exception=Beim Hochfahren des Bootstrap-Services auf Port {0} wurde eine Ausnahme abgefangen +tnameserv.usage=Verwenden Sie einen anderen Port mit den Befehlszeilenargumenten -ORBInitialPort <Portnummer> +tnameserv.invalidhostoption=ORBInitialHost ist keine g\u00FCltige Option f\u00FCr NameService +tnameserv.orbinitialport0=ORBInitialPort 0 ist keine g\u00FCltige Option f\u00FCr NameService +tnameserv.hs1=Anf\u00E4nglicher Namenskontext:\n{0} +tnameserv.hs2=TransientNameServer: Port f\u00FCr anf\u00E4ngliche Objektreferenzen wird auf {0} gesetzt +tnameserv.hs3=Bereit. -orbd.commfailure=\nORBD konnte nicht gestartet werden, weil ORBinitialPort bereits verwendet wird -orbd.internalexception=\ORBD konnte wegen einer internen Ausnahme nicht gestartet werden. \nM\u00f6gliche Ursachen: \n1. Der angegebene ORBInitialPort oder ORBActivationPort wird bereits verwendet \n2. Keine Berechtigung zum Schreiben von orb.db +orbd.commfailure=\nStart von ORBD nicht erfolgreich, da ORBinitialPort bereits verwendet wird +orbd.internalexception=\nStart von ORBD aufgrund einer internen Ausnahme nicht erfolgreich. \nM\u00F6gliche Ursachen: \n1. Der angegebene ORBInitialPort oder ORBActivationPort wird bereits verwendet \n2. Keine Berechtigung zum Schreiben von orb.db
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_es.properties Thu Feb 10 16:24:34 2011 -0800 +++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_es.properties Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2000, 2005, 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 @@ -23,24 +23,24 @@ # questions. # -orbd.usage=Sintaxis: {0} <opciones> \n\ndonde <opciones> incluye:\n -port Puerto de activaci\u00f3n en el que se debe iniciar el ORBD, el predeterminado es el 1049 (opcional)\n -defaultdb Directorio para los archivos de ORBD, el predeterminado es "./orb.db" (opcional)\n -serverid Identificador de servidor para ORBD, el predeterminado es 1 (opcional)\n -ORBInitialPort Puerto inicial (necesario)\n -ORBInitialHost Nombre de sistema inicial (necesario)\n +orbd.usage=Sintaxis: {0} <opciones> \n\ndonde <opciones> incluye:\n -port Puerto de activaci\u00F3n en el que se debe iniciar el ORBD, por defecto es el 1049 (opcional)\n -defaultdb Directorio para los archivos de ORBD, por defecto es "./orb.db" (opcional)\n -serverid Identificador de servidor para ORBD, por defecto es 1 (opcional)\n -ORBInitialPort Puerto inicial (necesario)\n -ORBInitialHost Nombre de host inicial (necesario)\n -servertool.usage=Sintaxis: {0} <opciones> \n\ndonde <opciones> incluye:\n -ORBInitialPort Puerto inicial (necesario)\n -ORBInitialHost Nombre de sistema inicial (necesario)\n -servertool.banner=\n\nBienvenido Java IDL Server Tool \nescriba los comandos en el indicador \n +servertool.usage=Sintaxis: {0} <opciones> \n\ndonde <opciones> incluye:\n -ORBInitialPort Puerto inicial (necesario)\n -ORBInitialHost Nombre de host inicial (necesario)\n +servertool.banner=\n\nBienvenido a Java IDL Server Tool \nescriba los comandos en la petici\u00F3n de datos \n servertool.shorthelp=\n\n\tComandos disponibles: \n\t------------------- \n -servertool.baddef=Definici\u00f3n de servidor incorrecta: {0} +servertool.baddef=Definici\u00F3n de servidor incorrecta: {0} servertool.nosuchserver=\tno se ha encontrado el servidor. servertool.helddown=\tel servidor se mantiene desconectado. -servertool.nosuchorb=\tORB no v\u00e1lido. -servertool.serverup=\tel servidor ya est\u00e1 conectado. -servertool.appname=\tnombre de aplicaci\u00f3n - {0} -servertool.name=\tnombre - {0} -servertool.classpath=\truta de clase - {0} -servertool.args=\targumentos - {0} -servertool.vmargs=\targumentos de MV - {0} -servertool.serverid=\tidentificador de servidor - {0} -servertool.servernotrunning=\tel servidor no se est\u00e1 ejecutando. -servertool.register=\n\n\tregister -server <nombre de clase de servidor> \n\t -applicationName <nombre de servidor alternativo> \n\t -classpath <ruta de clase al servidor> \n\t -args <argumentos para el servidor> \n\t -vmargs <argumentos para la MV Java del servidor>\n +servertool.nosuchorb=\tORB no v\u00E1lido. +servertool.serverup=\tel servidor ya est\u00E1 conectado. +servertool.appname=\tapplicationName - {0} +servertool.name=\tname - {0} +servertool.classpath=\tclasspath - {0} +servertool.args=\targs - {0} +servertool.vmargs=\tvmargs - {0} +servertool.serverid=\tserver id - {0} +servertool.servernotrunning=\tel servidor no se est\u00E1 ejecutando. +servertool.register=\n\n\tregister -server <nombre de clase de servidor> \n\t -applicationName <nombre de servidor alternativo> \n\t -classpath <classpath al servidor> \n\t -args <argumentos para el servidor> \n\t -vmargs <argumentos para la MV Java del servidor>\n servertool.register1=registrar un servidor que se pueda activar servertool.register2=\tservidor registrado (identificador de servidor = {0}). servertool.register3=\tservidor registrado pero desconectado (identificador de servidor = {0}). @@ -51,57 +51,57 @@ servertool.unregister2=\tanulado el registro del servidor. servertool.locate=\n\tlocate [ -serverid <identificador de servidor> | -applicationName <nombre> ] [ <-endpointType <tipo de punto final> ] \n -servertool.locate1=localizar puertos de un tipo espec\u00edfico para un servidor registrado -servertool.locate2=\n\n\tNombre de sistema {0} \n\n\t\tPuerto\t\tTipo de puerto\t\tIdentificador ORB\n\t\t----\t\t---------\t\t------\n +servertool.locate1=localizar puertos de un tipo espec\u00EDfico para un servidor registrado +servertool.locate2=\n\n\tNombre de host {0} \n\n\t\tPuerto\t\tTipo de puerto\t\tIdentificador ORB\n\t\t----\t\t---------\t\t------\n servertool.locateorb=\n\tlocateperorb [ -serverid <identificador de servidor> | -applicationName <nombre> ] [ -orbid <nombre de ORB> ]\n -servertool.locateorb1=localizar puertos para un ORB espec\u00edfico del servidor registrado -servertool.locateorb2=\n\n\tNombre de sistema {0} \n\n\t\tPuerto\t\tTipo de puerto\t\tIdentificador de ORB\n\t\t----\t\t--------\t\t------\n +servertool.locateorb1=localizar puertos para un ORB espec\u00EDfico del servidor registrado +servertool.locateorb2=\n\n\tNombre de host {0} \n\n\t\tPuerto\t\tTipo de puerto\t\tIdentificador de ORB\n\t\t----\t\t--------\t\t------\n servertool.getserverid=\n\tgetserverid [ -applicationName <nombre> ] \n -servertool.getserverid1=devolver el identificador de servidor para un nombre de aplicaci\u00f3n -servertool.getserverid2=\tIdentificador de servidor para el nombre de aplicaci\u00f3n {0} es {1} +servertool.getserverid1=devolver el identificador de servidor para un valor de applicationName +servertool.getserverid2=\tEl identificador de servidor para applicationName {0} es {1} -servertool.list=\n\tlista\n +servertool.list=\n\tlist\n servertool.list1=enumerar todos los servidores registrados -servertool.list2=\n\tIdentificador de servidor\tNombre de clase del servidor\t\tAplicaci\u00f3n de servidor\n\t-------------------------\t----------------------------\t\t----------------------\n +servertool.list2=\n\tIdentificador de servidor\tNombre de clase del servidor\t\tAplicaci\u00F3n de servidor\n\t-------------------------\t----------------------------\t\t----------------------\n servertool.listactive=\n\tlistactive servertool.listactive1=enumerar los servidores actualmente activos servertool.listappnames=\tlistappnames\n -servertool.listappnames1=enumerar los nombres de aplicaci\u00f3n actualmente definidos -servertool.listappnames2=Nombres de aplicaci\u00f3n de servidor actualmente definidos: +servertool.listappnames1=enumerar los nombres de aplicaci\u00F3n actualmente definidos +servertool.listappnames2=Nombres de aplicaci\u00F3n de servidor actualmente definidos: servertool.shutdown=\n\tshutdown [ -serverid <identificador de servidor> | -applicationName <nombre> ]\n servertool.shutdown1=apagar un servidor registrado -servertool.shutdown2=\tservidor apagado satisfactoriamente. +servertool.shutdown2=\tservidor apagado correctamente. servertool.startserver=\n\tstartup [ -serverid <identificador de servidor> | -applicationName <nombre> ]\n servertool.startserver1=iniciar un servidor registrado -servertool.startserver2=\tservidor iniciado satisfactoriamente. +servertool.startserver2=\tservidor iniciado correctamente. -servertool.quit=\n\tsalir\n +servertool.quit=\n\tquit\n servertool.quit1=salir de esta herramienta servertool.help=\thelp\n\tO\n\thelp <nombre de comando>\n servertool.help1=obtener ayuda servertool.orbidmap=\tSintaxis: orblist [ -serverid <identificador de servidor> | -applicationName <nombre> ]\n -servertool.orbidmap1=lista de nombres de ORB y su reasignaci\u00f3n +servertool.orbidmap1=lista de nombres de ORB y su asignaci\u00F3n servertool.orbidmap2=\n\tIdentificador de ORB\t\tNombre de ORB\n\t------\t\t--------\n -pnameserv.success=Servidor de nombres constante iniciado satisfactoriamente +pnameserv.success=NameServer constante iniciado correctamente bootstrap.usage=Sintaxis: {0} <opciones> \n\ndonde <opciones> incluye:\n -ORBInitialPort Puerto inicial (necesario)\n -InitialServicesFile Archivo que contiene una lista de los servicios iniciales (necesario)\n -bootstrap.success=estableciendo puerto en {0} y leyendo servicios de {1} +bootstrap.success=definiendo puerto en {0} y leyendo servicios de {1} bootstrap.filenotreadable=el archivo {0} no se puede leer bootstrap.filenotfound=no se ha encontrado el archivo {0} -bootstrap.exception=se ha interceptado una excepci\u00f3n al guardar las propiedades en el archivo {0}: Excepci\u00f3n {1} +bootstrap.exception=se ha obtenido una excepci\u00F3n al guardar las propiedades en el archivo {0}: Excepci\u00F3n {1} -tnameserv.exception=se ha interceptado una excepci\u00f3n al iniciar el servicio de rutina de carga en el puerto {0} -tnameserv.usage=intente utilizar un puerto distinto con argumentos de l\u00ednea de comandos -ORBInitialPort <n.\u00ba de puerto> -tnameserv.invalidhostoption=ORBInitialHost no es una opci\u00f3n v\u00e1lida para NameService -tnameserv.orbinitialport0=ORBInitialPort 0 no es una opci\u00f3n v\u00e1lida para NameService -tnameserv.hs1=Contexto de asignaci\u00f3n de nombres inicial:\n{0} -tnameserv.hs2=TransientNameServer: estableciendo puerto para referencias a objeto iniciales en: {0} +tnameserv.exception=se ha obtenido una excepci\u00F3n al iniciar el servicio de inicializaci\u00F3n de datos en el puerto {0} +tnameserv.usage=intente utilizar un puerto distinto con argumentos de l\u00EDnea de comandos -ORBInitialPort <n.\u00BA de puerto> +tnameserv.invalidhostoption=ORBInitialHost no es una opci\u00F3n v\u00E1lida para NameService +tnameserv.orbinitialport0=ORBInitialPort 0 no es una opci\u00F3n v\u00E1lida para NameService +tnameserv.hs1=Contexto de Nomenclatura Inicial:\n{0} +tnameserv.hs2=TransientNameServer: definiendo puerto para referencias a objeto iniciales en: {0} tnameserv.hs3=Listo. -orbd.commfailure=\nORBD no puede iniciarse porque ORBinitialPort ya est\u00e1 en uso -orbd.internalexception=\nORBD no puede iniciarse debido a una excepci\u00f3n interna. \nCausas posibles: \n1. El ORBInitialPort o el ORBActivationPort especificado ya est\u00e1 en uso \n2. No tiene permiso de escritura para orb.db +orbd.commfailure=\nORBD no puede iniciarse porque ORBinitialPort ya est\u00E1 en uso +orbd.internalexception=\nORBD no puede iniciarse debido a una excepci\u00F3n interna. \nCausas posibles: \n1. El ORBInitialPort o el ORBActivationPort especificado ya est\u00E1 en uso \n2. No tiene permiso de escritura para orb.db
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_fr.properties Thu Feb 10 16:24:34 2011 -0800 +++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_fr.properties Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2000, 2005, 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 @@ -23,58 +23,58 @@ # questions. # -orbd.usage=Syntaxe : {0} <options> \n\no\u00f9 <options> comprend :\n -port Port d''activation o\u00f9 le ORBD doit \u00eatre d\u00e9marr\u00e9, 1049 par d\u00e9faut (facultatif)\n -defaultdb R\u00e9pertoire des fichiers ORBD, par d\u00e9faut "./orb.db" (facultatif)\n -serverid ID de serveur pour ORBD, 1 (facultatif)\n -ORBInitialPort Port initial (requis)\n -ORBInitialHost Nom d''h\u00f4te initial (requis)\n +orbd.usage=Syntaxe : {0} <options> \n\no\u00F9 <options> comprend :\n -port Port d''activation o\u00F9 l''ORBD doit \u00EAtre d\u00E9marr\u00E9, 1049 par d\u00E9faut (facultatif)\n -defaultdb R\u00E9pertoire des fichiers ORBD, par d\u00E9faut "./orb.db" (facultatif)\n -serverid ID de serveur pour ORBD, 1 par d\u00E9faut (facultatif)\n -ORBInitialPort Port initial (obligatoire)\n -ORBInitialHost Nom d''h\u00F4te initial (obligatoire)\n -servertool.usage=Syntaxe : {0} <options> \n\no\u00f9 <options> comprend :\n -ORBInitialPort Port initial (requis)\n -ORBInitialHost Nom d''h\u00f4te initial (requis)\n -servertool.banner=\n\nBienvenue dans l'outil Java IDL Server Tool \nSp\u00e9cifiez des commandes \u00e0 l'invite \n +servertool.usage=Syntaxe : {0} <options> \n\no\u00F9 <options> comprend :\n -ORBInitialPort Port initial (obligatoire)\n -ORBInitialHost Nom d''h\u00F4te initial (obligatoire)\n +servertool.banner=\n\nBienvenue dans l'outil Java IDL Server Tool \nSp\u00E9cifiez des commandes \u00E0 l'invite \n servertool.shorthelp=\n\n\tCommandes disponibles : \n\t------------------- \n -servertool.baddef=D\u00e9finition de serveur non valide : {0} +servertool.baddef=D\u00E9finition de serveur incorrecte : {0} servertool.nosuchserver=\tce serveur est introuvable. servertool.helddown=\tserveur interrompu. servertool.nosuchorb=\tORB non valide. -servertool.serverup=\tle serveur fonctionne d\u00e9j\u00e0. -servertool.appname=\tNom d''application - {0} -servertool.name=\tnom - {0} +servertool.serverup=\tle serveur fonctionne d\u00E9j\u00E0. +servertool.appname=\tapplicationName - {0} +servertool.name=\tname - {0} servertool.classpath=\tclasspath - {0} servertool.args=\targs - {0} servertool.vmargs=\tvmargs - {0} -servertool.serverid=\tserver id - {0} -servertool.servernotrunning=\tLe serveur ne fonctionne pas. -servertool.register=\n\n\tregister -server <nom de classe de serveur> \n\t -applicationName <deuxi\u00e8me nom de serveur> \n\t -classpath <chemin de classe au serveur> \n\t -args <arguments au serveur> \n\t -vmargs <arguments au serveur Java VM>\n +servertool.serverid=\tID de serveur - {0} +servertool.servernotrunning=\tle serveur ne fonctionne pas. +servertool.register=\n\n\tregister -server <nom de classe de serveur> \n\t -applicationName <deuxi\u00E8me nom de serveur> \n\t -classpath <variable d'environnement CLASSPATH du serveur> \n\t -args <arguments au serveur> \n\t -vmargs <arguments au serveur Java VM>\n servertool.register1=inscrire un serveur activable servertool.register2=\tserveur inscrit (ID serveur = {0}). servertool.register3=\tserveur inscrit mais interrompu (ID serveur = {0}). -servertool.register4=\tserveur d\u00e9j\u00e0 inscrit (ID serveur = {0}). +servertool.register4=\tserveur d\u00E9j\u00E0 inscrit (ID serveur = {0}). servertool.unregister=\n\tunregister [ -serverid <ID serveur> | -applicationName <nom> ] \n -servertool.unregister1=d\u00e9sinscrire un serveur inscrit -servertool.unregister2=\tserveur d\u00e9sinscrit. +servertool.unregister1=d\u00E9sinscrire un serveur inscrit +servertool.unregister2=\tserveur d\u00E9sinscrit. -servertool.locate=\n\tlocate [ -serverid <ID serveur> | -applicationName <nom> ] [ <-endpointType <type de point d'extr\u00e9mit\u00e9> ] \n -servertool.locate1=rep\u00e9rer des ports de type sp\u00e9cifique d'un serveur inscrit -servertool.locate2=\n\n\tNom d''h\u00f4te {0} \n\n\t\tPort\t\tType de port\t\tID ORB\n\t\t----\t\t---------\t\t------\n +servertool.locate=\n\tlocate [ -serverid <ID serveur> | -applicationName <nom> ] [ <-endpointType <type de point d'extr\u00E9mit\u00E9> ] \n +servertool.locate1=rep\u00E9rer des ports de type sp\u00E9cifique d'un serveur inscrit +servertool.locate2=\n\n\tNom d''h\u00F4te {0} \n\n\t\tPort\t\tType de port\t\tID ORB\n\t\t----\t\t---------\t\t------\n servertool.locateorb=\n\tlocateperorb [ -serverid <ID serveur> | -applicationName <nom> ] [ -orbid <nom ORB> ]\n -servertool.locateorb1=rep\u00e9rer les ports d'un ORB sp\u00e9cifique de serveurs inscrits -servertool.locateorb2=\n\n\tNom d''h\u00f4te {0} \n\n\t\tPort\t\tType de port\t\tID ORB\n\t\t----\t\t--------\t\t------\n +servertool.locateorb1=rep\u00E9rer les ports d'un ORB sp\u00E9cifique de serveur inscrit +servertool.locateorb2=\n\n\tNom d''h\u00F4te {0} \n\n\t\tPort\t\tType de port\t\tID ORB\n\t\t----\t\t--------\t\t------\n servertool.getserverid=\n\tgetserverid [ -applicationName <nom> ] \n -servertool.getserverid1=renvoyer l'ID serveur pour un applicationName -servertool.getserverid2=\tL''ID serveur de applicationName {0} est {1} +servertool.getserverid1=renvoyer l'ID serveur pour un nom d'application +servertool.getserverid2=\tL''ID serveur du nom d''application {0} est {1} -servertool.list=\n\tlist +servertool.list=\n\tlist\n servertool.list1=lister tous les serveurs inscrits servertool.list2=\n\tID serveur\tNom de classe serveur\t\tApplication serveur\n\t---------\t-----------------\t\t------------------\n servertool.listactive=\n\tlistactive servertool.listactive1=lister les serveurs actifs servertool.listappnames=\tlistappnames\n -servertool.listappnames1=lister les noms d'application d\u00e9finis -servertool.listappnames2=noms d'application du serveur d\u00e9finis : +servertool.listappnames1=lister les noms d'application d\u00E9finis +servertool.listappnames2=Noms d'application du serveur d\u00E9finis : servertool.shutdown=\n\tshutdown [ -serverid <ID serveur> | -applicationName <nom> ]\n -servertool.shutdown1=arr\u00eater un serveur inscrit -servertool.shutdown2=\tserveur arr\u00eat\u00e9. +servertool.shutdown1=arr\u00EAter un serveur inscrit +servertool.shutdown2=\tserveur arr\u00EAt\u00E9. servertool.startserver=\n\tstartup [ -serverid <ID serveur> | -applicationName <nom> ]\n -servertool.startserver1=d\u00e9marrer un serveur inscrit -servertool.startserver2=\tserveur d\u00e9marr\u00e9. +servertool.startserver1=d\u00E9marrer un serveur inscrit +servertool.startserver2=\tserveur d\u00E9marr\u00E9. servertool.quit=\n\tquit\n servertool.quit1=fermer cet outil @@ -83,25 +83,25 @@ servertool.help1=afficher l'aide servertool.orbidmap=\tSyntaxe : orblist [ -serverid <ID serveur> | -applicationName <nom> ]\n -servertool.orbidmap1=liste des noms orb et de leur mappage +servertool.orbidmap1=liste des noms ORB et de leur mappage servertool.orbidmap2=\n\tID ORB\t\tNom ORB\n\t------\t\t--------\n -pnameserv.success=NameServer persistant d\u00e9marr\u00e9 +pnameserv.success=NameServer persistant d\u00E9marr\u00E9 -bootstrap.usage=Syntaxe : {0} <options> \n\no\u00f9 <options> comprend :\n -ORBInitialPort Port initial (requis)\n -InitialServicesFile Fichier contenant la liste des services initiaux (requis)\n +bootstrap.usage=Syntaxe : {0} <options> \n\no\u00F9 <options> comprend :\n -ORBInitialPort Port initial (obligatoire)\n -InitialServicesFile Fichier contenant la liste des services initiaux (obligatoire)\n bootstrap.success=configuration du port sur {0} et lecture des services de {1} bootstrap.filenotreadable=le fichier {0} n''est pas lisible bootstrap.filenotfound=fichier {0} introuvable -bootstrap.exception=erreur d\u00e9tect\u00e9e pendant l''enregistrement des propri\u00e9t\u00e9s dans le fichier {0} : Erreur {1} +bootstrap.exception=exception d\u00E9tect\u00E9e lors de l''enregistrement des propri\u00E9t\u00E9s dans le fichier {0}. Exception : {1} -tnameserv.exception=Erreur d\u00e9tect\u00e9e pendant le d\u00e9marrage du service d''amor\u00e7age sur le port {0} -tnameserv.usage=essayez un autre port avec les arguments de ligne de commande -ORBInitialPort <num\u00e9ro de port> +tnameserv.exception=exception d\u00E9tect\u00E9e lors du d\u00E9marrage du service bootstrap sur le port {0} +tnameserv.usage=essayez un autre port avec les arguments de ligne de commande -ORBInitialPort <num\u00E9ro de port> tnameserv.invalidhostoption=ORBInitialHost n'est pas une option valide pour NameService tnameserv.orbinitialport0=ORBInitialPort 0 n'est pas une option valide pour NameService -tnameserv.hs1=Contexte d''appellation initial :\n{0} -tnameserv.hs2=TransientNameServer : configuration du port pour des r\u00e9f\u00e9rences d''objet initial \u00e0 : {0} -tnameserv.hs3=Pr\u00eat. +tnameserv.hs1=Contexte de d\u00E9nomination initial :\n{0} +tnameserv.hs2=TransientNameServer : configuration du port pour des r\u00E9f\u00E9rences d''objet initial sur {0} +tnameserv.hs3=Pr\u00EAt. -orbd.commfailure=\nLe d\u00e9marrage de ORBD a \u00e9chou\u00e9 car ORBinitialPort est d\u00e9j\u00e0 utilis\u00e9 -orbd.internalexception=\nLe d\u00e9marrage de ORBD a \u00e9chou\u00e9 \u00e0 cause d'une exception interne. \nCauses possibles\u00a0: \n1. Le ORBInitialPort ou le ORBActivationPort sp\u00e9cifi\u00e9 est d\u00e9j\u00e0 utilis\u00e9 \n2. Pas d'autorisation en \u00e9criture permettant d'\u00e9crire orb.db +orbd.commfailure=\nLe d\u00E9marrage d'ORBD a \u00E9chou\u00E9 car ORBinitialPort est d\u00E9j\u00E0 utilis\u00E9 +orbd.internalexception=\nLe d\u00E9marrage d'ORBD a \u00E9chou\u00E9 en raison d'une exception interne. \nCauses possibles\u00A0: \n1. L'\u00E9l\u00E9ment ORBInitialPort ou ORBActivationPort sp\u00E9cifi\u00E9 est d\u00E9j\u00E0 utilis\u00E9 \n2. Aucune autorisation en \u00E9criture permettant d'\u00E9crire orb.db
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_it.properties Thu Feb 10 16:24:34 2011 -0800 +++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_it.properties Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2000, 2005, 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 @@ -23,28 +23,28 @@ # questions. # -orbd.usage=Utilizzo: {0} <opzioni> \n\ndove <opzioni> comprende:\n -port Porta di attivazione da cui avviare ORBD, default 1049 (opzionale)\n -defaultdb Directory per i file ORBD, default "./orb.db" (opzionale)\n -serverid Id server per ORBD, default 1 (opzionale)\n -ORBInitialPort Porta iniziale (richiesta)\n -ORBInitialHost Nome host iniziale (richiesto)\n +orbd.usage=Utilizzo: {0} <opzioni> \n\ndove <opzioni> include:\n -port Porta di attivazione da cui avviare ORBD, valore predefinito 1049 (opzionale)\n -defaultdb Directory per i file ORBD, valore predefinito "./orb.db" (opzionale)\n -serverid ID server per ORBD, valore predefinito 1 (opzionale)\n -ORBInitialPort Porta iniziale (richiesta)\n -ORBInitialHost HostName iniziale (richiesto)\n -servertool.usage=Utilizzo: {0} <opzioni> \n\ndove <opzioni> comprende:\n -ORBInitialPort Porta iniziale (richiesta)\n -ORBInitialHost Nome host iniziale (richiesto)\n -servertool.banner=\n\nBenvenuti a Java IDL Server Tool \nimmettere i comandi quando richiesto \n +servertool.usage=Utilizzo: {0} <opzioni> \n\ndove <opzioni> include:\n -ORBInitialPort Porta iniziale (richiesta)\n -ORBInitialHost HostName iniziale (richiesto)\n +servertool.banner=\n\nBenvenuti in Java IDL Server Tool \nimmettere i comandi quando richiesto \n servertool.shorthelp=\n\n\tComandi disponibili:\n\t-------------------- \n servertool.baddef=Definizione server errata: {0} servertool.nosuchserver=\timpossibile trovare il server indicato. -servertool.helddown=\til server \u00e8 mantenuto inattivo. +servertool.helddown=\til server \u00E8 mantenuto inattivo. servertool.nosuchorb=\tORB non valido. -servertool.serverup=\til server \u00e8 gi\u00e0 attivo. -servertool.appname=\tNomeApplicazione - {0} +servertool.serverup=\til server \u00E8 gi\u00E0 attivo. +servertool.appname=\tapplicationName - {0} servertool.name=\tnome - {0} servertool.classpath=\tclasspath - {0} servertool.args=\targom - {0} servertool.vmargs=\targomvm - {0} -servertool.serverid=\tid server - {0} -servertool.servernotrunning=\til server non \u00e8 in funzione. +servertool.serverid=\tID server - {0} +servertool.servernotrunning=\til server non \u00E8 in funzione. servertool.register=\n\n\tregister -server <nome classe server> \n\t -applicationName <nome server alternativo> \n\t -classpath <classpath per il server> \n\t -args <argom per il server> \n\t -vmargs <argom per la Java VM del server>\n servertool.register1=registra un server attivabile servertool.register2=\tserver registrato (idserver = {0}). servertool.register3=\tserver registrato ma mantenuto inattivo (idserver = {0}). -servertool.register4=\tserver gi\u00e0 registrato (idserver = {0}). +servertool.register4=\tserver gi\u00E0 registrato (idserver = {0}). servertool.unregister=\n\tunregister [ -serverid <id server> | -applicationName <nome> ] \n servertool.unregister1=rimuovi un server registrato. @@ -55,19 +55,19 @@ servertool.locate2=\n\n\tNome host {0} \n\n\t\tPorta\t\tTipo porta\t\tId ORB\n\t\t-----\t\t----------\t\t------\n servertool.locateorb=\n\tlocateperorb [ -serverid <id server> | -applicationName <nome> ] [ -orbid <nome ORB> ]\n servertool.locateorb1=individua le porte per un orb specifico di un server registrato -servertool.locateorb2=\n\n\tNome host {0} \n\n\t\tPorta\t\tTipoPorta\t\tId ORB\n\t\t-----\t\t---------\t\t------\n +servertool.locateorb2=\n\n\tNome host {0} \n\n\t\tPorta\t\tPortType\t\tId ORB\n\t\t-----\t\t---------\t\t------\n servertool.getserverid=\n\tgetserverid [ -applicationName <nome> ] \n servertool.getserverid1=restituisce l'id server per un applicationName -servertool.getserverid2=\tL''ID server per applicationName {0} \u00e8 {1} +servertool.getserverid2=\tL''ID server per applicationName {0} \u00E8 {1} -servertool.list=\n\tlist\n +servertool.list=\n\tlista\n servertool.list1=elenca tutti i server registrati servertool.list2=\n\tID server\tNome classe server\t\tApplicazione server\n\t---------\t------------------\t\t-------------------\n servertool.listactive=\n\tlistactive -servertool.listactive1=elenca i server attualmente attivi +servertool.listactive1=elenca i server attivi al momento servertool.listappnames=\tlistappnames\n -servertool.listappnames1=elenca gli applicationName attualmente definiti -servertool.listappnames2=applicationName del server attualmente definiti: +servertool.listappnames1=elenca applicationNames definiti al momento +servertool.listappnames2=applicationNames del server definiti al momento: servertool.shutdown=\n\tshutdown [ -serverid <id server> | -applicationName <nome> ]\n servertool.shutdown1=arresta un server registrato @@ -76,32 +76,32 @@ servertool.startserver1=avvia un server registrato servertool.startserver2=\tserver avviato correttamente. -servertool.quit=\n\tquit\n +servertool.quit=\n\tesci\n servertool.quit1=esci dall'applicazione corrente servertool.help=\thelp\n\tOR\n\thelp <nome comando>\n -servertool.help1=get help +servertool.help1=Guida servertool.orbidmap=\tUtilizzo: orblist [ -serverid <id server> | -applicationName <nome> ]\n -servertool.orbidmap1=elenco dei nomi orb e relativa mappatura +servertool.orbidmap1=lista nomi orb e relativa mappatura servertool.orbidmap2=\n\tId ORB\t\tNome ORB\n\t------\t\t--------\n pnameserv.success=NameServer persistente avviato correttamente -bootstrap.usage=Utilizzo: {0} <opzioni> \n\ndove <opzioni> comprende:\n -ORBInitialPort Porta iniziale (richiesta)\n -InitialServicesFile File contenente l''elenco dei servizi iniziali (richiesto)\n +bootstrap.usage=Utilizzo: {0} <opzioni> \n\ndove <opzioni> include:\n -ORBInitialPort Porta iniziale (richiesta)\n -InitialServicesFile File contenente la lista dei servizi iniziali (richiesto)\n bootstrap.success=impostazione porta su {0} e lettura servizi da {1} in corso -bootstrap.filenotreadable=il file {0} non \u00e8 leggibile +bootstrap.filenotreadable=il file {0} non \u00E8 leggibile bootstrap.filenotfound=impossibile trovare il file {0} -bootstrap.exception=rilevata un''eccezione durante il salvataggio delle propriet\u00e0 nel file {0}: eccezione {1} +bootstrap.exception=rilevata un''eccezione durante il salvataggio delle propriet\u00E0 nel file {0}: eccezione {1} tnameserv.exception=rilevata un''eccezione durante l''avvio del servizio di bootstrap sulla porta {0} tnameserv.usage=utilizzare un'altra porta con gli argomenti di riga di comando -ORBInitialPort <n.porta> -tnameserv.invalidhostoption=ORBInitialHost non \u00e8 un'opzione valida per NameService -tnameserv.orbinitialport0=ORBInitialPort 0 non \u00e8 un'opzione valida per NameService +tnameserv.invalidhostoption=ORBInitialHost non \u00E8 un'opzione valida per NameService +tnameserv.orbinitialport0=ORBInitialPort 0 non \u00E8 un'opzione valida per NameService tnameserv.hs1=Contesto di denominazione iniziale:\n{0} tnameserv.hs2=TransientNameServer: impostazione della porta per i riferimenti degli oggetti iniziali a: {0} tnameserv.hs3=Pronto. -orbd.commfailure=\nImpossibile avviare ORBD perch\u00e9 ORBinitialPort \u00e8 gi\u00e0 in uso -orbd.internalexception=\nImpossibile avviare ORBD a causa di un'eccezione interna. \neCause possibili: \n1. ORBInitialPort o ORBActivationPort specificato gi\u00e0 in uso \n2. Mancanza dei permessi di scrittura per orb.db +orbd.commfailure=\nImpossibile avviare ORBD perch\u00E9 ORBinitialPort \u00E8 gi\u00E0 in uso +orbd.internalexception=\nImpossibile avviare ORBD a causa di un'eccezione interna. \neCause possibili: \n1. ORBInitialPort o ORBActivationPort specificato gi\u00E0 in uso \n2. Non esistono autorizzazioni per scrivere orb.db
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ja.properties Thu Feb 10 16:24:34 2011 -0800 +++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ja.properties Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2000, 2005, 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 @@ -23,85 +23,85 @@ # questions. # -orbd.usage=\u4f7f\u3044\u65b9: {0} <options> \n\n<options> \u306b\u306f\u6b21\u306e\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002\n -port ORBD \u306e\u8d77\u52d5\u30dd\u30fc\u30c8\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 1049 (\u30aa\u30d7\u30b7\u30e7\u30f3)\n -defaultdb ORBD \u30d5\u30a1\u30a4\u30eb\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u306f "./orb.db" (\u30aa\u30d7\u30b7\u30e7\u30f3)\n -serverid ORBD \u306e\u30b5\u30fc\u30d0 Id\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 1 (\u30aa\u30d7\u30b7\u30e7\u30f3)\n -ORBInitialPort \u521d\u671f\u30dd\u30fc\u30c8 (\u5fc5\u9808)\n -ORBInitialHost \u521d\u671f\u30db\u30b9\u30c8\u540d (\u5fc5\u9808)\n +orbd.usage=\u4F7F\u7528\u65B9\u6CD5: {0} <options> \n\n<options>\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002\n -port ORBD\u306E\u8D77\u52D5\u30DD\u30FC\u30C8\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u306F1049(\u30AA\u30D7\u30B7\u30E7\u30F3)\n -defaultdb ORBD\u30D5\u30A1\u30A4\u30EB\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u306F"./orb.db"(\u30AA\u30D7\u30B7\u30E7\u30F3)\n -serverid ORBD\u306E\u30B5\u30FC\u30D0\u30FCId\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u306F1(\u30AA\u30D7\u30B7\u30E7\u30F3)\n -ORBInitialPort \u521D\u671F\u30DD\u30FC\u30C8(\u5FC5\u9808)\n -ORBInitialHost \u521D\u671F\u30DB\u30B9\u30C8\u540D(\u5FC5\u9808)\n -servertool.usage=\u4f7f\u3044\u65b9: {0} <options> \n\n<options> \u306b\u306f\u6b21\u306e\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002\n -ORBInitialPort \u521d\u671f\u30dd\u30fc\u30c8 (\u5fc5\u9808)\n -ORBInitialHost \u521d\u671f\u30db\u30b9\u30c8\u540d (\u5fc5\u9808)\n -servertool.banner=\n\nJava IDL Server Tool \u3078\u3088\u3046\u3053\u305d\n\u30d7\u30ed\u30f3\u30d7\u30c8\u306b\u30b3\u30de\u30f3\u30c9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044 \n -servertool.shorthelp=\n\n\t\u4f7f\u7528\u53ef\u80fd\u306a\u30b3\u30de\u30f3\u30c9: \n\t------------------- \n -servertool.baddef=\u4e0d\u6b63\u306a\u30b5\u30fc\u30d0\u5b9a\u7fa9: {0} -servertool.nosuchserver=\t\u6307\u5b9a\u3055\u308c\u305f\u30b5\u30fc\u30d0\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002 -servertool.helddown=\t\u30b5\u30fc\u30d0\u306f\u505c\u6b62\u3057\u3066\u3044\u307e\u3059\u3002 -servertool.nosuchorb=\tORB \u304c\u7121\u52b9\u3067\u3059\u3002 -servertool.serverup=\t\u30b5\u30fc\u30d0\u306f\u8d77\u52d5\u3057\u3066\u3044\u307e\u3059\u3002 -servertool.appname=\tapplicationName - {0} -servertool.name=\tname - {0} +servertool.usage=\u4F7F\u7528\u65B9\u6CD5: {0} <options> \n\n<options>\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002\n -ORBInitialPort \u521D\u671F\u30DD\u30FC\u30C8(\u5FC5\u9808)\n -ORBInitialHost \u521D\u671F\u30DB\u30B9\u30C8\u540D(\u5FC5\u9808)\n +servertool.banner=\n\nJava IDL Server Tool\u3078\u3088\u3046\u3053\u305D\n\u30D7\u30ED\u30F3\u30D7\u30C8\u306B\u30B3\u30DE\u30F3\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\n +servertool.shorthelp=\n\n\t\u4F7F\u7528\u53EF\u80FD\u306A\u30B3\u30DE\u30F3\u30C9: \n\t------------------- \n +servertool.baddef=\u4E0D\u6B63\u306A\u30B5\u30FC\u30D0\u30FC\u5B9A\u7FA9: {0} +servertool.nosuchserver=\t\u6307\u5B9A\u3055\u308C\u305F\u30B5\u30FC\u30D0\u30FC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002 +servertool.helddown=\t\u30B5\u30FC\u30D0\u30FC\u306F\u505C\u6B62\u3057\u3066\u3044\u307E\u3059\u3002 +servertool.nosuchorb=\tORB\u304C\u7121\u52B9\u3067\u3059\u3002 +servertool.serverup=\t\u30B5\u30FC\u30D0\u30FC\u306F\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059\u3002 +servertool.appname=\tapplicationName - {0} +servertool.name=\tname - {0} servertool.classpath=\tclasspath - {0} -servertool.args=\targs - {0} -servertool.vmargs=\tvmargs - {0} +servertool.args=\targs - {0} +servertool.vmargs=\tvmargs - {0} servertool.serverid=\tserver id - {0} -servertool.servernotrunning=\t\u30b5\u30fc\u30d0\u306f\u7a3c\u52d5\u3057\u3066\u3044\u307e\u305b\u3093\u3002 -servertool.register=\n\n\tregister -server <server class name> \n\t -applicationName <alternate server name> \n\t -classpath <classpath to server> \n\t -args <args to server> \n\t -vmargs <args to server Java VM>\n -servertool.register1=\u8d77\u52d5\u53ef\u80fd\u306a\u30b5\u30fc\u30d0\u3092\u767b\u9332\u3057\u307e\u3059\u3002 -servertool.register2=\t\u767b\u9332\u3055\u308c\u305f\u30b5\u30fc\u30d0 (serverid = {0})\u3002 -servertool.register3=\t\u767b\u9332\u3055\u308c\u3066\u3044\u308b\u304c\u8d77\u52d5\u3057\u3066\u3044\u306a\u3044\u30b5\u30fc\u30d0 (serverid = {0})\u3002 -servertool.register4=\t\u767b\u9332\u6e08\u307f\u306e\u30b5\u30fc\u30d0 (serverid = {0})\u3002 +servertool.servernotrunning=\t\u30B5\u30FC\u30D0\u30FC\u306F\u7A3C\u50CD\u3057\u3066\u3044\u307E\u305B\u3093\u3002 +servertool.register=\n\n\tregister -server <server class name> \n\t -applicationName <alternate server name> \n\t -classpath <classpath to server> \n\t -args <args to server> \n\t -vmargs <args to server Java VM>\n +servertool.register1=\u8D77\u52D5\u53EF\u80FD\u306A\u30B5\u30FC\u30D0\u30FC\u3092\u767B\u9332\u3057\u307E\u3059 +servertool.register2=\t\u767B\u9332\u3055\u308C\u305F\u30B5\u30FC\u30D0\u30FC(serverid={0})\u3002 +servertool.register3=\t\u767B\u9332\u3055\u308C\u3066\u3044\u308B\u304C\u8D77\u52D5\u3057\u3066\u3044\u306A\u3044\u30B5\u30FC\u30D0\u30FC(serverid={0})\u3002 +servertool.register4=\t\u767B\u9332\u6E08\u306E\u30B5\u30FC\u30D0\u30FC(serverid={0})\u3002 -servertool.unregister=\n\tunregister [ -serverid <server id> | -applicationName <name> ] \n -servertool.unregister1=\u767b\u9332\u3055\u308c\u305f\u30b5\u30fc\u30d0\u306e\u767b\u9332\u3092\u89e3\u9664\u3057\u307e\u3059\u3002 -servertool.unregister2=\t\u30b5\u30fc\u30d0\u306e\u767b\u9332\u304c\u89e3\u9664\u3055\u308c\u307e\u3057\u305f\u3002 +servertool.unregister=\n\tunregister [ -serverid <server id> | -applicationName <name> ]\n +servertool.unregister1=\u767B\u9332\u3055\u308C\u305F\u30B5\u30FC\u30D0\u30FC\u306E\u767B\u9332\u3092\u89E3\u9664\u3057\u307E\u3059 +servertool.unregister2=\t\u30B5\u30FC\u30D0\u30FC\u306E\u767B\u9332\u304C\u89E3\u9664\u3055\u308C\u307E\u3057\u305F\u3002 -servertool.locate=\n\tlocate [ -serverid <server id> | -applicationName <name> ] [ <-endpointType <endpointType> ] \n -servertool.locate1=\u767b\u9332\u3055\u308c\u305f\u30b5\u30fc\u30d0\u306e\u7279\u5b9a\u30bf\u30a4\u30d7\u306e\u30dd\u30fc\u30c8\u3092\u691c\u51fa\u3057\u307e\u3059\u3002 -servertool.locate2=\n\n\t\u30db\u30b9\u30c8\u540d {0} \n\n\t\t\u30dd\u30fc\u30c8\t\t\u30dd\u30fc\u30c8\u30bf\u30a4\u30d7\t\tORB ID\n\t\t------\t\t------------\t\t------\n +servertool.locate=\n\tlocate [ -serverid <server id> | -applicationName <name> ] [ <-endpointType <endpointType> ]\n +servertool.locate1=\u767B\u9332\u3055\u308C\u305F\u30B5\u30FC\u30D0\u30FC\u306E\u7279\u5B9A\u30BF\u30A4\u30D7\u306E\u30DD\u30FC\u30C8\u3092\u691C\u51FA\u3057\u307E\u3059 +servertool.locate2=\n\n\t\u30DB\u30B9\u30C8\u540D{0}\n\n\t\t\u30DD\u30FC\u30C8\t\t\u30DD\u30FC\u30C8\u30FB\u30BF\u30A4\u30D7\t\tORB ID\n\t\t------\t\t------------\t\t------\n servertool.locateorb=\n\tlocateperorb [ -serverid <server id> | -applicationName <name> ] [ -orbid <ORB name> ]\n -servertool.locateorb1=\u767b\u9332\u3055\u308c\u305f\u30b5\u30fc\u30d0\u306e\u7279\u5b9a ORB \u306e\u30dd\u30fc\u30c8\u3092\u691c\u51fa\u3057\u307e\u3059\u3002 -servertool.locateorb2=\n\n\t\u30db\u30b9\u30c8\u540d {0} \n\n\t\t\u30dd\u30fc\u30c8\t\t\u30dd\u30fc\u30c8\u30bf\u30a4\u30d7\t\tORB ID\n\t\t------\t\t------------\t\t------\n -servertool.getserverid=\n\tgetserverid [ -applicationName <name> ] \n -servertool.getserverid1=applicationName \u306e\u30b5\u30fc\u30d0 ID \u3092\u8fd4\u3057\u307e\u3059\u3002 -servertool.getserverid2=\tapplicationName {0} \u306e\u30b5\u30fc\u30d0 ID \u306f {1} \u3067\u3059\u3002 +servertool.locateorb1=\u767B\u9332\u3055\u308C\u305F\u30B5\u30FC\u30D0\u30FC\u306E\u7279\u5B9AORB\u306E\u30DD\u30FC\u30C8\u3092\u691C\u51FA\u3057\u307E\u3059 +servertool.locateorb2=\n\n\t\u30DB\u30B9\u30C8\u540D{0}\n\n\t\t\u30DD\u30FC\u30C8\t\t\u30DD\u30FC\u30C8\u30FB\u30BF\u30A4\u30D7\t\tORB ID\n\t\t------\t\t------------\t\t------\n +servertool.getserverid=\n\tgetserverid [ -applicationName <name> ]\n +servertool.getserverid1=applicationName\u306E\u30B5\u30FC\u30D0\u30FCID\u3092\u8FD4\u3057\u307E\u3059 +servertool.getserverid2=\tapplicationName {0}\u306E\u30B5\u30FC\u30D0\u30FCID\u306F{1}\u3067\u3059 -servertool.list=\n\t\u30ea\u30b9\u30c8\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n -servertool.list1=\u767b\u9332\u3055\u308c\u305f\u3059\u3079\u3066\u306e\u30b5\u30fc\u30d0\u306e\u30ea\u30b9\u30c8\u3092\u8868\u793a\u3057\u307e\u3059\u3002 -servertool.list2=\n\t\u30b5\u30fc\u30d0 Id\t\u30b5\u30fc\u30d0\u306e\u30af\u30e9\u30b9\u540d\t\t\u30b5\u30fc\u30d0\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\n\t---------\t----------------\t\t----------------------\n -servertool.listactive=\n\t\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30b5\u30fc\u30d0\u306e\u30ea\u30b9\u30c8\u3092\u8868\u793a\u3057\u307e\u3059\u3002 -servertool.listactive1=\u73fe\u5728\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30b5\u30fc\u30d0\u306e\u30ea\u30b9\u30c8\u3092\u8868\u793a\u3057\u307e\u3059\u3002 -servertool.listappnames=\tapplicationNames \u306e\u30ea\u30b9\u30c8\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n -servertool.listappnames1=\u73fe\u5728\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b applicationNames \u306e\u30ea\u30b9\u30c8\u3092\u8868\u793a\u3057\u307e\u3059\u3002 -servertool.listappnames2=\u73fe\u5728\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u30b5\u30fc\u30d0 applicationNames: +servertool.list=\n\t\u30EA\u30B9\u30C8\u3092\u8868\u793A\u3057\u307E\u3059\n +servertool.list1=\u767B\u9332\u3055\u308C\u305F\u3059\u3079\u3066\u306E\u30B5\u30FC\u30D0\u30FC\u306E\u30EA\u30B9\u30C8\u3092\u8868\u793A\u3057\u307E\u3059 +servertool.list2=\n\t\u30B5\u30FC\u30D0\u30FCID\t\u30B5\u30FC\u30D0\u30FC\u306E\u30AF\u30E9\u30B9\u540D\t\t\u30B5\u30FC\u30D0\u30FC\u30FB\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\n\t---------\t----------------\t\t----------------------\n +servertool.listactive=\n\t\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30B5\u30FC\u30D0\u30FC\u306E\u30EA\u30B9\u30C8\u3092\u8868\u793A\u3057\u307E\u3059 +servertool.listactive1=\u73FE\u5728\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30B5\u30FC\u30D0\u30FC\u306E\u30EA\u30B9\u30C8\u3092\u8868\u793A\u3057\u307E\u3059 +servertool.listappnames=\tapplicationNames\u306E\u30EA\u30B9\u30C8\u3092\u8868\u793A\u3057\u307E\u3059\n +servertool.listappnames1=\u73FE\u5728\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u308BapplicationNames\u306E\u30EA\u30B9\u30C8\u3092\u8868\u793A\u3057\u307E\u3059 +servertool.listappnames2=\u73FE\u5728\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u308B\u30B5\u30FC\u30D0\u30FCapplicationNames: servertool.shutdown=\n\tshutdown [ -serverid <server id> | -applicationName <name> ]\n -servertool.shutdown1=\u767b\u9332\u3055\u308c\u305f\u30b5\u30fc\u30d0\u3092\u505c\u6b62\u3057\u307e\u3059\u3002 -servertool.shutdown2=\t\u30b5\u30fc\u30d0\u306e\u505c\u6b62\u306b\u6210\u529f\u3057\u307e\u3057\u305f\u3002 +servertool.shutdown1=\u767B\u9332\u3055\u308C\u305F\u30B5\u30FC\u30D0\u30FC\u3092\u505C\u6B62\u3057\u307E\u3059 +servertool.shutdown2=\t\u30B5\u30FC\u30D0\u30FC\u306E\u505C\u6B62\u306B\u6210\u529F\u3057\u307E\u3057\u305F\u3002 servertool.startserver=\n\tstartup [ -serverid <server id> | -applicationName <name> ]\n -servertool.startserver1=\u767b\u9332\u3055\u308c\u305f\u30b5\u30fc\u30d0\u3092\u8d77\u52d5\u3057\u307e\u3059\u3002 -servertool.startserver2=\t\u30b5\u30fc\u30d0\u306e\u8d77\u52d5\u306b\u6210\u529f\u3057\u307e\u3057\u305f\u3002 +servertool.startserver1=\u767B\u9332\u3055\u308C\u305F\u30B5\u30FC\u30D0\u30FC\u3092\u8D77\u52D5\u3057\u307E\u3059 +servertool.startserver2=\t\u30B5\u30FC\u30D0\u30FC\u306E\u8D77\u52D5\u306B\u6210\u529F\u3057\u307E\u3057\u305F\u3002 -servertool.quit=\n\tquit\n -servertool.quit1=\u3053\u306e\u30c4\u30fc\u30eb\u3092\u7d42\u4e86\u3057\u307e\u3059\u3002 +servertool.quit=\n\t\u7D42\u4E86\u3057\u307E\u3059\n +servertool.quit1=\u3053\u306E\u30C4\u30FC\u30EB\u3092\u7D42\u4E86\u3057\u307E\u3059 -servertool.help=\thelp\n\t\u307e\u305f\u306f\n\thelp <command name>\n -servertool.help1=\u30d8\u30eb\u30d7\u3092\u8868\u793a\u3057\u307e\u3059\u3002 +servertool.help=\thelp\n\t\u307E\u305F\u306F\n\thelp <command name>\n +servertool.help1=\u30D8\u30EB\u30D7\u3092\u8868\u793A\u3057\u307E\u3059 -servertool.orbidmap=\t\u4f7f\u3044\u65b9: orblist [ -serverid <server id> | -applicationName <name> ]\n -servertool.orbidmap1=ORB \u540d\u304a\u3088\u3073\u305d\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u306e\u30ea\u30b9\u30c8 -servertool.orbidmap2=\n\tORB Id\t\tORB \u540d\n\t------\t\t--------\n -pnameserv.success=\u6301\u7d9a NameServer \u306e\u8d77\u52d5\u306b\u6210\u529f\u3057\u307e\u3057\u305f\u3002 +servertool.orbidmap=\t\u4F7F\u7528\u65B9\u6CD5: orblist [ -serverid <server id> | -applicationName <name> ]\n +servertool.orbidmap1=ORB\u540D\u304A\u3088\u3073\u305D\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u306E\u30EA\u30B9\u30C8 +servertool.orbidmap2=\n\tORB ID\t\tORB\u540D\n\t------\t\t--------\n +pnameserv.success=\u6301\u7D9ANameServer\u306E\u8D77\u52D5\u306B\u6210\u529F\u3057\u307E\u3057\u305F -bootstrap.usage=\u4f7f\u3044\u65b9: {0} <options> \n\n<options> \u306b\u306f\u6b21\u306e\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002\n -ORBInitialPort \u521d\u671f\u30dd\u30fc\u30c8 (\u5fc5\u9808)\n -InitialServicesFile \u521d\u671f\u30b5\u30fc\u30d3\u30b9\u30ea\u30b9\u30c8\u3092\u542b\u3080\u30d5\u30a1\u30a4\u30eb (\u5fc5\u9808)\n -bootstrap.success=\u30dd\u30fc\u30c8\u3092 {0} \u306b\u8a2d\u5b9a\u3057\u3001{1} \u304b\u3089\u30b5\u30fc\u30d3\u30b9\u3092\u8aad\u307f\u8fbc\u307f\u307e\u3059\u3002 -bootstrap.filenotreadable=\u30d5\u30a1\u30a4\u30eb {0} \u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3002 -bootstrap.filenotfound=\u30d5\u30a1\u30a4\u30eb {0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002 -bootstrap.exception=\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u30d5\u30a1\u30a4\u30eb {0} \u306b\u4fdd\u5b58\u4e2d\u306b\u4f8b\u5916\u3092\u30ad\u30e3\u30c3\u30c1\u3057\u307e\u3057\u305f: \u4f8b\u5916 {1} +bootstrap.usage=\u4F7F\u7528\u65B9\u6CD5: {0} <options> \n\n<options>\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002\n -ORBInitialPort \u521D\u671F\u30DD\u30FC\u30C8(\u5FC5\u9808)\n -InitialServicesFile \u521D\u671F\u30B5\u30FC\u30D3\u30B9\u30FB\u30EA\u30B9\u30C8\u3092\u542B\u3080\u30D5\u30A1\u30A4\u30EB(\u5FC5\u9808)\n +bootstrap.success=\u30DD\u30FC\u30C8\u3092{0}\u306B\u8A2D\u5B9A\u3057\u3001{1}\u304B\u3089\u30B5\u30FC\u30D3\u30B9\u3092\u8AAD\u307F\u8FBC\u307F\u307E\u3059 +bootstrap.filenotreadable=\u30D5\u30A1\u30A4\u30EB{0}\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093 +bootstrap.filenotfound=\u30D5\u30A1\u30A4\u30EB{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093 +bootstrap.exception=\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u30D5\u30A1\u30A4\u30EB{0}\u306B\u4FDD\u5B58\u4E2D\u306B\u4F8B\u5916\u3092\u6355\u6349\u3057\u307E\u3057\u305F: \u4F8B\u5916{1} -tnameserv.exception=\u30dd\u30fc\u30c8 {0} \u3067\u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u30b5\u30fc\u30d3\u30b9\u3092\u8d77\u52d5\u4e2d\u306b\u4f8b\u5916\u3092\u30ad\u30e3\u30c3\u30c1\u3057\u307e\u3057\u305f\u3002 -tnameserv.usage=\u30b3\u30de\u30f3\u30c9\u884c\u5f15\u6570 -ORBInitialPort <portno> \u3092\u4f7f\u3063\u3066\u5225\u306e\u30dd\u30fc\u30c8\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002 -tnameserv.invalidhostoption=ORBInitialHost \u306f NameService \u306b\u6709\u52b9\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 -tnameserv.orbinitialport0=ORBInitialPort 0 \u306f NameService \u306b\u6709\u52b9\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 -tnameserv.hs1=\u521d\u671f\u30cd\u30fc\u30df\u30f3\u30b0\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8:\n{0} -tnameserv.hs2=TransientNameServer: \u521d\u671f\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u53c2\u7167\u306e\u30dd\u30fc\u30c8\u3092 {0} \u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002 -tnameserv.hs3=\u6e96\u5099\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002 +tnameserv.exception=\u30DD\u30FC\u30C8{0}\u3067\u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30B5\u30FC\u30D3\u30B9\u3092\u8D77\u52D5\u4E2D\u306B\u4F8B\u5916\u3092\u6355\u6349\u3057\u307E\u3057\u305F +tnameserv.usage=\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u5F15\u6570-ORBInitialPort<portno>\u3092\u4F7F\u7528\u3057\u3066\u5225\u306E\u30DD\u30FC\u30C8\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044 +tnameserv.invalidhostoption=ORBInitialHost\u306FNameService\u306B\u6709\u52B9\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u306F\u3042\u308A\u307E\u305B\u3093 +tnameserv.orbinitialport0=ORBInitialPort 0\u306FNameService\u306B\u6709\u52B9\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u306F\u3042\u308A\u307E\u305B\u3093 +tnameserv.hs1=\u521D\u671F\u30CD\u30FC\u30DF\u30F3\u30B0\u30FB\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8:\n{0} +tnameserv.hs2=TransientNameServer: \u521D\u671F\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u53C2\u7167\u306E\u30DD\u30FC\u30C8\u3092{0}\u306B\u8A2D\u5B9A\u3057\u307E\u3059 +tnameserv.hs3=\u6E96\u5099\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002 -orbd.commfailure=\nORBinitialPort \u304c\u4f7f\u7528\u4e2d\u3067\u3042\u308b\u305f\u3081\u3001ORBD \u306e\u8d77\u52d5\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002 -orbd.internalexception=\n\u5185\u90e8\u4f8b\u5916\u306e\u305f\u3081\u306b ORBD \u306e\u8d77\u52d5\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\n\u8003\u3048\u3089\u308c\u308b\u539f\u56e0: \n1. \u6307\u5b9a\u3055\u308c\u305f ORBInitialPort \u307e\u305f\u306f ORBActivationPort \u304c\u4f7f\u7528\u4e2d\n2. orb.db \u3078\u306e\u66f8\u304d\u8fbc\u307f\u6a29\u9650\u304c\u306a\u3044 +orbd.commfailure=\nORBinitialPort\u304C\u4F7F\u7528\u4E2D\u3067\u3042\u308B\u305F\u3081\u3001ORBD\u306E\u8D77\u52D5\u306B\u5931\u6557\u3057\u307E\u3057\u305F +orbd.internalexception=\n\u5185\u90E8\u4F8B\u5916\u306E\u305F\u3081\u306BORBD\u306E\u8D77\u52D5\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\n\u8003\u3048\u3089\u308C\u308B\u539F\u56E0: \n1. \u6307\u5B9A\u3055\u308C\u305FORBInitialPort\u307E\u305F\u306FORBActivationPort\u304C\u4F7F\u7528\u4E2D\n2. orb.db\u3078\u306E\u66F8\u8FBC\u307F\u6A29\u9650\u304C\u306A\u3044
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ko.properties Thu Feb 10 16:24:34 2011 -0800 +++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ko.properties Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2000, 2005, 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 @@ -23,85 +23,85 @@ # questions. # -orbd.usage=\uc0ac\uc6a9\ubc95: {0} <\uc635\uc158> \n\n<\uc635\uc158>\uc5d0 \ub4e4\uc5b4\uac00\ub294 \ud56d\ubaa9\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.\n -port ORBD\uac00 \uc2dc\uc791\ub418\uc5b4\uc57c \ud558\ub294 \ud65c\uc131 \ud3ec\ud2b8\ub85c \uae30\ubcf8\uac12\uc740 1049\uc785\ub2c8\ub2e4(\uc120\ud0dd \uc0ac\ud56d).\n -defaultdb ORBD \ud30c\uc77c\uc758 \ub514\ub809\ud1a0\ub9ac. \uae30\ubcf8\uac12\uc740 "./orb.db"\uc785\ub2c8\ub2e4(\uc120\ud0dd \uc0ac\ud56d).\n -serverid ORBD\uc758 \uc11c\ubc84 ID. \uae30\ubcf8\uac12\uc740 1 \uc785\ub2c8\ub2e4(\uc120\ud0dd \uc0ac\ud56d).\n -ORBInitialPort \ucd08\uae30 \ud3ec\ud2b8(\ud544\uc218)\n -ORBInitialHost \ucd08\uae30 \ud638\uc2a4\ud2b8\uba85(\ud544\uc218)\n +orbd.usage=\uC0AC\uC6A9\uBC95: {0} <options> \n\n\uC5EC\uAE30\uC11C <options>\uB294 \uB2E4\uC74C\uACFC \uAC19\uC2B5\uB2C8\uB2E4.\n -port ORBD\uAC00 \uC2DC\uC791\uB418\uC5B4\uC57C \uD558\uB294 \uD65C\uC131 \uD3EC\uD2B8\uB85C, \uAE30\uBCF8\uAC12\uC740 1049\uC785\uB2C8\uB2E4(\uC120\uD0DD \uC0AC\uD56D).\n -defaultdb ORBD \uD30C\uC77C\uC758 \uB514\uB809\uD1A0\uB9AC\uB85C, \uAE30\uBCF8\uAC12\uC740 "./orb.db"\uC785\uB2C8\uB2E4(\uC120\uD0DD \uC0AC\uD56D).\n -serverid ORBD\uC758 \uC11C\uBC84 ID\uB85C, \uAE30\uBCF8\uAC12\uC740 1 \uC785\uB2C8\uB2E4(\uC120\uD0DD \uC0AC\uD56D).\n -ORBInitialPort \uCD08\uAE30 \uD3EC\uD2B8\uC785\uB2C8\uB2E4(\uD544\uC218).\n -ORBInitialHost \uCD08\uAE30 HostName\uC785\uB2C8\uB2E4(\uD544\uC218).\n -servertool.usage=\uc0ac\uc6a9\ubc95: {0} <\uc635\uc158> \n\n<\uc635\uc158>\uc5d0 \ub4e4\uc5b4\uac00\ub294 \ud56d\ubaa9\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.\n -ORBInitialPort \ucd08\uae30 \ud3ec\ud2b8(\ud544\uc218)\n -ORBInitialHost \ucd08\uae30 \ud638\uc2a4\ud2b8\uba85(\ud544\uc218)\n -servertool.banner=\n\nJava IDL \uc11c\ubc84 \ub3c4\uad6c\uc785\ub2c8\ub2e4\n\ud504\ub86c\ud504\ud2b8\uc5d0 \uba85\ub839\uc5b4\ub97c \uc785\ub825\ud558\uc2ed\uc2dc\uc624\n -servertool.shorthelp=\n\n\t\uc0ac\uc6a9 \uac00\ub2a5\ud55c \uba85\ub839\uc5b4: \n\t------------------- \n -servertool.baddef=\uc798\ubabb\ub41c \uc11c\ubc84 \uc815\uc758: {0} -servertool.nosuchserver=\t\ud574\ub2f9 \uc11c\ubc84\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. -servertool.helddown=\t\uc11c\ubc84\uac00 \ub2e4\uc6b4\ub418\uc5c8\uc2b5\ub2c8\ub2e4. -servertool.nosuchorb=\t\uc798\ubabb\ub41c ORB. -servertool.serverup=\t\uc11c\ubc84\uac00 \uc774\ubbf8 \uac00\ub3d9\ub418\uc5c8\uc2b5\ub2c8\ub2e4. -servertool.appname=\t\uc751\uc6a9\ud504\ub85c\uadf8\ub7a8 \uc774\ub984 - {0} -servertool.name=\t\uc774\ub984 - {0} +servertool.usage=\uC0AC\uC6A9\uBC95: {0} <options> \n\n\uC5EC\uAE30\uC11C <options>\uB294 \uB2E4\uC74C\uACFC \uAC19\uC2B5\uB2C8\uB2E4.\n -ORBInitialPort \uCD08\uAE30 \uD3EC\uD2B8\uC785\uB2C8\uB2E4(\uD544\uC218).\n -ORBInitialHost \uCD08\uAE30 HostName\uC785\uB2C8\uB2E4(\uD544\uC218).\n +servertool.banner=\n\nJava IDL \uC11C\uBC84 \uD234 \uC2DC\uC791 \n\uD504\uB86C\uD504\uD2B8\uC5D0 \uBA85\uB839\uC744 \uC785\uB825\uD558\uC2ED\uC2DC\uC624.\n +servertool.shorthelp=\n\n\t\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uBA85\uB839: \n\t------------------- \n +servertool.baddef=\uC798\uBABB\uB41C \uC11C\uBC84 \uC815\uC758: {0} +servertool.nosuchserver=\t\uD574\uB2F9 \uC11C\uBC84\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +servertool.helddown=\t\uC11C\uBC84\uC758 \uC791\uB3D9\uC774 \uC911\uC9C0\uB418\uC5C8\uC2B5\uB2C8\uB2E4. +servertool.nosuchorb=\tORB\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. +servertool.serverup=\t\uC11C\uBC84\uAC00 \uC774\uBBF8 \uC791\uB3D9 \uC911\uC785\uB2C8\uB2E4. +servertool.appname=\tapplicationName - {0} +servertool.name=\tname - {0} servertool.classpath=\tclasspath - {0} servertool.args=\targs - {0} servertool.vmargs=\tvmargs - {0} -servertool.serverid=\t\uc11c\ubc84 ID - {0} -servertool.servernotrunning=\t\uc11c\ubc84\uac00 \uc2e4\ud589 \uc911\uc774 \uc544\ub2d9\ub2c8\ub2e4. -servertool.register=\n\n\tregister -server <\uc11c\ubc84 \ud074\ub798\uc2a4 \uc774\ub984> \n\t -applicationName <\ub300\uccb4 \uc11c\ubc84 \uc774\ub984> \n\t -classpath <\uc11c\ubc84\uc758 classpath> \n\t -args <\uc11c\ubc84 \uc778\uc790> \n\t -vmargs <\uc11c\ubc84 Java VM \uc778\uc790>\n -servertool.register1=\ud65c\uc131 \uac00\ub2a5 \uc11c\ubc84 \ub4f1\ub85d -servertool.register2=\t\uc11c\ubc84\uac00 \ub4f1\ub85d\ub418\uc5c8\uc2b5\ub2c8\ub2e4(serverid = {0}). -servertool.register3=\t\uc11c\ubc84\uac00 \ub4f1\ub85d\ub418\uc5c8\uc9c0\ub9cc \ub2e4\uc6b4\ub418\uc5c8\uc2b5\ub2c8\ub2e4(serverid = {0}). -servertool.register4=\t\uc11c\ubc84\uac00 \uc774\ubbf8 \ub4f1\ub85d\ub418\uc5c8\uc2b5\ub2c8\ub2e4(serverid = {0}). +servertool.serverid=\tserver id - {0} +servertool.servernotrunning=\t\uC11C\uBC84\uAC00 \uC2E4\uD589 \uC911\uC774 \uC544\uB2D9\uB2C8\uB2E4. +servertool.register=\n\n\tregister -server <server class name> \n\t -applicationName <alternate server name> \n\t -classpath <classpath to server> \n\t -args <args to server> \n\t -vmargs <args to server Java VM>\n +servertool.register1=\uD65C\uC131 \uAC00\uB2A5 \uC11C\uBC84 \uB4F1\uB85D +servertool.register2=\t\uC11C\uBC84\uAC00 \uB4F1\uB85D\uB418\uC5C8\uC2B5\uB2C8\uB2E4(serverid = {0}). +servertool.register3=\t\uC11C\uBC84\uAC00 \uB4F1\uB85D\uB418\uC5C8\uC9C0\uB9CC \uC791\uB3D9\uC774 \uC911\uC9C0\uB418\uC5C8\uC2B5\uB2C8\uB2E4(serverid = {0}). +servertool.register4=\t\uC11C\uBC84\uAC00 \uC774\uBBF8 \uB4F1\uB85D\uB418\uC5C8\uC2B5\uB2C8\uB2E4(serverid = {0}). -servertool.unregister=\n\tunregister [ -serverid <\uc11c\ubc84 ID> | -applicationName <\uc774\ub984> ] \n -servertool.unregister1=\ub4f1\ub85d\ub41c \uc11c\ubc84\uc758 \ub4f1\ub85d\uc744 \ucde8\uc18c\ud569\ub2c8\ub2e4 -servertool.unregister2=\t\uc11c\ubc84\uac00 \ub4f1\ub85d \ucde8\uc18c\ub418\uc5c8\uc2b5\ub2c8\ub2e4. +servertool.unregister=\n\tunregister [ -serverid <server id> | -applicationName <name> ] \n +servertool.unregister1=\uB4F1\uB85D\uB41C \uC11C\uBC84\uC758 \uB4F1\uB85D \uD574\uC81C +servertool.unregister2=\t\uC11C\uBC84\uC758 \uB4F1\uB85D\uC774 \uD574\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -servertool.locate=\n\tlocate [ -serverid <\uc11c\ubc84 ID> | -applicationName <\uc774\ub984> ] [ <-endpointType <Endpoint \uc885\ub958> ] \n -servertool.locate1=\ub4f1\ub85d\ub41c \uc11c\ubc84\uc5d0 \ub300\ud55c \ud2b9\uc815 \uc885\ub958\uc758 \ud3ec\ud2b8\ub97c \ucc3e\uc2b5\ub2c8\ub2e4 -servertool.locate2=\n\n\t\ud638\uc2a4\ud2b8 \uc774\ub984 {0} \n\n\t\t\ud3ec\ud2b8\t\t\ud3ec\ud2b8 \uc885\ub958\t\tORB ID\n\t\t----\t\t---------\t\t------\n -servertool.locateorb=\n\tlocateperorb [ -serverid <\uc11c\ubc84 ID> | -applicationName <\uc774\ub984> ] [ -orbid <ORB \uc774\ub984> ]\n -servertool.locateorb1=\ub4f1\ub85d\ub41c \uc11c\ubc84\uc758 \ud2b9\uc815 ORB\uc5d0 \ub300\ud55c \ud3ec\ud2b8\ub97c \ucc3e\uc2b5\ub2c8\ub2e4 -servertool.locateorb2=\n\n\t\ud638\uc2a4\ud2b8 \uc774\ub984 {0} \n\n\t\t\ud3ec\ud2b8\t\t\ud3ec\ud2b8 \uc885\ub958\t\tORB ID\n\t\t----\t\t--------\t\t------\n -servertool.getserverid=\n\tgetserverid [ -applicationName <\uc774\ub984> ] \n -servertool.getserverid1=\uc9c0\uc815\ud55c \uc751\uc6a9\ud504\ub85c\uadf8\ub7a8 \uc774\ub984\uc5d0 \ub300\ud55c \uc11c\ubc84 ID\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4. -servertool.getserverid2=\t\uc751\uc6a9\ud504\ub85c\uadf8\ub7a8 \uc774\ub984 {0}\uc5d0 \ub300\ud55c \uc11c\ubc84 ID\ub294 {1}\uc785\ub2c8\ub2e4. +servertool.locate=\n\tlocate [ -serverid <server id> | -applicationName <name> ] [ <-endpointType <endpointType> ] \n +servertool.locate1=\uB4F1\uB85D\uB41C \uC11C\uBC84\uC5D0 \uB300\uD55C \uD2B9\uC815 \uC720\uD615\uC758 \uD3EC\uD2B8 \uCC3E\uAE30 +servertool.locate2=\n\n\t\uD638\uC2A4\uD2B8 \uC774\uB984 {0} \n\n\t\t\uD3EC\uD2B8\t\t\uD3EC\uD2B8 \uC720\uD615\t\tORB ID\n\t\t----\t\t---------\t\t------\n +servertool.locateorb=\n\tlocateperorb [ -serverid <server id> | -applicationName <name> ] [ -orbid <ORB name> ]\n +servertool.locateorb1=\uB4F1\uB85D\uB41C \uC11C\uBC84\uC5D0 \uB300\uD55C \uD2B9\uC815 ORB\uC758 \uD3EC\uD2B8 \uCC3E\uAE30 +servertool.locateorb2=\n\n\t\uD638\uC2A4\uD2B8 \uC774\uB984 {0} \n\n\t\t\uD3EC\uD2B8\t\tPortType\t\tORB ID\n\t\t----\t\t--------\t\t------\n +servertool.getserverid=\n\tgetserverid [ -applicationName <name> ] \n +servertool.getserverid1=applicationName\uC5D0 \uB300\uD55C \uC11C\uBC84 ID \uBC18\uD658 +servertool.getserverid2=\tapplicationName {0}\uC5D0 \uB300\uD55C \uC11C\uBC84 ID\uB294 {1}\uC785\uB2C8\uB2E4. -servertool.list=\n\t\ubaa9\ub85d\n -servertool.list1=\ub4f1\ub85d\ub41c \uc11c\ubc84\ub97c \ubaa8\ub450 \ub098\uc5f4\ud569\ub2c8\ub2e4. -servertool.list2=\n\t\uc11c\ubc84 ID\t\uc11c\ubc84 \ud074\ub798\uc2a4 \uc774\ub984\t\t\uc11c\ubc84 \uc751\uc6a9 \ud504\ub85c\uadf8\ub7a8\n\t---------\t-----------------\t\t------------------\n +servertool.list=\n\t\uBAA9\uB85D\n +servertool.list1=\uB4F1\uB85D\uB41C \uC11C\uBC84 \uBAA8\uB450 \uB098\uC5F4 +servertool.list2=\n\t\uC11C\uBC84 ID\t\uC11C\uBC84 \uD074\uB798\uC2A4 \uC774\uB984\t\t\uC11C\uBC84 \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\n\t---------\t-----------------\t\t------------------\n servertool.listactive=\n\tlistactive -servertool.listactive1=\ud604\uc7ac\uc758 \ud65c\uc131 \uc11c\ubc84\ub97c \ub098\uc5f4\ud569\ub2c8\ub2e4. +servertool.listactive1=\uD604\uC7AC \uD65C\uC131 \uC11C\uBC84 \uB098\uC5F4 servertool.listappnames=\tlistappnames\n -servertool.listappnames1=\ud604\uc7ac \uc815\uc758\ub41c \uc751\uc6a9\ud504\ub85c\uadf8\ub7a8 \uc774\ub984\uc744 \ub098\uc5f4\ud569\ub2c8\ub2e4. -servertool.listappnames2=\ud604\uc7ac \uc815\uc758\ub41c \uc11c\ubc84 \uc751\uc6a9\ud504\ub85c\uadf8\ub7a8 \uc774\ub984: +servertool.listappnames1=\uD604\uC7AC \uC815\uC758\uB41C applicationNames \uB098\uC5F4 +servertool.listappnames2=\uD604\uC7AC \uC815\uC758\uB41C \uC11C\uBC84 applicationNames: -servertool.shutdown=\n\tshutdown [ -serverid <\uc11c\ubc84 ID> | -applicationName <\uc774\ub984> ]\n -servertool.shutdown1=\ub4f1\ub85d\ub41c \uc11c\ubc84\ub97c \uc885\ub8cc\ud569\ub2c8\ub2e4. -servertool.shutdown2=\t\uc11c\ubc84\uac00 \uc131\uacf5\uc801\uc73c\ub85c \uc885\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4. -servertool.startserver=\n\tstartup [ -serverid <\uc11c\ubc84 ID> | -applicationName <\uc774\ub984> ]\n -servertool.startserver1=\ub4f1\ub85d\ub41c \uc11c\ubc84\ub97c \uc2dc\uc791\ud569\ub2c8\ub2e4. -servertool.startserver2=\t\uc11c\ubc84\uac00 \uc131\uacf5\uc801\uc73c\ub85c \uc2dc\uc791\ub418\uc5c8\uc2b5\ub2c8\ub2e4. +servertool.shutdown=\n\tshutdown [ -serverid <server id> | -applicationName <name> ]\n +servertool.shutdown1=\uB4F1\uB85D\uB41C \uC11C\uBC84 \uC885\uB8CC +servertool.shutdown2=\t\uC11C\uBC84\uAC00 \uC131\uACF5\uC801\uC73C\uB85C \uC885\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. +servertool.startserver=\n\tstartup [ -serverid <server id> | -applicationName <name> ]\n +servertool.startserver1=\uB4F1\uB85D\uB41C \uC11C\uBC84 \uC2DC\uC791 +servertool.startserver2=\t\uC11C\uBC84\uAC00 \uC131\uACF5\uC801\uC73C\uB85C \uC2DC\uC791\uB418\uC5C8\uC2B5\uB2C8\uB2E4. servertool.quit=\n\tquit\n -servertool.quit1=\uc774 \ub3c4\uad6c\ub97c \uc885\ub8cc\ud569\ub2c8\ub2e4. +servertool.quit1=\uC774 \uD234 \uC885\uB8CC -servertool.help=\thelp\n\t\ub610\ub294\n\thelp <\uba85\ub839\uc5b4 \uc774\ub984>\n -servertool.help1=\ub3c4\uc6c0\ub9d0\uc744 \ud45c\uc2dc\ud569\ub2c8\ub2e4. +servertool.help=\thelp\n\tOR\n\thelp <command name>\n +servertool.help1=\uB3C4\uC6C0\uB9D0 \uD45C\uC2DC -servertool.orbidmap=\tUsage:orblist [ -serverid <\uc11c\ubc84 ID> | -applicationName <\uc774\ub984> ]\n -servertool.orbidmap1=ORB \uc774\ub984\uacfc \ud574\ub2f9 \ub9e4\ud551\uc744 \ub098\uc5f4\ud569\ub2c8\ub2e4 -servertool.orbidmap2=\n\tORB ID\t\tORB \uc774\ub984\n\t------\t\t--------\n -pnameserv.success=\uc9c0\uc18d \uc774\ub984 \uc11c\ubc84\uac00 \uc131\uacf5\uc801\uc73c\ub85c \uc2dc\uc791\ub418\uc5c8\uc2b5\ub2c8\ub2e4 +servertool.orbidmap=\t\uC0AC\uC6A9\uBC95: orblist [ -serverid <server id> | -applicationName <name> ]\n +servertool.orbidmap1=ORB \uC774\uB984\uACFC \uD574\uB2F9 \uB9E4\uD551 \uB098\uC5F4 +servertool.orbidmap2=\n\tORB ID\t\tORB \uC774\uB984\n\t------\t\t--------\n +pnameserv.success=\uC9C0\uC18D NameServer\uAC00 \uC131\uACF5\uC801\uC73C\uB85C \uC2DC\uC791\uB428 -bootstrap.usage=\uc0ac\uc6a9\ubc95: {0} <\uc635\uc158> \n\n<\uc635\uc158>\uc5d0 \ub4e4\uc5b4\uac00\ub294 \ud56d\ubaa9\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.\n -ORBInitialPort \ucd08\uae30 \ud3ec\ud2b8(\ud544\uc218)\n -InitialServicesFile \ucd08\uae30 \uc11c\ube44\uc2a4 \ubaa9\ub85d\uc774 \ub4e4\uc5b4 \uc788\ub294 \ud30c\uc77c(\ud544\uc218)\n -bootstrap.success=\ud3ec\ud2b8\ub97c {0}(\uc73c)\ub85c \uc124\uc815\ud558\uace0 {1}\uc5d0\uc11c \uc11c\ube44\uc2a4\ub97c \uc77d\uc2b5\ub2c8\ub2e4 -bootstrap.filenotreadable={0} \ud30c\uc77c\uc744 \uc77d\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4 -bootstrap.filenotfound={0} \ud30c\uc77c\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4 -bootstrap.exception={0} \ud30c\uc77c\uc5d0 \ub4f1\ub85d \uc815\ubcf4\ub97c \uc800\uc7a5\ud558\ub294 \ub3d9\uc548 \uc608\uc678\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4.\uc608\uc678 {1} +bootstrap.usage=\uC0AC\uC6A9\uBC95: {0} <options> \n\n\uC5EC\uAE30\uC11C <options>\uB294 \uB2E4\uC74C\uACFC \uAC19\uC2B5\uB2C8\uB2E4.\n -ORBInitialPort \uCD08\uAE30 \uD3EC\uD2B8\uC785\uB2C8\uB2E4(\uD544\uC218).\n -InitialServicesFile \uCD08\uAE30 \uC11C\uBE44\uC2A4 \uBAA9\uB85D\uC774 \uB4E4\uC5B4 \uC788\uB294 \uD30C\uC77C\uC785\uB2C8\uB2E4(\uD544\uC218).\n +bootstrap.success=\uD3EC\uD2B8\uB97C {0}(\uC73C)\uB85C \uC124\uC815\uD558\uACE0 {1}\uC5D0\uC11C \uC11C\uBE44\uC2A4\uB97C \uC77D\uB294 \uC911 +bootstrap.filenotreadable={0} \uD30C\uC77C\uC744 \uC77D\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +bootstrap.filenotfound={0} \uD30C\uC77C\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +bootstrap.exception={0} \uD30C\uC77C\uC5D0 \uC18D\uC131\uC744 \uC800\uC7A5\uD558\uB294 \uC911 \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {1} \uC608\uC678 \uC0AC\uD56D -tnameserv.exception={0} \ud3ec\ud2b8\uc5d0\uc11c \ubd80\ud2b8\uc2a4\ud2b8\ub7a9 \uc11c\ube44\uc2a4\ub97c \uc2dc\uc791\ud558\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4 -tnameserv.usage=ORBInitialPort <\ud3ec\ud2b8 \ubc88\ud638> \uba85\ub839\uc904 \uc778\uc790\ub85c \ub2e4\ub978 \ud3ec\ud2b8 \uc0ac\uc6a9\uc744 \uc2dc\ub3c4\ud569\ub2c8\ub2e4 -tnameserv.invalidhostoption=ORBInitialHost\ub294 NameService\uc758 \uc720\ud6a8\ud55c \uc635\uc158\uc774 \uc544\ub2d9\ub2c8\ub2e4. -tnameserv.orbinitialport0=ORBInitialPort 0\uc740 NameService\uc758 \uc720\ud6a8\ud55c \uc635\uc158\uc774 \uc544\ub2d9\ub2c8\ub2e4 -tnameserv.hs1=\ucd08\uae30 \uba85\ub839 \ucee8\ud14d\uc2a4\ud2b8:\n{0} -tnameserv.hs2=TransientNameServer:\ucd08\uae30 \uac1d\uccb4 \ucc38\uc870\ub97c \uc704\ud55c \ud3ec\ud2b8 \uc124\uc815: {0} {0} -tnameserv.hs3=\uc900\ube44\ub418\uc5c8\uc2b5\ub2c8\ub2e4. +tnameserv.exception={0} \uD3EC\uD2B8\uC5D0\uC11C \uBD80\uD2B8\uC2A4\uD2B8\uB7A9 \uC11C\uBE44\uC2A4\uB97C \uC2DC\uC791\uD558\uB294 \uC911 \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. +tnameserv.usage=-ORBInitialPort <portno> \uBA85\uB839\uD589 \uC778\uC218\uB85C \uB2E4\uB978 \uD3EC\uD2B8 \uC0AC\uC6A9 \uC2DC\uB3C4 +tnameserv.invalidhostoption=ORBInitialHost\uB294 NameService\uC5D0 \uB300\uD574 \uC801\uD569\uD55C \uC635\uC158\uC774 \uC544\uB2D9\uB2C8\uB2E4. +tnameserv.orbinitialport0=ORBInitialPort 0\uC740 NameService\uC5D0 \uB300\uD574 \uC801\uD569\uD55C \uC635\uC158\uC774 \uC544\uB2D9\uB2C8\uB2E4. +tnameserv.hs1=\uCD08\uAE30 \uC774\uB984 \uC9C0\uC815 \uCEE8\uD14D\uC2A4\uD2B8:\n{0} +tnameserv.hs2=TransientNameServer: \uCD08\uAE30 \uAC1D\uCCB4 \uCC38\uC870\uB97C \uC704\uD55C \uD3EC\uD2B8\uB97C {0}(\uC73C)\uB85C \uC124\uC815\uD558\uB294 \uC911 +tnameserv.hs3=\uC900\uBE44\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -orbd.commfailure=\nORBinitialPort\uac00 \uc774\ubbf8 \uc0ac\uc6a9 \uc911\uc774\ubbc0\ub85c ORBD\ub97c \uc2dc\uc791\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. -orbd.internalexception=\n\ub0b4\ubd80 \uc624\ub958\ub85c \uc778\ud574 ORBD\ub97c \uc2dc\uc791\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.\n\uac00\ub2a5\ud55c \uc774\uc720: \n1. \uc9c0\uc815\ud55c ORBInitialPort \ub610\ub294 ORBActivationPort\uac00 \uc774\ubbf8 \uc0ac\uc6a9 \uc911\uc785\ub2c8\ub2e4.\n2. orb.db\uc744 \uc791\uc131\ud560 \uc4f0\uae30 \uad8c\ud55c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. +orbd.commfailure=\nORBinitialPort\uAC00 \uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC774\uC5B4\uC11C ORBD \uC2DC\uC791\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. +orbd.internalexception=\n\uB0B4\uBD80 \uC608\uC678 \uC0AC\uD56D\uC73C\uB85C \uC778\uD574 ORBD \uC2DC\uC791\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. \n\uAC00\uB2A5\uD55C \uC6D0\uC778: \n1. \uC9C0\uC815\uB41C ORBInitialPort \uB610\uB294 ORBActivationPort\uAC00 \uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC785\uB2C8\uB2E4.\n2. orb.db\uB97C \uC4F8 \uC218 \uC788\uB294 \uC4F0\uAE30 \uAD8C\uD55C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_pt_BR.properties Thu Feb 10 16:24:34 2011 -0800 +++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_pt_BR.properties Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ - -# Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. +# +# Copyright (c) 2000, 2005, 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 @@ -23,85 +23,85 @@ # questions. # -orbd.usage=Uso: {0} <options> \n\nem que <options> inclui:\n -port porta de ativa\u00e7\u00e3o na qual o ORBD deve ser iniciado, padr\u00e3o 1049 (opcional)\n -defaultdb diret\u00f3rio dos arquivos ORBD, padr\u00e3o "./orb.db" (opcional)\n -serverid id do servidor para ORBD, padr\u00e3o 1 (opcional)\n -ORBInitialPort porta inicial (necess\u00e1rio)\n -ORBInitialHost nome de host inicial (necess\u00e1rio)\n +orbd.usage=Uso: {0} <options> \n\nem que <options> inclui:\n -port porta de ativa\u00E7\u00E3o na qual o ORBD deve ser iniciado, default 1049 (opcional)\n -defaultdb diret\u00F3rio dos arquivos ORBD, default "./orb.db" (opcional)\n -serverid id do servidor para ORBD, default 1 (opcional)\n -ORBInitialPort porta inicial (necess\u00E1rio)\n -ORBInitialHost nome de host inicial (necess\u00E1rio)\n -servertool.usage=Uso: {0} <options> \n\nem que <options> inclui:\n -ORBInitialPort porta inicial (necess\u00e1rio)\n -ORBInitialHost nome de host inicial (necess\u00e1rio)\n -servertool.banner=\n\nBem-vindo a ferramenta de servidor IDL Java \ninsira os comandos no prompt \n -servertool.shorthelp=\n\n\tComandos dispon\u00edveis: \n\t------------------- \n -servertool.baddef=Servidor mal definido: {0} -servertool.nosuchserver=\tservidor n\u00e3o encontrado. -servertool.helddown=\to servidor est\u00e1 em espera. -servertool.nosuchorb=\tORB inv\u00e1lido. -servertool.serverup=\to servidor j\u00e1 est\u00e1 ativo. +servertool.usage=Uso: {0} <options> \n\nem que <options> inclui:\n -ORBInitialPort porta inicial (necess\u00E1rio)\n -ORBInitialHost nome de host inicial (necess\u00E1rio)\n +servertool.banner=\n\nBem-vindo \u00E0 Ferramenta de Servidor IDL Java \ninsira os comandos no prompt \n +servertool.shorthelp=\n\n\tComandos Dispon\u00EDveis: \n\t------------------- \n +servertool.baddef=Defini\u00E7\u00E3o do servidor inv\u00E1lida: {0} +servertool.nosuchserver=\tservidor n\u00E3o encontrado. +servertool.helddown=\to servidor est\u00E1 em espera. +servertool.nosuchorb=\tORB inv\u00E1lido. +servertool.serverup=\to servidor j\u00E1 est\u00E1 ativo. servertool.appname=\tapplicationName - {0} servertool.name=\tname - {0} servertool.classpath=\tclasspath - {0} servertool.args=\targs - {0} servertool.vmargs=\tvmargs - {0} servertool.serverid=\tserver id - {0} -servertool.servernotrunning=\to servidor n\u00e3o est\u00e1 em execu\u00e7\u00e3o. +servertool.servernotrunning=\to servidor n\u00E3o est\u00E1 em execu\u00E7\u00E3o. servertool.register=\n\n\tregister -server <server class name> \n\t -applicationName <alternate server name> \n\t -classpath <classpath to server> \n\t -args <args to server> \n\t -vmargs <args to server Java VM>\n -servertool.register1=registra um servidor ativ\u00e1vel +servertool.register1=registra um servidor ativ\u00E1vel servertool.register2=\tservidor registrado (serverid = {0}). servertool.register3=\tservidor registrado, mas em espera (serverid = {0}). -servertool.register4=\tservidor j\u00e1 registrado (serverid = {0}). +servertool.register4=\tservidor j\u00E1 registrado (serverid = {0}). servertool.unregister=\n\tunregister [ -serverid <server id> | -applicationName <name> ] \n servertool.unregister1=cancela o registro de um servidor registrado -servertool.unregister2=\tservidor n\u00e3o registrado. +servertool.unregister2=\tservidor n\u00E3o registrado. servertool.locate=\n\tlocate [ -serverid <server id> | -applicationName <name> ] [ <-endpointType <endpointType> ] \n -servertool.locate1=localiza portas de tipo espec\u00edfico para um servidor registrado -servertool.locate2=\n\n\tNome do host {0} \n\n\t\tPorta\t\tTipo de porta\t\tId do ORB\n\t\t----\t\t---------\t\t------\n +servertool.locate1=localiza portas de tipo espec\u00EDfico para um servidor registrado +servertool.locate2=\n\n\tNome do Host {0} \n\n\t\tPorta\t\tTipo de Porta\t\tId do ORB\n\t\t----\t\t---------\t\t------\n servertool.locateorb=\n\tlocateperorb [ -serverid <server id> | -applicationName <name> ] [ -orbid <ORB name> ]\n -servertool.locateorb1=localiza portas para um orb espec\u00edfico de servidor registrado -servertool.locateorb2=\n\n\tNome do host {0} \n\n\t\tPorta\t\tTipo de porta\t\tId do ORB\n\t\t----\t\t--------\t\t------\n +servertool.locateorb1=localiza portas para um orb espec\u00EDfico de servidor registrado +servertool.locateorb2=\n\n\tNome do Host {0} \n\n\t\tPorta\t\tTipo de Porta\t\tId do ORB\n\t\t----\t\t--------\t\t------\n servertool.getserverid=\n\tgetserverid [ -applicationName <name> ] \n servertool.getserverid1=retorna o id do servidor de um applicationName -servertool.getserverid2=\tID do servidor de applicationName {0} \u00e9 {1} +servertool.getserverid2=\tID do Servidor de applicationName {0} \u00E9 {1} servertool.list=\n\tlist\n servertool.list1=lista todos os servidores registrados -servertool.list2=\n\tId do servidor\tNome de classe do servidor\t\tAplicativo do servidor\n\t---------\t-----------------\t\t------------------\n +servertool.list2=\n\tId do Servidor\tNome de Classe do Servidor\t\tAplica\u00E7\u00E3o do Servidor\n\t---------\t-----------------\t\t------------------\n servertool.listactive=\n\tlistactive servertool.listactive1=lista os servidores atualmente ativos servertool.listappnames=\tlistappnames\n servertool.listappnames1=lista os applicationNames atualmente definidos -servertool.listappnames2=applicationNames do servidor atualmente definidos: +servertool.listappnames2=applicationNames do servidor definidos atualmente: servertool.shutdown=\n\tshutdown [ -serverid <server id> | -applicationName <name> ]\n -servertool.shutdown1=desliga um servidor registrado -servertool.shutdown2=\tservidor desligado com \u00eaxito. +servertool.shutdown1=faz shutdown de um servidor registrado +servertool.shutdown2=\tshutdown do servidor bem-sucedido. servertool.startserver=\n\tstartup [ -serverid <server id> | -applicationName <name> ]\n servertool.startserver1=inicia um servidor registrado -servertool.startserver2=\tservidor iniciado com \u00eaxito. +servertool.startserver2=\tservidor iniciado com \u00EAxito. servertool.quit=\n\tquit\n servertool.quit1=sai desta ferramenta servertool.help=\thelp\n\tOR\n\thelp <command name>\n -servertool.help1=obt\u00e9m ajuda +servertool.help1=obt\u00E9m ajuda servertool.orbidmap=\tUso: orblist [ -serverid <server id> | -applicationName <name> ]\n servertool.orbidmap1=lista de nomes de orb e seus mapeamentos servertool.orbidmap2=\n\tId de ORB\t\tNome de ORB\n\t------\t\t--------\n -pnameserv.success=NameServer persistente iniciado com \u00eaxito +pnameserv.success=NameServer Persistente Iniciado com \u00CAxito -bootstrap.usage=Uso: {0} <options> \n\nem que <options> inclui:\n -ORBInitialPort porta inicial (necess\u00e1rio)\n -InitialServicesFile arquivo que cont\u00e9m a lista de servi\u00e7os iniciais (necess\u00e1rio)\n -bootstrap.success=configurando porta para {0} e lendo servi\u00e7os de {1} -bootstrap.filenotreadable=o arquivo {0} n\u00e3o \u00e9 leg\u00edvel -bootstrap.filenotfound=arquivo {0} n\u00e3o encontrado -bootstrap.exception=exce\u00e7\u00e3o capturada ao salvar as propriedades no arquivo {0}: Exce\u00e7\u00e3o {1} +bootstrap.usage=Uso: {0} <options> \n\nem que <options> inclui:\n -ORBInitialPort porta inicial (necess\u00E1rio)\n -InitialServicesFile arquivo que cont\u00E9m a lista de servi\u00E7os iniciais (necess\u00E1rio)\n +bootstrap.success=definindo porta para {0} e lendo servi\u00E7os de {1} +bootstrap.filenotreadable=o arquivo {0} n\u00E3o \u00E9 leg\u00EDvel +bootstrap.filenotfound=arquivo {0} n\u00E3o encontrado +bootstrap.exception=exce\u00E7\u00E3o capturada ao salvar as propriedades no Arquivo {0}: exce\u00E7\u00E3o {1} -tnameserv.exception=uma exce\u00e7\u00e3o capturada ao iniciar o servi\u00e7o de inicializa\u00e7\u00e3o na porta {0} -tnameserv.usage=tente usar outra porta com os argumentos de linha de comando -ORBInitialPort <portno> -tnameserv.invalidhostoption=ORBInitialHost n\u00e3o \u00e9 uma op\u00e7\u00e3o v\u00e1lida para NameService -tnameserv.orbinitialport0=ORBInitialPort 0 n\u00e3o \u00e9 uma op\u00e7\u00e3o v\u00e1lida para NameService -tnameserv.hs1=Contexto de nomea\u00e7\u00e3o inicial:\n{0} -tnameserv.hs2=TransientNameServer: definindo porta para as refer\u00eancias de objeto iniciais: {0} +tnameserv.exception=uma exce\u00E7\u00E3o capturada ao iniciar o servi\u00E7o de inicializa\u00E7\u00E3o na porta {0} +tnameserv.usage=tente usar outra porta com os argumentos de linha de comandos -ORBInitialPort <portno> +tnameserv.invalidhostoption=ORBInitialHost n\u00E3o \u00E9 uma op\u00E7\u00E3o v\u00E1lida para NameService +tnameserv.orbinitialport0=ORBInitialPort 0 n\u00E3o \u00E9 uma op\u00E7\u00E3o v\u00E1lida para NameService +tnameserv.hs1=Contexto de Nomea\u00E7\u00E3o Inicial:\n{0} +tnameserv.hs2=TransientNameServer: definindo porta para as refer\u00EAncias de objeto iniciais: {0} tnameserv.hs3=Pronto. -orbd.commfailure=\nFalha ao iniciar ORBD porque ORBinitialPort j\u00e1 est\u00e1 em uso -orbd.internalexception=\nFalha ao iniciar ORBD devido a uma exce\u00e7\u00e3o interna. \nPoss\u00edveis causas: \n1. ORBInitialPort especificado ou ORBActivationPort j\u00e1 em uso \n2. Sem permiss\u00e3o de grava\u00e7\u00e3o para gravar orb.db +orbd.commfailure=\nFalha ao iniciar ORBD porque ORBinitialPort j\u00E1 est\u00E1 em uso +orbd.internalexception=\nFalha ao iniciar ORBD devido a uma exce\u00E7\u00E3o interna. \nPoss\u00EDveis causas: \n1. ORBInitialPort especificado ou ORBActivationPort j\u00E1 em uso \n2. Sem permiss\u00E3o de grava\u00E7\u00E3o para gravar orb.db
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_sv.properties Thu Feb 10 16:24:34 2011 -0800 +++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_sv.properties Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2000, 2005, 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 @@ -23,85 +23,85 @@ # questions. # -orbd.usage=G\u00f6r s\u00e5 h\u00e4r: {0} <alternativ> \n\nd\u00e4r <alternativ> omfattar:\n -port Aktiveringsport d\u00e4r ORBD ska startas, standard 1049 (valfritt)\n -defaultdb Katalog f\u00f6r ORBD-filer, standard "./orb.db" (valfritt)\n -serverid Server-ID f\u00f6r ORBD, standard 1 (valfritt)\n -ORBInitialPort Initialport (obligatoriskt)\n -ORBInitialHost Initialt v\u00e4rdnamn (obligatoriskt)\n +orbd.usage=Syntax: {0} <alternativ> \n\nd\u00E4r <alternativ> inkluderar:\n -port Aktiveringsport d\u00E4r ORBD ska startas, standard 1049 (valfritt)\n -defaultdb Katalog f\u00F6r ORBD-filer, standard "./orb.db" (valfritt)\n -serverid Server-id f\u00F6r ORBD, standard 1 (valfritt)\n -ORBInitialPort Ursprunglig port (obligatoriskt)\n -ORBInitialHost Ursprungligt v\u00E4rdnamn (obligatoriskt)\n -servertool.usage=G\u00f6r s\u00e5 h\u00e4r: {0} <alternativ> \n\nd\u00e4r <alternativ> omfattar:\n -ORBInitialPort Initialport (obligatoriskt)\n -ORBInitialHost Initialt v\u00e4rdnamn (obligatoriskt)\n -servertool.banner=\n\nV\u00e4lkommen till Java IDL Server Tool \nskriv kommandona vid prompten \n -servertool.shorthelp=\n\n\tTillg\u00e4ngliga kommandon: \n\t------------------- \n -servertool.baddef=D\u00e5lig serverdefinition: {0} -servertool.nosuchserver=\tn\u00e5gon s\u00e5dan server kan inte hittas. -servertool.helddown=\tserver h\u00e5lls nere. +servertool.usage=Syntax: {0} <alternativ> \n\nd\u00E4r <alternativ> inkluderar:\n -ORBInitialPort Ursprunglig port (obligatoriskt)\n -ORBInitialHost Ursprungligt v\u00E4rdnamn (obligatoriskt)\n +servertool.banner=\n\nV\u00E4lkommen till Java IDL Server Tool \nange kommandona vid kommandoraden \n +servertool.shorthelp=\n\n\tTillg\u00E4ngliga kommandon: \n\t------------------- \n +servertool.baddef=Felaktig serverdefinition: {0} +servertool.nosuchserver=\tn\u00E5gon s\u00E5dan server kan inte hittas. +servertool.helddown=\tservern h\u00E5lls avst\u00E4ngd. servertool.nosuchorb=\togiltig ORB. -servertool.serverup=\tserver \u00e4r redan uppe. +servertool.serverup=\tserver \u00E4r redan startad servertool.appname=\tapplicationName - {0} servertool.name=\tnamn - {0} servertool.classpath=\tclasspath - {0} servertool.args=\targs - {0} servertool.vmargs=\tvmargs - {0} servertool.serverid=\tserver id - {0} -servertool.servernotrunning=\tserver k\u00f6rs inte. -servertool.register=\n\n\tregister -server <serverklassnamn> \n\t -applicationName <alternativt servernamn> \n\t -classpath <klass\u00f6kv\u00e4g till server> \n\t -args <argument till server> \n\t -vmargs <argument till server-JVM>\n +servertool.servernotrunning=\tserver k\u00F6rs inte. +servertool.register=\n\n\tregister -server <serverklassnamn> \n\t -applicationName <alternativt servernamn> \n\t -classpath <klass\u00F6kv\u00E4g till server> \n\t -args <argument till server> \n\t -vmargs <argument till server-JVM>\n servertool.register1=registrera en aktiverbar server servertool.register2=\tserver registrerad (serverid = {0}). -servertool.register3=\tserver registrerad men h\u00e5lls nere (serverid = {0}). +servertool.register3=\tserver registrerad men h\u00E5lls avst\u00E4ngd(serverid = {0}). servertool.register4=\tserver har redan registrerats (serverid = {0}). servertool.unregister=\n\tunregister [ -serverid <server-id> | -applicationName <namn> ] \n servertool.unregister1=avregistrera en registrerad server -servertool.unregister2=\tserver oregistrerad. +servertool.unregister2=\tserver avregistrerad. -servertool.locate=\n\tlocate [ -serverid <server-id> | -applicationName <namn> ] [ <-endpointType <endpointtyp> ] \n -servertool.locate1=lokaliserar portar av en viss typ f\u00f6r en registrerad server -servertool.locate2=\n\n\tV\u00e4rdnamn {0} \n\n\t\tPort\t\tPorttyp\t\tORB-ID\n\t\t----\t\t---------\t\t------\n +servertool.locate=\n\tlocate [ -serverid <server-id> | -applicationName <namn> ] [ <-endpointType <slutpunktstyp> ] \n +servertool.locate1=hitta portar av en viss typ f\u00F6r en registrerad server +servertool.locate2=\n\n\tV\u00E4rdnamn {0} \n\n\t\tPort\t\tPorttyp\t\tORB-id\n\t\t----\t\t---------\t\t------\n servertool.locateorb=\n\tlocateperorb [ -serverid <server-id> | -applicationName <namn> ] [ -orbid <ORB-namn> ]\n -servertool.locateorb1=lokaliserar portar f\u00f6r en viss ORB f\u00f6r en registrerad server -servertool.locateorb2=\n\n\tV\u00e4rdnamn {0} \n\n\t\tPort\t\tPorttyp\t\tORB-ID\n\t\t----\t\t--------\t\t------\n +servertool.locateorb1=hitta portar f\u00F6r en viss ORB f\u00F6r en registrerad server +servertool.locateorb2=\n\n\tV\u00E4rdnamn {0} \n\n\t\tPort\t\tPorttyp\t\tORB-id\n\t\t----\t\t--------\t\t------\n servertool.getserverid=\n\tgetserverid [ -applicationName <namn> ] \n -servertool.getserverid1=returnerar server-id f\u00f6r ett applicationName -servertool.getserverid2=\tServer-ID f\u00f6r applicationName {0} \u00e4r {1} +servertool.getserverid1=returnerar server-id f\u00F6r ett applicationName +servertool.getserverid2=\tServer-id f\u00F6r applicationName {0} \u00E4r {1} servertool.list=\n\tlist_\n servertool.list1=listar alla registrerade servrar -servertool.list2=\n\tServer Id\tServer Class Name\t\tServer Application\n\t---------\t-----------------\t\t------------------\n +servertool.list2=\n\tServer-id\tServerklassnamn\t\tServerapplikation\n\t---------\t-----------------\t\t------------------\n servertool.listactive=\n\tlistactive -servertool.listactive1=listar alla f\u00f6r tillf\u00e4llet aktiva servrar +servertool.listactive1=listar alla f\u00F6r tillf\u00E4llet aktiva servrar servertool.listappnames=\tlistappnames\n -servertool.listappnames1=listar de applicationNames som f\u00f6r tillf\u00e4llet \u00e4r definierade -servertool.listappnames2=Aktuella definierade server-applicationNames: +servertool.listappnames1=listar de applicationNames som f\u00F6r tillf\u00E4llet \u00E4r definierade +servertool.listappnames2=Definierade applikationsnamn f\u00F6r servern: servertool.shutdown=\n\tshutdown [ -serverid <server-id> | -applicationName <namn> ]\n -servertool.shutdown1=st\u00e4nger en registrerad server -servertool.shutdown2=\tserver har st\u00e4ngts av. +servertool.shutdown1=st\u00E4nger av en registrerad server +servertool.shutdown2=\tserver har st\u00E4ngts av. servertool.startserver=\n\tstartup [ -serverid <server-id> | -applicationName <namn> ]\n servertool.startserver1=startar en registrerad server servertool.startserver2=\tserver har startats. servertool.quit=\n\tquit\n -servertool.quit1=avsluta det h\u00e4r verktyget +servertool.quit1=avsluta det h\u00E4r verktyget -servertool.help=\thelp\n\tOR\n\thelp <kommandonamn>\n -servertool.help1=get help +servertool.help=\thelp\n\tELLER\n\thelp <kommandonamn>\n +servertool.help1=f\u00E5 hj\u00E4lp -servertool.orbidmap=\tG\u00f6r s\u00e5 h\u00e4r: orblist [ -serverid <server-id> | -applicationName <namn> ]\n -servertool.orbidmap1=lista \u00f6ver ORB-namn och deras mappning -servertool.orbidmap2=\n\tORB-ID\t\tORB-namn\n\t------\t\t--------\n -pnameserv.success=Namnservern har startats utan problem +servertool.orbidmap=\tSyntax: orblist [ -serverid <server-id> | -applicationName <namn> ]\n +servertool.orbidmap1=lista \u00F6ver ORB-namn och deras mappning +servertool.orbidmap2=\n\tORB-id\t\tORB-namn\n\t------\t\t--------\n +pnameserv.success=Den best\u00E4ndiga namnservern har startats -bootstrap.usage=G\u00f6r s\u00e5 h\u00e4r: {0} <alternativ> \n\nd\u00e4r <alternativ> omfattar:\n -ORBInitialPort Initialport (obligatoriskt)\n -InitialServicesFile En fil som inneh\u00e5ller en lista \u00f6ver initiala tj\u00e4nster (obligatoriskt)\n -bootstrap.success=s\u00e4tter porten till {0} och l\u00e4ser tj\u00e4nster fr\u00e5n {1} -bootstrap.filenotreadable=filen {0} g\u00e5r inte att l\u00e4sa -bootstrap.filenotfound=filen {0} g\u00e5r inte att hitta -bootstrap.exception=p\u00e5tr\u00e4ffade undantag medan egenskaper sparades i filen {0}: Undantag {1} +bootstrap.usage=Syntax: {0} <alternativ> \n\nd\u00E4r <alternativ> inkluderar:\n -ORBInitialPort Ursprunglig port (obligatoriskt)\n -InitialServicesFile En fil som inneh\u00E5ller en lista \u00F6ver ursprungliga tj\u00E4nster (obligatoriskt)\n +bootstrap.success=st\u00E4ller in porten till {0} och l\u00E4ser tj\u00E4nster fr\u00E5n {1} +bootstrap.filenotreadable=filen {0} kan inte l\u00E4sas +bootstrap.filenotfound=filen {0} hittas inte +bootstrap.exception=p\u00E5tr\u00E4ffade undantag medan egenskaper sparades i filen {0}: Undantag {1} -tnameserv.exception=p\u00e5tr\u00e4ffade ett undantagsfel n\u00e4r starttj\u00e4nsten startades vid porten {0} -tnameserv.usage=f\u00f6rs\u00f6k att anv\u00e4nda en annan port med kommandoradsargument -ORBInitialPort <portnr> -tnameserv.invalidhostoption=ORBInitialHost \u00e4r inte ett giltigt alternativ f\u00f6r NameService -tnameserv.orbinitialport0=ORBInitialPort 0 \u00e4r inte ett giltigt alternativ f\u00f6r NameService -tnameserv.hs1=Initial namngivningskontext:\n{0} -tnameserv.hs2=TransientNameServer: anger port f\u00f6r initiala objektreferenser till: {0} -tnameserv.hs3=Klar. +tnameserv.exception=p\u00E5tr\u00E4ffade ett undantag n\u00E4r starttj\u00E4nsten startades vid porten {0} +tnameserv.usage=f\u00F6rs\u00F6k att anv\u00E4nda en annan port med kommandoradsargument -ORBInitialPort <portnr> +tnameserv.invalidhostoption=ORBInitialHost \u00E4r inte ett giltigt alternativ f\u00F6r NameService +tnameserv.orbinitialport0=ORBInitialPort 0 \u00E4r inte ett giltigt alternativ f\u00F6r NameService +tnameserv.hs1=Ursprunglig namngivningskontext:\n{0} +tnameserv.hs2=TransientNameServer: st\u00E4ller in port f\u00F6r ursprungliga objektreferenser till: {0} +tnameserv.hs3=Redo. -orbd.commfailure=\nMisslyckades starta ORBD f\u00f6r att ORBinitialport anv\u00e4ndas redan -orbd.internalexception=\nMisslyckades starta ORBD p\u00e5 grund av internt undantag. \nM\u00f6jliga Orsakar: \n1. Anget ORBInitialPort or ORBAktiveringsPort anv\u00e4ndas redan \n2. No Write Tillst\u00e5nd att skriva orb.db +orbd.commfailure=\nKunde inte starta ORBD eftersom ORBinitialport redan anv\u00E4nds +orbd.internalexception=\nKunde inte starta ORBD p\u00E5 grund av internt undantag. \nM\u00F6jliga orsaker: \n1. Angivet ORBInitialPort eller ORBActivationPort anv\u00E4ndas redan \n2. Ingen beh\u00F6righet att skriva till orb.db
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_CN.properties Thu Feb 10 16:24:34 2011 -0800 +++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_CN.properties Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2000, 2005, 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 @@ -23,85 +23,85 @@ # questions. # -orbd.usage=\u7528\u6cd5\uff1a{0} <\u9009\u9879> \n\n\u5176\u4e2d\uff0c<\u9009\u9879> \u5305\u62ec\uff1a\n -port \u6fc0\u6d3b\u542f\u52a8 ORBD \u7684\u7aef\u53e3\uff0c\u7f3a\u7701\u503c\u4e3a 1049 (\u53ef\u9009)\n -defaultdb ORBD \u6587\u4ef6\u7684\u76ee\u5f55\uff0c\u7f3a\u7701\u503c\u4e3a "./orb.db" (\u53ef\u9009)\n -serverid ORBD \u7684\u670d\u52a1\u5668\u6807\u8bc6\u7b26\uff0c\u7f3a\u7701\u503c\u4e3a 1 (\u53ef\u9009)\n -ORBInitialPort \u521d\u59cb\u7aef\u53e3\uff08\u5fc5\u9700\uff09\n -ORBInitialHost \u521d\u59cb\u4e3b\u673a\u540d\u79f0\uff08\u5fc5\u9700\uff09\n +orbd.usage=\u7528\u6CD5: {0} <\u9009\u9879> \n\n\u5176\u4E2D, <\u9009\u9879> \u5305\u62EC: \n -port \u6FC0\u6D3B\u542F\u52A8 ORBD \u7684\u7AEF\u53E3, \u9ED8\u8BA4\u503C\u4E3A 1049 (\u53EF\u9009)\n -defaultdb ORBD \u6587\u4EF6\u7684\u76EE\u5F55, \u9ED8\u8BA4\u503C\u4E3A "./orb.db" (\u53EF\u9009)\n -serverid ORBD \u7684\u670D\u52A1\u5668 ID, \u9ED8\u8BA4\u503C\u4E3A 1 (\u53EF\u9009)\n -ORBInitialPort \u521D\u59CB\u7AEF\u53E3 (\u5FC5\u9700)\n -ORBInitialHost \u521D\u59CB HostName (\u5FC5\u9700)\n -servertool.usage=\u7528\u6cd5\uff1a {0} <\u9009\u9879> \n\n\u5176\u4e2d\uff0c<\u9009\u9879> \u5305\u62ec\uff1a\n -ORBInitialPort \u521d\u59cb\u7aef\u53e3\uff08\u5fc5\u9700\uff09\n -ORBInitialHost \u521d\u59cb\u4e3b\u673a\u540d\u79f0\uff08\u5fc5\u9700\uff09\n -servertool.banner=\n\n\u6b22\u8fce\u4f7f\u7528 Java IDL \u670d\u52a1\u5668\u5de5\u5177 \n\u8bf7\u5728\u63d0\u793a\u5904\u8f93\u5165\u547d\u4ee4 \n -servertool.shorthelp=\n\n\t\u53ef\u7528\u547d\u4ee4\uff1a\n\t------------------- \n -servertool.baddef=\u9519\u8bef\u7684\u670d\u52a1\u5668\u5b9a\u4e49\uff1a {0} -servertool.nosuchserver=\t\u627e\u4e0d\u5230\u8fd9\u79cd\u670d\u52a1\u5668\u3002 -servertool.helddown=\t\u670d\u52a1\u5668\u5df2\u88ab\u5173\u95ed\u3002 -servertool.nosuchorb=\t\u65e0\u6548\u7684\u5bf9\u8c61\u8bf7\u6c42\u4ee3\u7406\u7a0b\u5e8f (ORB)\u3002 -servertool.serverup=\t\u670d\u52a1\u5668\u5df2\u5f00\u542f\u3002 +servertool.usage=\u7528\u6CD5: {0} <\u9009\u9879> \n\n\u5176\u4E2D, <\u9009\u9879> \u5305\u62EC: \n -ORBInitialPort \u521D\u59CB\u7AEF\u53E3 (\u5FC5\u9700)\n -ORBInitialHost \u521D\u59CB HostName (\u5FC5\u9700)\n +servertool.banner=\n\n\u6B22\u8FCE\u4F7F\u7528 Java IDL \u670D\u52A1\u5668\u5DE5\u5177 \n\u8BF7\u5728\u63D0\u793A\u5904\u8F93\u5165\u547D\u4EE4 \n +servertool.shorthelp=\n\n\t\u53EF\u7528\u547D\u4EE4: \n\t------------------- \n +servertool.baddef=\u9519\u8BEF\u7684\u670D\u52A1\u5668\u5B9A\u4E49: {0} +servertool.nosuchserver=\t\u627E\u4E0D\u5230\u8FD9\u79CD\u670D\u52A1\u5668\u3002 +servertool.helddown=\t\u670D\u52A1\u5668\u5DF2\u88AB\u5173\u95ED\u3002 +servertool.nosuchorb=\t\u65E0\u6548\u7684\u5BF9\u8C61\u8BF7\u6C42\u4EE3\u7406\u7A0B\u5E8F (ORB)\u3002 +servertool.serverup=\t\u670D\u52A1\u5668\u5DF2\u5728\u8FD0\u884C\u3002 servertool.appname=\tapplicationName - {0} servertool.name=\tname - {0} servertool.classpath=\tclasspath - {0} servertool.args=\targs - {0} servertool.vmargs=\tvmargs - {0} -servertool.serverid=\t\u670d\u52a1\u5668\u6807\u8bc6\u7b26 - {0} -servertool.servernotrunning=\t\u670d\u52a1\u5668\u6ca1\u6709\u8fd0\u884c\u3002 -servertool.register=\n\n\tregister -server<\u670d\u52a1\u5668\u7c7b\u540d\u79f0> \n\t -applicationName <\u5907\u7528\u670d\u52a1\u5668\u540d\u79f0> \n\t -classpath <\u5230\u670d\u52a1\u5668\u7684\u7c7b\u8def\u5f84> \n\t -args <\u670d\u52a1\u5668\u7684\u53c2\u6570> \n\t -vmargs <\u670d\u52a1\u5668 Java VM \u7684\u53c2\u6570>\n -servertool.register1=\u6ce8\u518c\u4e00\u4e2a\u53ef\u6fc0\u6d3b\u7684\u670d\u52a1\u5668 -servertool.register2=\t\u5df2\u6ce8\u518c\u670d\u52a1\u5668 (serverid = {0})\u3002 -servertool.register3=\t\u5df2\u6ce8\u518c\u670d\u52a1\u5668\uff0c\u4f46\u5df2\u88ab\u5173\u95ed (serverid = {0})\u3002 -servertool.register4=\t\u670d\u52a1\u5668\u5df2\u6ce8\u518c (serverid = {0})\u3002 +servertool.serverid=\t\u670D\u52A1\u5668 ID - {0} +servertool.servernotrunning=\t\u670D\u52A1\u5668\u6CA1\u6709\u8FD0\u884C\u3002 +servertool.register=\n\n\tregister -server<\u670D\u52A1\u5668\u7C7B\u540D\u79F0> \n\t -applicationName <\u5907\u7528\u670D\u52A1\u5668\u540D\u79F0> \n\t -classpath <\u670D\u52A1\u5668\u7684\u7C7B\u8DEF\u5F84> \n\t -args <\u670D\u52A1\u5668\u7684\u53C2\u6570> \n\t -vmargs <\u670D\u52A1\u5668 Java VM \u7684\u53C2\u6570>\n +servertool.register1=\u6CE8\u518C\u4E00\u4E2A\u53EF\u6FC0\u6D3B\u7684\u670D\u52A1\u5668 +servertool.register2=\t\u5DF2\u6CE8\u518C\u670D\u52A1\u5668 (serverid = {0})\u3002 +servertool.register3=\t\u5DF2\u6CE8\u518C\u670D\u52A1\u5668, \u4F46\u5DF2\u88AB\u5173\u95ED (serverid = {0})\u3002 +servertool.register4=\t\u670D\u52A1\u5668\u5DF2\u6CE8\u518C (serverid = {0})\u3002 servertool.unregister=\n\tunregister [ -serverid <server id> | -applicationName <name> ] \n -servertool.unregister1=\u53d6\u6d88\u670d\u52a1\u5668\u6ce8\u518c -servertool.unregister2=\t\u670d\u52a1\u5668\u672a\u6ce8\u518c\u3002 +servertool.unregister1=\u6CE8\u9500\u5DF2\u6CE8\u518C\u7684\u670D\u52A1\u5668 +servertool.unregister2=\t\u670D\u52A1\u5668\u5DF2\u6CE8\u9500\u3002 servertool.locate=\n\tlocate [ -serverid <server id> | -applicationName <name> ] [ <-endpointType <endpointType> ] \n -servertool.locate1=\u4e3a\u5df2\u6ce8\u518c\u670d\u52a1\u5668\u5b9a\u4f4d\u7279\u5b9a\u7c7b\u578b\u7684\u7aef\u53e3 -servertool.locate2=\n\n\t\u4e3b\u673a\u540d\u79f0 {0} \n\n\t\t\u7aef\u53e3\t\t\u7aef\u53e3\u7c7b\u578b\t\tORB \u6807\u8bc6\n\t\t----\t\t---------\t\t------\n +servertool.locate1=\u4E3A\u5DF2\u6CE8\u518C\u670D\u52A1\u5668\u5B9A\u4F4D\u7279\u5B9A\u7C7B\u578B\u7684\u7AEF\u53E3 +servertool.locate2=\n\n\t\u4E3B\u673A\u540D\u79F0 {0} \n\n\t\t\u7AEF\u53E3\t\t\u7AEF\u53E3\u7C7B\u578B\t\tORB \u6807\u8BC6\n\t\t----\t\t---------\t\t------\n servertool.locateorb=\n\tlocateperorb [ -serverid <server id> | -applicationName <name> ] [ -orbid <ORB name> ]\n -servertool.locateorb1=\u4e3a\u5df2\u6ce8\u518c\u670d\u52a1\u5668\u7684\u7279\u5b9a\u5bf9\u8c61\u8bf7\u6c42\u4ee3\u7406\u7a0b\u5e8f\u5b9a\u4f4d\u7aef\u53e3\u3002 -servertool.locateorb2=\n\n\t\u4e3b\u673a\u540d\u79f0 {0} \n\n\t\t\u7aef\u53e3\t\t\u7aef\u53e3\u7c7b\u578b\t\tORB \u6807\u8bc6\n\t\t----\t\t--------\t\t------\n +servertool.locateorb1=\u4E3A\u5DF2\u6CE8\u518C\u670D\u52A1\u5668\u7684\u7279\u5B9A\u5BF9\u8C61\u8BF7\u6C42\u4EE3\u7406\u7A0B\u5E8F\u5B9A\u4F4D\u7AEF\u53E3\u3002 +servertool.locateorb2=\n\n\t\u4E3B\u673A\u540D\u79F0 {0} \n\n\t\t\u7AEF\u53E3\t\t\u7AEF\u53E3\u7C7B\u578B\t\tORB \u6807\u8BC6\n\t\t----\t\t--------\t\t------\n servertool.getserverid=\n\tgetserverid [ -applicationName <name> ] \n -servertool.getserverid1=\u8fd4\u56de\u5e94\u7528\u7a0b\u5e8f\u540d\u79f0\u7684\u670d\u52a1\u5668\u6807\u8bc6\u7b26 -servertool.getserverid2=\t\u5e94\u7528\u7a0b\u5e8f\u540d\u79f0 {0} \u7684\u670d\u52a1\u5668\u6807\u8bc6\u7b26\u662f {1} +servertool.getserverid1=\u8FD4\u56DE applicationName \u7684\u670D\u52A1\u5668 ID +servertool.getserverid2=\tapplicationName {0} \u7684\u670D\u52A1\u5668 ID \u662F {1} servertool.list=\n\t\u5217\u8868\n -servertool.list1=\u5217\u51fa\u6240\u6709\u5df2\u6ce8\u518c\u670d\u52a1\u5668 -servertool.list2=\n\t\u670d\u52a1\u5668\u6807\u8bc6\u7b26\t\t\u670d\u52a1\u5668\u7c7b\u540d\u79f0\t\t\t\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f\n\t---------\t-----------------\t------------------\n +servertool.list1=\u5217\u51FA\u6240\u6709\u5DF2\u6CE8\u518C\u670D\u52A1\u5668 +servertool.list2=\n\t\u670D\u52A1\u5668 ID\t\u670D\u52A1\u5668\u7C7B\u540D\u79F0\t\t\u670D\u52A1\u5668\u5E94\u7528\u7A0B\u5E8F\n\t---------\t-----------------\t\t------------------\n servertool.listactive=\n\tlistactive -servertool.listactive1=\u5217\u51fa\u5f53\u524d\u6d3b\u52a8\u7684\u670d\u52a1\u5668 +servertool.listactive1=\u5217\u51FA\u5F53\u524D\u6D3B\u52A8\u7684\u670D\u52A1\u5668 servertool.listappnames=\tlistappnames\n -servertool.listappnames1=\u5217\u51fa\u5f53\u524d\u5b9a\u4e49\u7684\u5e94\u7528\u7a0b\u5e8f\u540d\u79f0 -servertool.listappnames2=\u5f53\u524d\u5b9a\u4e49\u7684\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f\u540d\u79f0\uff1a +servertool.listappnames1=\u5217\u51FA\u5F53\u524D\u5B9A\u4E49\u7684 applicationName +servertool.listappnames2=\u5F53\u524D\u5B9A\u4E49\u7684\u670D\u52A1\u5668 applicationName: servertool.shutdown=\n\tshutdown [ -serverid <server id> | -applicationName <name> ]\n -servertool.shutdown1=\u5173\u95ed\u4e00\u4e2a\u5df2\u6ce8\u518c\u670d\u52a1\u5668 -servertool.shutdown2=\t\u670d\u52a1\u5668\u6210\u529f\u5173\u95ed\u3002 +servertool.shutdown1=\u5173\u95ED\u4E00\u4E2A\u5DF2\u6CE8\u518C\u670D\u52A1\u5668 +servertool.shutdown2=\t\u670D\u52A1\u5668\u6210\u529F\u5173\u95ED\u3002 servertool.startserver=\n\tstartup [ -serverid <server id> | -applicationName <name> ]\n -servertool.startserver1=\u542f\u52a8\u4e00\u4e2a\u5df2\u6ce8\u518c\u670d\u52a1\u5668 -servertool.startserver2=\t\u670d\u52a1\u5668\u6210\u529f\u542f\u52a8\u3002 +servertool.startserver1=\u542F\u52A8\u4E00\u4E2A\u5DF2\u6CE8\u518C\u670D\u52A1\u5668 +servertool.startserver2=\t\u670D\u52A1\u5668\u6210\u529F\u542F\u52A8\u3002 -servertool.quit=\n\t\u9000\u51fa\n -servertool.quit1=\u9000\u51fa\u6b64\u5de5\u5177 +servertool.quit=\n\t\u9000\u51FA\n +servertool.quit1=\u9000\u51FA\u6B64\u5DE5\u5177 servertool.help=\thelp\n\t\u6216\n\thelp <command name>\n -servertool.help1=\u53d6\u5f97\u5e2e\u52a9 +servertool.help1=\u83B7\u53D6\u5E2E\u52A9 -servertool.orbidmap=\t\u7528\u6cd5\uff1aorblist [ -serverid <server id> | -applicationName <name> ]\n -servertool.orbidmap1=\u5bf9\u8c61\u8bf7\u6c42\u4ee3\u7406\u7a0b\u5e8f (orb) \u540d\u79f0\u53ca\u5176\u6620\u5c04\u5217\u8868 -servertool.orbidmap2=\n\tORB \u6807\u8bc6\t\tORB \u540d\u79f0\n\t------\t\t--------\n -pnameserv.success=\u6301\u4e45\u6027\u540d\u79f0\u670d\u52a1\u5668\u6210\u529f\u542f\u52a8 +servertool.orbidmap=\t\u7528\u6CD5: orblist [ -serverid <server id> | -applicationName <name> ]\n +servertool.orbidmap1=\u5BF9\u8C61\u8BF7\u6C42\u4EE3\u7406\u7A0B\u5E8F (orb) \u540D\u79F0\u53CA\u5176\u6620\u5C04\u5217\u8868 +servertool.orbidmap2=\n\tORB \u6807\u8BC6\t\tORB \u540D\u79F0\n\t------\t\t--------\n +pnameserv.success=\u6301\u4E45\u6027\u540D\u79F0\u670D\u52A1\u5668\u6210\u529F\u542F\u52A8 -bootstrap.usage=\u7528\u6cd5\uff1a{0} <\u9009\u9879> \n\n\u5176\u4e2d\uff0c<\u9009\u9879> \u5305\u62ec\uff1a\n -ORBInitialPort \u521d\u59cb\u7aef\u53e3\uff08\u5fc5\u9700\uff09\n -InitialServicesFile \u5305\u542b\u521d\u59cb\u670d\u52a1\u5217\u8868\u7684\u6587\u4ef6\uff08\u5fc5\u9700\uff09\n -bootstrap.success=\u5c06\u7aef\u53e3\u8bbe\u7f6e\u4e3a{0}\u5e76\u4ece{1}\u8bfb\u53d6\u670d\u52a1 -bootstrap.filenotreadable=\u4e0d\u53ef\u8bfb\u53d6\u6587\u4ef6 {0} -bootstrap.filenotfound=\u6ca1\u6709\u627e\u5230\u6587\u4ef6{0} -bootstrap.exception=\u5c06\u5c5e\u6027\u4fdd\u5b58\u5230\u6587\u4ef6{0}\u65f6\u53d1\u751f\u5f02\u5e38\uff1a\u5f02\u5e38 {1} +bootstrap.usage=\u7528\u6CD5: {0} <\u9009\u9879> \n\n\u5176\u4E2D, <\u9009\u9879> \u5305\u62EC: \n -ORBInitialPort \u521D\u59CB\u7AEF\u53E3 (\u5FC5\u9700)\n -InitialServicesFile \u5305\u542B\u521D\u59CB\u670D\u52A1\u5217\u8868\u7684\u6587\u4EF6 (\u5FC5\u9700)\n +bootstrap.success=\u5C06\u7AEF\u53E3\u8BBE\u7F6E\u4E3A{0}\u5E76\u4ECE{1}\u8BFB\u53D6\u670D\u52A1 +bootstrap.filenotreadable=\u6587\u4EF6{0}\u4E0D\u53EF\u8BFB\u53D6 +bootstrap.filenotfound=\u6CA1\u6709\u627E\u5230\u6587\u4EF6{0} +bootstrap.exception=\u5C06\u5C5E\u6027\u4FDD\u5B58\u5230\u6587\u4EF6{0}\u65F6\u51FA\u73B0\u5F02\u5E38\u9519\u8BEF: \u5F02\u5E38\u9519\u8BEF{1} -tnameserv.exception=\u542f\u52a8{0}\u7aef\u53e3\u4e0a\u7684\u81ea\u5f15\u5bfc\u7a0b\u5e8f\u670d\u52a1\u65f6\u53d1\u751f\u5f02\u5e38 -tnameserv.usage=\u5c1d\u8bd5\u5229\u7528\u547d\u4ee4\u884c\u53c2\u6570\u4f7f\u7528\u4e0d\u540c\u7684\u7aef\u53e3 -ORBInnitialPort <portno> -tnameserv.invalidhostoption=ORBInitialHost \u4e0d\u662f\u540d\u79f0\u670d\u52a1\u5668\u7684\u6709\u6548\u9009\u9879 -tnameserv.orbinitialport0=ORBInitialPort 0 \u4e0d\u662f\u540d\u79f0\u670d\u52a1\u5668\u7684\u6709\u6548\u9009\u9879 -tnameserv.hs1=\u521d\u59cb\u7684\u547d\u540d\u8303\u56f4\uff1a\n{0} -tnameserv.hs2=TransientNameServer: \u5c06\u521d\u59cb\u5bf9\u8c61\u5f15\u7528\u7aef\u53e3\u8bbe\u7f6e\u4e3a\uff1a{0} -tnameserv.hs3=\u51c6\u5907\u5c31\u7eea\u3002 +tnameserv.exception=\u542F\u52A8{0}\u7AEF\u53E3\u4E0A\u7684\u5F15\u5BFC\u7A0B\u5E8F\u670D\u52A1\u65F6\u51FA\u73B0\u5F02\u5E38\u9519\u8BEF +tnameserv.usage=\u5C1D\u8BD5\u5229\u7528\u547D\u4EE4\u884C\u53C2\u6570 -ORBInitialPort <portno> \u4F7F\u7528\u4E0D\u540C\u7684\u7AEF\u53E3 +tnameserv.invalidhostoption=ORBInitialHost \u4E0D\u662F NameService \u7684\u6709\u6548\u9009\u9879 +tnameserv.orbinitialport0=ORBInitialPort 0 \u4E0D\u662F NameService \u7684\u6709\u6548\u9009\u9879 +tnameserv.hs1=\u521D\u59CB\u7684\u547D\u540D\u4E0A\u4E0B\u6587: \n{0} +tnameserv.hs2=TransientNameServer: \u5C06\u521D\u59CB\u5BF9\u8C61\u5F15\u7528\u7AEF\u53E3\u8BBE\u7F6E\u4E3A: {0} +tnameserv.hs3=\u51C6\u5907\u5C31\u7EEA\u3002 -orbd.commfailure=\n\u7531\u4e8e ORBinitialPort \u5df2\u5728\u4f7f\u7528\u4e2d\uff0c\u542f\u52a8 ORBD \u5931\u8d25 -orbd.internalexception=\n\u5185\u90e8\u5f02\u5e38\uff0c\u542f\u52a8 ORBD \u5931\u8d25\u3002 \n\u53ef\u80fd\u539f\u56e0\uff1a\n1. \u6307\u5b9a\u7684 ORBInitialPort \u6216 ORBActivationPort \u5df2\u5728\u4f7f\u7528\u4e2d \n2. \u6ca1\u6709\u5199 orb.db \u7684\u5199\u5165\u6743\u9650 +orbd.commfailure=\n\u7531\u4E8E ORBinitialPort \u5DF2\u5728\u4F7F\u7528\u4E2D, \u65E0\u6CD5\u542F\u52A8 ORBD +orbd.internalexception=\n\u7531\u4E8E\u5185\u90E8\u5F02\u5E38\u9519\u8BEF, \u65E0\u6CD5\u542F\u52A8 ORBD\u3002\n\u53EF\u80FD\u539F\u56E0: \n1. \u6307\u5B9A\u7684 ORBInitialPort \u6216 ORBActivationPort \u5DF2\u5728\u4F7F\u7528\u4E2D \n2. \u6CA1\u6709\u5199\u5165 orb.db \u7684\u6743\u9650
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_TW.properties Thu Feb 10 16:24:34 2011 -0800 +++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_TW.properties Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2000, 2005, 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 @@ -23,85 +23,85 @@ # questions. # -orbd.usage=\u7528\u6cd5\uff1a{0} <options> \n\n\u5176\u4e2d <options> \u5305\u62ec\uff1a\n -port ORBD \u61c9\u88ab\u555f\u52d5\u7684\u555f\u52d5\u57e0\u6240\u5728\uff0c\u9810\u8a2d\u70ba 1049 (\u53ef\u9078)\n -defaultdb ORBD \u6a94\u6848\u7684\u76ee\u9304\uff0c\u9810\u8a2d "./orb.db" (\u53ef\u9078)\n -serverid ORBD \u4f3a\u670d\u5668 Id\uff0c\u9810\u8a2d\u70ba 1 (\u53ef\u9078)\n -ORBInitialPort \u8d77\u59cb\u57e0\uff08\u5fc5\u8981\uff09\n -ORBInitialHost \u8d77\u59cb\u4e3b\u6a5f\u540d\u7a31\uff08\u5fc5\u8981\uff09\n +orbd.usage=\u7528\u6CD5: {0} <options> \n\n\u5176\u4E2D <options> \u5305\u62EC: \n -port ORBD \u61C9\u88AB\u555F\u52D5\u7684\u555F\u52D5\u9023\u63A5\u57E0\u6240\u5728\uFF0C\u9810\u8A2D\u70BA 1049 (\u53EF\u9078)\n -defaultdb ORBD \u6A94\u6848\u7684\u76EE\u9304\uFF0C\u9810\u8A2D "./orb.db" (\u53EF\u9078)\n -serverid ORBD \u4F3A\u670D\u5668 Id\uFF0C\u9810\u8A2D\u70BA 1 (\u53EF\u9078)\n -ORBInitialPort \u8D77\u59CB\u9023\u63A5\u57E0 (\u5FC5\u8981)\n -ORBInitialHost \u8D77\u59CB\u4E3B\u6A5F\u540D\u7A31 (\u5FC5\u8981)\n -servertool.usage=\u7528\u6cd5\uff1a {0} <options> \n\nwhere <options> \u5305\u62ec\uff1a\n -ORBInitialPort \u8d77\u59cb\u57e0\uff08\u5fc5\u8981\uff09\n -ORBInitialHost \u8d77\u59cb\u4e3b\u6a5f\u540d\u7a31\uff08\u5fc5\u8981\uff09\n -servertool.banner=\n\n\u6b61\u8fce\u4f86\u5230 Java IDL \u4f3a\u670d\u5668\u5de5\u5177 \n\u8acb\u5728\u63d0\u793a\u8655\u8f38\u5165\u6307\u4ee4 \n -servertool.shorthelp=\n\n\t\u73fe\u6709\u7684\u6307\u4ee4\uff1a\n\t------------------- \n -servertool.baddef=\u932f\u8aa4\u7684\u4f3a\u670d\u5668\u5b9a\u7fa9\uff1a {0} -servertool.nosuchserver=\t\u627e\u4e0d\u5230\u9019\u500b\u4f3a\u670d\u5668\u3002 -servertool.helddown=\t\u4f3a\u670d\u5668\u4e0d\u5728\u5de5\u4f5c\u72c0\u614b\u3002 +servertool.usage=\u7528\u6CD5: {0} <options> \n\nwhere <options> \u5305\u62EC:\n -ORBInitialPort \u8D77\u59CB\u9023\u63A5\u57E0 (\u5FC5\u8981)\n -ORBInitialHost \u8D77\u59CB\u4E3B\u6A5F\u540D\u7A31 (\u5FC5\u8981)\n +servertool.banner=\n\n\u6B61\u8FCE\u4F7F\u7528 Java IDL \u4F3A\u670D\u5668\u5DE5\u5177 \n\u8ACB\u5728\u63D0\u793A\u8655\u8F38\u5165\u547D\u4EE4 \n +servertool.shorthelp=\n\n\t\u53EF\u7528\u7684\u547D\u4EE4: \n\t------------------- \n +servertool.baddef=\u932F\u8AA4\u7684\u4F3A\u670D\u5668\u5B9A\u7FA9: {0} +servertool.nosuchserver=\t\u627E\u4E0D\u5230\u9019\u500B\u4F3A\u670D\u5668\u3002 +servertool.helddown=\t\u4F3A\u670D\u5668\u4E0D\u5728\u5DE5\u4F5C\u72C0\u614B\u3002 servertool.nosuchorb=\t\u7121\u6548\u7684 ORB. -servertool.serverup=\t\u4f3a\u670d\u5668\u5df2\u5728\u5de5\u4f5c\u72c0\u614b\u3002 +servertool.serverup=\t\u4F3A\u670D\u5668\u5DF2\u5728\u5DE5\u4F5C\u72C0\u614B\u3002 servertool.appname=\tapplicationName - {0} -servertool.name=\t\u540d\u7a31 - {0} +servertool.name=\tname - {0} servertool.classpath=\tclasspath - {0} servertool.args=\targs - {0} servertool.vmargs=\tvmargs - {0} -servertool.serverid=\t\u4f3a\u670d\u5668 id - {0} -servertool.servernotrunning=\t\u4f3a\u670d\u5668\u672a\u904b\u4f5c\u3002 -servertool.register=\n\n\tregister -server<server class name> \n\t -applicationName <alternate server name> \n\t -classpath <classpath to server> \n\t -args <args to server> \n\t -vmargs <args to server Java VM>\n -servertool.register1=\u8a3b\u518a\u4e00\u500b\u53ef\u555f\u52d5\u7684\u4f3a\u670d\u5668 -servertool.register2=\t\u5df2\u8a3b\u518a\u904e\u7684\u4f3a\u670d\u5668 (serverid = {0})\u3002 -servertool.register3=\t\u5df2\u8a3b\u518a\u904e\u7684\u4f3a\u670d\u5668\uff0c\u4f46\u4e0d\u5728\u5de5\u4f5c\u72c0\u614b (serverid = {0})\u3002 -servertool.register4=\t\u4f3a\u670d\u5668\u5df2\u8a3b\u518a (serverid = {0})\u3002 +servertool.serverid=\tserver id - {0} +servertool.servernotrunning=\t\u4F3A\u670D\u5668\u672A\u57F7\u884C\u3002 +servertool.register=\n\n\tregister -server <server class name> \n\t -applicationName <alternate server name> \n\t -classpath <classpath to server> \n\t -args <args to server> \n\t -vmargs <args to server Java VM>\n +servertool.register1=\u8A3B\u518A\u4E00\u500B\u53EF\u555F\u52D5\u7684\u4F3A\u670D\u5668 +servertool.register2=\t\u5DF2\u8A3B\u518A\u904E\u7684\u4F3A\u670D\u5668 (serverid = {0})\u3002 +servertool.register3=\t\u5DF2\u8A3B\u518A\u904E\u7684\u4F3A\u670D\u5668\uFF0C\u4F46\u4E0D\u5728\u5DE5\u4F5C\u72C0\u614B (serverid = {0})\u3002 +servertool.register4=\t\u4F3A\u670D\u5668\u5DF2\u8A3B\u518A (serverid = {0})\u3002 servertool.unregister=\n\tunregister [ -serverid <server id> | -applicationName <name> ] \n -servertool.unregister1=\u672a\u8a3b\u518a\u4e00\u500b\u5df2\u8a3b\u518a\u904e\u7684\u4f3a\u670d\u5668 -servertool.unregister2=\t\u4f3a\u670d\u5668\u672a\u8a3b\u518a\u3002 +servertool.unregister1=\u5C07\u5DF2\u8A3B\u518A\u7684\u4F3A\u670D\u5668\u53D6\u6D88\u8A3B\u518A +servertool.unregister2=\t\u4F3A\u670D\u5668\u5DF2\u53D6\u6D88\u8A3B\u518A\u3002 servertool.locate=\n\tlocate [ -serverid <server id> | -applicationName <name> ] [ <-endpointType <endpointType> ] \n -servertool.locate1=\u91dd\u5c0d\u4e00\u500b\u5df2\u8a3b\u518a\u904e\u7684\u4f3a\u670d\u5668\u5c0b\u627e\u7279\u5b9a\u985e\u578b\u7684\u9023\u63a5\u57e0 -servertool.locate2=\n\n\t\u4e3b\u6a5f\u540d\u7a31 {0} \n\n\t\tPort\t\tPort Type\t\tORB Id\n\t\t----\t\t---------\t\t------\n +servertool.locate1=\u91DD\u5C0D\u4E00\u500B\u5DF2\u8A3B\u518A\u904E\u7684\u4F3A\u670D\u5668\u5C0B\u627E\u7279\u5B9A\u985E\u578B\u7684\u9023\u63A5\u57E0 +servertool.locate2=\n\n\t\u4E3B\u6A5F\u540D\u7A31 {0} \n\n\t\t\u9023\u63A5\u57E0\t\t\u9023\u63A5\u57E0\u985E\u578B\t\tORB Id\n\t\t----\t\t---------\t\t------\n servertool.locateorb=\n\tlocateperorb [ -serverid <server id> | -applicationName <name> ] [ -orbid <ORB name> ]\n -servertool.locateorb1=\u91dd\u5c0d\u5df2\u8a3b\u518a\u904e\u7684\u4f3a\u670d\u5668\u7684\u7279\u5b9a orb \u5c0b\u627e\u9023\u63a5\u57e0\u3002 -servertool.locateorb2=\n\n\t\u4e3b\u6a5f\u540d\u7a31 {0} \n\n\t\tPort\t\tPortType\t\tORB Id\n\t\t----\t\t--------\t\t------\n +servertool.locateorb1=\u91DD\u5C0D\u5DF2\u8A3B\u518A\u904E\u7684\u4F3A\u670D\u5668\u7684\u7279\u5B9A orb \u5C0B\u627E\u9023\u63A5\u57E0\u3002 +servertool.locateorb2=\n\n\t\u4E3B\u6A5F\u540D\u7A31 {0} \n\n\t\t\u9023\u63A5\u57E0\t\t\u9023\u63A5\u57E0\u985E\u578B\t\tORB Id\n\t\t----\t\t--------\t\t------\n servertool.getserverid=\n\tgetserverid [ -applicationName <name> ] \n -servertool.getserverid1=\u91dd\u5c0d\u4e00\u500b applicationName \u50b3\u56de\u4f3a\u670d\u5668\u8b58\u5225\u78bc -servertool.getserverid2=\tapplicationName \u7684\u4f3a\u670d\u5668\u8b58\u5225\u78bc {0} \u70ba {1} +servertool.getserverid1=\u50B3\u56DE applicationName \u7684\u4F3A\u670D\u5668\u8B58\u5225\u78BC +servertool.getserverid2=\tapplicationName \u7684\u4F3A\u670D\u5668\u8B58\u5225\u78BC {0} \u70BA {1} -servertool.list=\n\t\u6e05\u55ae\n -servertool.list1=\u5217\u51fa\u6240\u6709\u8a3b\u518a\u904e\u7684\u4f3a\u670d\u5668 -servertool.list2=\n\t\u4f3a\u670d\u5668\u8b58\u5225\u78bc\t\u4f3a\u670d\u5668\u985e\u5225\u540d\u7a31\t\t\u4f3a\u670d\u5668\u61c9\u7528\u7a0b\u5f0f\n\t---------\t-----------------\t\t------------------\n +servertool.list=\n\tlist\n +servertool.list1=\u5217\u51FA\u6240\u6709\u8A3B\u518A\u904E\u7684\u4F3A\u670D\u5668 +servertool.list2=\n\t\u4F3A\u670D\u5668\u8B58\u5225\u78BC\t\u4F3A\u670D\u5668\u985E\u5225\u540D\u7A31\t\t\u4F3A\u670D\u5668\u61C9\u7528\u7A0B\u5F0F\n\t---------\t-----------------\t\t------------------\n servertool.listactive=\n\tlistactive -servertool.listactive1=\u5217\u51fa\u73fe\u5728\u555f\u52d5\u7684\u4f3a\u670d\u5668 +servertool.listactive1=\u5217\u51FA\u76EE\u524D\u4F7F\u7528\u4E2D\u7684\u4F3A\u670D\u5668 servertool.listappnames=\tlistappnames\n -servertool.listappnames1=\u5217\u51fa\u73fe\u5728\u88ab\u5b9a\u7fa9\u7684 applicationNames -servertool.listappnames2=\u73fe\u5728\u5b9a\u7fa9\u7684\u4f3a\u670d\u5668 applicationNames\uff1a +servertool.listappnames1=\u5217\u51FA\u76EE\u524D\u5B9A\u7FA9\u7684 applicationNames +servertool.listappnames2=\u76EE\u524D\u5B9A\u7FA9\u7684\u4F3A\u670D\u5668 applicationNames: servertool.shutdown=\n\tshutdown [ -serverid <server id> | -applicationName <name> ]\n -servertool.shutdown1=\u95dc\u9589\u4e00\u500b\u8a3b\u518a\u904e\u7684\u4f3a\u670d\u5668 -servertool.shutdown2=\t\u4f3a\u670d\u5668\u95dc\u9589\u6210\u529f\u3002 +servertool.shutdown1=\u95DC\u9589\u4E00\u500B\u8A3B\u518A\u904E\u7684\u4F3A\u670D\u5668 +servertool.shutdown2=\t\u4F3A\u670D\u5668\u95DC\u9589\u6210\u529F\u3002 servertool.startserver=\n\tstartup [ -serverid <server id> | -applicationName <name> ]\n -servertool.startserver1=\u958b\u555f\u4e00\u500b\u8a3b\u518a\u904e\u7684\u4f3a\u670d\u5668 -servertool.startserver2=\t\u4f3a\u670d\u5668\u958b\u555f\u6210\u529f\u3002 +servertool.startserver1=\u555F\u52D5\u4E00\u500B\u8A3B\u518A\u904E\u7684\u4F3A\u670D\u5668 +servertool.startserver2=\t\u4F3A\u670D\u5668\u555F\u52D5\u6210\u529F\u3002 -servertool.quit=\n\t\u96e2\u958b\n -servertool.quit1=\u96e2\u958b\u9019\u500b\u5de5\u5177 +servertool.quit=\n\tquit\n +servertool.quit1=\u96E2\u958B\u9019\u500B\u5DE5\u5177 -servertool.help=\t\u5e6b\u52a9\n\tOR\n\thelp <command name>\n -servertool.help1=\u53d6\u5f97\u5e6b\u52a9 +servertool.help=\thelp\n\t\u6216\n\thelp <command name>\n +servertool.help1=\u53D6\u5F97\u8AAA\u660E -servertool.orbidmap=\t\u7528\u6cd5\uff1a orblist [ -serverid <server id> | -applicationName <name> ]\n -servertool.orbidmap1=orb \u540d\u7a31\u53ca\u5176\u5c0d\u6620\u6e05\u55ae -servertool.orbidmap2=\n\tORB Id\t\tORB \u540d\u7a31\n\t------\t\t--------\n -pnameserv.success=\u6c38\u4e45\u6027 NameServer \u958b\u555f\u6210\u529f +servertool.orbidmap=\t\u7528\u6CD5: orblist [ -serverid <server id> | -applicationName <name> ]\n +servertool.orbidmap1=orb \u540D\u7A31\u53CA\u5176\u5C0D\u6620\u6E05\u55AE +servertool.orbidmap2=\n\tORB Id\t\tORB \u540D\u7A31\n\t------\t\t--------\n +pnameserv.success=\u6C38\u4E45\u6027 NameServer \u555F\u52D5\u6210\u529F -bootstrap.usage=\u7528\u6cd5\uff1a {0} <options> \n\n\u5176\u4e2d <options> \u5305\u62ec\uff1a\n -ORBInitialPort \u8d77\u59cb\u57e0\uff08\u5fc5\u8981\uff09\n -InitialServicesFile \u542b\u6709\u8d77\u555f\u670d\u52d9\u6e05\u55ae\u7684\u6a94\u6848\uff08\u5fc5\u8981\uff09\n -bootstrap.success=\u8a2d\u5b9a\u9023\u63a5\u57e0\u81f3 {0} \u4e26\u5f9e {1} \u8b80\u53d6\u670d\u52d9 -bootstrap.filenotreadable=\u6a94\u6848 {0} \u7121\u6cd5\u8b80\u53d6 -bootstrap.filenotfound=\u6a94\u6848 {0} \u672a\u627e\u5230 -bootstrap.exception=\u5c07\u5c6c\u6027\u5132\u5b58\u81f3\u6a94\u6848 {0} \u6642\u767c\u751f\u7570\u5e38\uff1a\u7570\u5e38 {1} +bootstrap.usage=\u7528\u6CD5: {0} <options> \n\n\u5176\u4E2D <options> \u5305\u62EC: \n -ORBInitialPort \u8D77\u59CB\u9023\u63A5\u57E0 (\u5FC5\u8981)\n -InitialServicesFile \u542B\u6709\u8D77\u59CB\u670D\u52D9\u6E05\u55AE\u7684\u6A94\u6848 (\u5FC5\u8981)\n +bootstrap.success=\u8A2D\u5B9A\u9023\u63A5\u57E0\u81F3 {0} \u4E26\u5F9E {1} \u8B80\u53D6\u670D\u52D9 +bootstrap.filenotreadable=\u6A94\u6848 {0} \u7121\u6CD5\u8B80\u53D6 +bootstrap.filenotfound=\u627E\u4E0D\u5230\u6A94\u6848 {0} +bootstrap.exception=\u5C07\u5C6C\u6027\u5132\u5B58\u81F3\u6A94\u6848 {0} \u6642\u767C\u751F\u7570\u5E38\u72C0\u6CC1: \u7570\u5E38\u72C0\u6CC1 {1} -tnameserv.exception=\u958b\u555f {0} \u9023\u63a5\u57e0\u4e0a\u7684\u555f\u52d5\u7a0b\u5f0f\u670d\u52d9\u6642\uff0c\u767c\u751f\u7570\u5e38 -tnameserv.usage=\u8a66\u8457\u5229\u7528\u542b\u6709\u6307\u4ee4\u884c\u5f15\u6578\u7684\u4e0d\u540c\u9023\u63a5\u57e0 -ORBInitialPort <portno> -tnameserv.invalidhostoption=ORBInitialHost \u4e0d\u662f NameService \u7684\u6709\u6548\u9078\u9805 -tnameserv.orbinitialport0=ORBInitialPort 0 \u4e0d\u662f NameService \u7684\u6709\u6548\u9078\u9805 -tnameserv.hs1=\u8d77\u59cb\u547d\u540d\u5167\u6587\uff1a\n{0} -tnameserv.hs2=TransientNameServer: \u91dd\u5c0d\u8d77\u59cb\u7269\u4ef6\u53c3\u7167\uff0c\u8a2d\u5b9a\u9023\u63a5\u57e0\u81f3\uff1a{0} -tnameserv.hs3=\u5c31\u7dd2\u3002 +tnameserv.exception=\u958B\u555F {0} \u9023\u63A5\u57E0\u4E0A\u7684\u555F\u52D5\u5B89\u88DD\u670D\u52D9\u6642\uFF0C\u767C\u751F\u7570\u5E38\u72C0\u6CC1 +tnameserv.usage=\u5617\u8A66\u4EE5\u547D\u4EE4\u884C\u5F15\u6578\u4F86\u4F7F\u7528\u4E0D\u540C\u9023\u63A5\u57E0 -ORBInitialPort <portno> +tnameserv.invalidhostoption=ORBInitialHost \u4E0D\u662F NameService \u7684\u6709\u6548\u9078\u9805 +tnameserv.orbinitialport0=ORBInitialPort 0 \u4E0D\u662F NameService \u7684\u6709\u6548\u9078\u9805 +tnameserv.hs1=\u8D77\u59CB\u547D\u540D\u76F8\u95DC\u8CC7\u8A0A\u74B0\u5883: \n{0} +tnameserv.hs2=TransientNameServer: \u91DD\u5C0D\u8D77\u59CB\u7269\u4EF6\u53C3\u7167\uFF0C\u8A2D\u5B9A\u9023\u63A5\u57E0\u81F3: {0} +tnameserv.hs3=\u5C31\u7DD2\u3002 -orbd.commfailure=\n\u56e0\u70ba ORBinitialPort \u5728\u4f7f\u7528\u4e2d\uff0c\u6240\u4ee5\u7121\u6cd5\u555f\u52d5 ORBD\u3002 -orbd.internalexception=\n\u56e0\u70ba\u5167\u90e8\u767c\u751f\u7570\u5e38\uff0c\u6240\u4ee5\u7121\u6cd5\u555f\u52d5 ORBD\u3002 \n\u53ef\u80fd\u7684\u539f\u56e0\uff1a \n1. \u6307\u5b9a\u7684 ORBInitialPort \u6216 ORBActivationPort \u5728\u4f7f\u7528\u4e2d\u3002 \n2. \u6c92\u6709\u5beb\u5165 orb.db \u7684\u8a31\u53ef\u6b0a\u3002 +orbd.commfailure=\n\u56E0\u70BA ORBinitialPort \u5728\u4F7F\u7528\u4E2D\uFF0C\u6240\u4EE5\u7121\u6CD5\u555F\u52D5 ORBD\u3002 +orbd.internalexception=\n\u56E0\u70BA\u5167\u90E8\u767C\u751F\u7570\u5E38\uFF0C\u6240\u4EE5\u7121\u6CD5\u555F\u52D5 ORBD\u3002 \n\u53EF\u80FD\u7684\u539F\u56E0: \n1. \u6307\u5B9A\u7684 ORBInitialPort \u6216 ORBActivationPort \u5728\u4F7F\u7528\u4E2D\u3002 \n2. \u6C92\u6709\u5BEB\u5165 orb.db \u7684\u6B0A\u9650\u3002
--- a/hotspot/.hgtags Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/.hgtags Wed Jul 05 17:35:03 2017 +0200 @@ -146,3 +146,5 @@ d535bf4c12355a2897e918da9f8910c0aceec4fb hs20-b07 102466e70debc4b907afbd7624e34ddb1aafee9f jdk7-b127 9a5762f448595794d449a8e17342abd81a3fadaf jdk7-b128 +ae4b185f2ed14af7bab610738c333840598cdcc4 jdk7-b129 +ae4b185f2ed14af7bab610738c333840598cdcc4 hs21-b01
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/LowMemoryDetectorThread.java Thu Feb 10 16:24:34 2011 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2003, 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. - * - */ - -package sun.jvm.hotspot.runtime; - -import java.io.*; - -import sun.jvm.hotspot.debugger.*; -import sun.jvm.hotspot.types.*; - -public class LowMemoryDetectorThread extends JavaThread { - public LowMemoryDetectorThread(Address addr) { - super(addr); - } - - public boolean isJavaThread() { return false; } - public boolean isHiddenFromExternalView() { return true; } - public boolean isLowMemoryDetectorThread() { return true; } - -}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/ServiceThread.java Wed Jul 05 17:35:03 2017 +0200 @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2003, 2011 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. + * + */ + +package sun.jvm.hotspot.runtime; + +import java.io.*; + +import sun.jvm.hotspot.debugger.*; +import sun.jvm.hotspot.types.*; + +public class ServiceThread extends JavaThread { + public ServiceThread(Address addr) { + super(addr); + } + + public boolean isJavaThread() { return false; } + public boolean isHiddenFromExternalView() { return true; } + public boolean isServiceThread() { return true; } + +}
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Thread.java Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Thread.java Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2011, 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 @@ -111,7 +111,7 @@ public boolean isJvmtiAgentThread() { return false; } public boolean isWatcherThread() { return false; } public boolean isConcurrentMarkSweepThread() { return false; } - public boolean isLowMemoryDetectorThread() { return false; } + public boolean isServiceThread() { return false; } /** Memory operations */ public void oopsDo(AddressVisitor oopVisitor) {
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2011, 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 @@ -107,14 +107,14 @@ // for now, use JavaThread itself. fix it later with appropriate class if needed virtualConstructor.addMapping("SurrogateLockerThread", JavaThread.class); virtualConstructor.addMapping("JvmtiAgentThread", JvmtiAgentThread.class); - virtualConstructor.addMapping("LowMemoryDetectorThread", LowMemoryDetectorThread.class); + virtualConstructor.addMapping("ServiceThread", ServiceThread.class); } public Threads() { } /** NOTE: this returns objects of type JavaThread, CompilerThread, - JvmtiAgentThread, and LowMemoryDetectorThread. + JvmtiAgentThread, and ServiceThread. The latter four are subclasses of the former. Most operations (fetching the top frame, etc.) are only allowed to be performed on a "pure" JavaThread. For this reason, {@link @@ -143,7 +143,7 @@ return thread; } catch (Exception e) { throw new RuntimeException("Unable to deduce type of thread from address " + threadAddr + - " (expected type JavaThread, CompilerThread, LowMemoryDetectorThread, JvmtiAgentThread, or SurrogateLockerThread)", e); + " (expected type JavaThread, CompilerThread, ServiceThread, JvmtiAgentThread, or SurrogateLockerThread)", e); } }
--- a/hotspot/make/Makefile Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/make/Makefile Wed Jul 05 17:35:03 2017 +0200 @@ -73,6 +73,7 @@ include defs.make endif +include $(GAMMADIR)/make/altsrc.make ifneq ($(ALT_OUTPUTDIR),) ALT_OUT=ALT_OUTPUTDIR=$(ALT_OUTPUTDIR) @@ -361,7 +362,8 @@ $(EXPORT_INCLUDE_DIR)/%: $(HS_SRC_DIR)/share/vm/prims/% $(install-file) -$(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h: $(HS_SRC_DIR)/cpu/$(HS_ARCH)/vm/jni_$(HS_ARCH).h +HS_JNI_ARCH_SRC=$(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(HS_ARCH)/vm/jni_$(HS_ARCH).h) +$(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h: $(HS_JNI_ARCH_SRC) $(install-file) $(EXPORT_INCLUDE_DIR)/%: $(HS_SRC_DIR)/share/vm/services/%
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/make/altsrc.make Wed Jul 05 17:35:03 2017 +0200 @@ -0,0 +1,92 @@ +# +# Copyright (c) 2011, 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. +# +# + +# This file defines variables and macros which are used in the makefiles to +# allow distributions to augment or replace common hotspot code with +# distribution-specific source files. + +# Requires: GAMMADIR +# Provides: +# variables: HS_COMMON_SRC, HS_ALT_SRC, HS_COMMON_SRC_REL, and HS_ALT_SRC_REL +# functions: altsrc-equiv, if-has-altsrc, altsrc, altsrc-replace + +HS_COMMON_SRC_REL=src + +# This needs to be changed to a more generic location, but we keep it as this +# for now for compatibility +HS_ALT_SRC_REL=src/closed + +HS_COMMON_SRC=$(GAMMADIR)/$(HS_COMMON_SRC_REL) +HS_ALT_SRC=$(GAMMADIR)/$(HS_ALT_SRC_REL) + + +## altsrc-equiv +# +# Convert a common source path to an alternative source path +# +# Parameter: An absolute path into the common sources +# Result: The matching path to the alternate-source location +# +altsrc-equiv=$(subst $(HS_COMMON_SRC)/,$(HS_ALT_SRC)/,$(1)) + + +## if-has-altsrc +# +# Conditional macro to test for the existence of an alternate source path +# +# Parameter: An absolute path into the common sources +# Parameter: Result if the alternative-source location exists +# Parameter: Result if the alternative-source location does not exist +# Result: expands to parameter 2 or 3 depending on existence of alternate source +# +if-has-altsrc=$(if $(wildcard $(call altsrc-equiv,$(1))),$(2),$(3)) + + +## altsrc +# +# Converts common source path to alternate source path if the alternate +# path exists, otherwise evaluates to nul (empty string) +# +# Parameter: An absolute path into the common sources +# Result: The equivalent path to the alternate-source location, if such a +# location exists on the filesystem. Otherwise it expands to empty. +# +altsrc=$(call if-has-altsrc,$(1),$(call altsrc-equiv,$(1))) + +## commonsrc +# +# Returns parameter. +# +commonsrc=$(1) + + +## altsrc-replace +# +# Converts a common source path to an alternate source path if the alternate +# source path exists. Otherwise it evaluates to the input common source path. +# +# Parameter: An absolute path into the common sources +# Result: A path to either the common or alternate sources +# +altsrc-replace=$(call if-has-altsrc,$(1),$(call altsrc-equiv,$(1)),$(1))
--- a/hotspot/make/hotspot_version Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/make/hotspot_version Wed Jul 05 17:35:03 2017 +0200 @@ -35,7 +35,7 @@ HS_MAJOR_VER=21 HS_MINOR_VER=0 -HS_BUILD_NUMBER=01 +HS_BUILD_NUMBER=02 JDK_MAJOR_VER=1 JDK_MINOR_VER=7
--- a/hotspot/make/jprt.properties Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/make/jprt.properties Wed Jul 05 17:35:03 2017 +0200 @@ -44,6 +44,11 @@ jprt.sync.push=false +# Note: we want both embedded releases and regular releases to build and test +# all platforms so that regressions are not introduced (eg. change to +# common code by SE breaks PPC/ARM; change to common code by SE-E breaks +# sparc etc. + # Define the Solaris platforms we want for the various releases jprt.my.solaris.sparc.jdk7=solaris_sparc_5.10 @@ -55,6 +60,8 @@ jprt.my.solaris.sparc.jdk6u14=solaris_sparc_5.8 jprt.my.solaris.sparc.jdk6u18=solaris_sparc_5.8 jprt.my.solaris.sparc.jdk6u20=solaris_sparc_5.8 +jprt.my.solaris.sparc.ejdk7=${jprt.my.solaris.sparc.jdk7} +jprt.my.solaris.sparc.ejdk6=${jprt.my.solaris.sparc.jdk6} jprt.my.solaris.sparc=${jprt.my.solaris.sparc.${jprt.tools.default.release}} jprt.my.solaris.sparcv9.jdk7=solaris_sparcv9_5.10 @@ -66,6 +73,8 @@ jprt.my.solaris.sparcv9.jdk6u14=solaris_sparcv9_5.8 jprt.my.solaris.sparcv9.jdk6u18=solaris_sparcv9_5.8 jprt.my.solaris.sparcv9.jdk6u20=solaris_sparcv9_5.8 +jprt.my.solaris.sparcv9.ejdk7=${jprt.my.solaris.sparcv9.jdk7} +jprt.my.solaris.sparcv9.ejdk6=${jprt.my.solaris.sparcv9.jdk6} jprt.my.solaris.sparcv9=${jprt.my.solaris.sparcv9.${jprt.tools.default.release}} jprt.my.solaris.i586.jdk7=solaris_i586_5.10 @@ -77,6 +86,8 @@ jprt.my.solaris.i586.jdk6u14=solaris_i586_5.8 jprt.my.solaris.i586.jdk6u18=solaris_i586_5.8 jprt.my.solaris.i586.jdk6u20=solaris_i586_5.8 +jprt.my.solaris.i586.ejdk7=${jprt.my.solaris.i586.jdk7} +jprt.my.solaris.i586.ejdk6=${jprt.my.solaris.i586.jdk6} jprt.my.solaris.i586=${jprt.my.solaris.i586.${jprt.tools.default.release}} jprt.my.solaris.x64.jdk7=solaris_x64_5.10 @@ -88,6 +99,8 @@ jprt.my.solaris.x64.jdk6u14=solaris_x64_5.10 jprt.my.solaris.x64.jdk6u18=solaris_x64_5.10 jprt.my.solaris.x64.jdk6u20=solaris_x64_5.10 +jprt.my.solaris.x64.ejdk7=${jprt.my.solaris.x64.jdk7} +jprt.my.solaris.x64.ejdk6=${jprt.my.solaris.x64.jdk6} jprt.my.solaris.x64=${jprt.my.solaris.x64.${jprt.tools.default.release}} jprt.my.linux.i586.jdk7=linux_i586_2.6 @@ -99,6 +112,8 @@ jprt.my.linux.i586.jdk6u14=linux_i586_2.4 jprt.my.linux.i586.jdk6u18=linux_i586_2.4 jprt.my.linux.i586.jdk6u20=linux_i586_2.4 +jprt.my.linux.i586.ejdk7=linux_i586_2.6 +jprt.my.linux.i586.ejdk6=linux_i586_2.6 jprt.my.linux.i586=${jprt.my.linux.i586.${jprt.tools.default.release}} jprt.my.linux.x64.jdk7=linux_x64_2.6 @@ -110,8 +125,45 @@ jprt.my.linux.x64.jdk6u14=linux_x64_2.4 jprt.my.linux.x64.jdk6u18=linux_x64_2.4 jprt.my.linux.x64.jdk6u20=linux_x64_2.4 +jprt.my.linux.x64.ejdk7=${jprt.my.linux.x64.jdk7} +jprt.my.linux.x64.ejdk6=${jprt.my.linux.x64.jdk6} jprt.my.linux.x64=${jprt.my.linux.x64.${jprt.tools.default.release}} +jprt.my.linux.ppc.jdk7=linux_ppc_2.6 +jprt.my.linux.ppc.jdk7b107=linux_ppc_2.6 +jprt.my.linux.ppc.jdk7temp=linux_ppc_2.6 +jprt.my.linux.ppc.ejdk6=linux_ppc_2.6 +jprt.my.linux.ppc.ejdk7=linux_ppc_2.6 +jprt.my.linux.ppc=${jprt.my.linux.ppc.${jprt.tools.default.release}} + +jprt.my.linux.ppcv2.jdk7=linux_ppcv2_2.6 +jprt.my.linux.ppcv2.jdk7b107=linux_ppcv2_2.6 +jprt.my.linux.ppcv2.jdk7temp=linux_ppcv2_2.6 +jprt.my.linux.ppcv2.ejdk6=linux_ppcv2_2.6 +jprt.my.linux.ppcv2.ejdk7=linux_ppcv2_2.6 +jprt.my.linux.ppcv2=${jprt.my.linux.ppcv2.${jprt.tools.default.release}} + +jprt.my.linux.ppcsflt.jdk7=linux_ppcsflt_2.6 +jprt.my.linux.ppcsflt.jdk7b107=linux_ppcsflt_2.6 +jprt.my.linux.ppcsflt.jdk7temp=linux_ppcsflt_2.6 +jprt.my.linux.ppcsflt.ejdk6=linux_ppcsflt_2.6 +jprt.my.linux.ppcsflt.ejdk7=linux_ppcsflt_2.6 +jprt.my.linux.ppcsflt=${jprt.my.linux.ppcsflt.${jprt.tools.default.release}} + +jprt.my.linux.armvfp.jdk7=linux_armvfp_2.6 +jprt.my.linux.armvfp.jdk7b107=linux_armvfp_2.6 +jprt.my.linux.armvfp.jdk7temp=linux_armvfp_2.6 +jprt.my.linux.armvfp.ejdk6=linux_armvfp_2.6 +jprt.my.linux.armvfp.ejdk7=linux_armvfp_2.6 +jprt.my.linux.armvfp=${jprt.my.linux.armvfp.${jprt.tools.default.release}} + +jprt.my.linux.armsflt.jdk7=linux_armsflt_2.6 +jprt.my.linux.armsflt.jdk7b107=linux_armsflt_2.6 +jprt.my.linux.armsflt.jdk7temp=linux_armsflt_2.6 +jprt.my.linux.armsflt.ejdk6=linux_armsflt_2.6 +jprt.my.linux.armsflt.ejdk7=linux_armsflt_2.6 +jprt.my.linux.armsflt=${jprt.my.linux.armsflt.${jprt.tools.default.release}} + jprt.my.windows.i586.jdk7=windows_i586_5.1 jprt.my.windows.i586.jdk7b107=windows_i586_5.0 jprt.my.windows.i586.jdk7temp=windows_i586_5.0 @@ -121,6 +173,8 @@ jprt.my.windows.i586.jdk6u14=windows_i586_5.0 jprt.my.windows.i586.jdk6u18=windows_i586_5.0 jprt.my.windows.i586.jdk6u20=windows_i586_5.0 +jprt.my.windows.i586.ejdk7=${jprt.my.windows.i586.jdk7} +jprt.my.windows.i586.ejdk6=${jprt.my.windows.i586.jdk6} jprt.my.windows.i586=${jprt.my.windows.i586.${jprt.tools.default.release}} jprt.my.windows.x64.jdk7=windows_x64_5.2 @@ -132,11 +186,13 @@ jprt.my.windows.x64.jdk6u14=windows_x64_5.2 jprt.my.windows.x64.jdk6u18=windows_x64_5.2 jprt.my.windows.x64.jdk6u20=windows_x64_5.2 +jprt.my.windows.x64.ejdk7=${jprt.my.windows.x64.jdk7} +jprt.my.windows.x64.ejdk6=${jprt.my.windows.x64.jdk6} jprt.my.windows.x64=${jprt.my.windows.x64.${jprt.tools.default.release}} # Standard list of jprt build targets for this source tree -jprt.build.targets= \ +jprt.build.targets.standard= \ ${jprt.my.solaris.sparc}-{product|fastdebug|debug}, \ ${jprt.my.solaris.sparcv9}-{product|fastdebug|debug}, \ ${jprt.my.solaris.i586}-{product|fastdebug|debug}, \ @@ -146,6 +202,30 @@ ${jprt.my.windows.i586}-{product|fastdebug|debug}, \ ${jprt.my.windows.x64}-{product|fastdebug|debug} +jprt.build.targets.embedded= \ + ${jprt.my.linux.i586}-{product|fastdebug|debug}, \ + ${jprt.my.linux.ppc}-{product|fastdebug}, \ + ${jprt.my.linux.ppcv2}-{product|fastdebug}, \ + ${jprt.my.linux.ppcsflt}-{product|fastdebug}, \ + ${jprt.my.linux.armvfp}-{product|fastdebug}, \ + ${jprt.my.linux.armsflt}-{product|fastdebug} + +jprt.build.targets.all=${jprt.build.targets.standard}, \ + ${jprt.build.targets.embedded} + +jprt.build.targets.jdk7=${jprt.build.targets.all} +jprt.build.targets.jdk7temp=${jprt.build.targets.all} +jprt.build.targets.jdk7b107=${jprt.build.targets.all} +jprt.build.targets.jdk6=${jprt.build.targets.standard} +jprt.build.targets.jdk6perf=${jprt.build.targets.standard} +jprt.build.targets.jdk6u10=${jprt.build.targets.standard} +jprt.build.targets.jdk6u14=${jprt.build.targets.standard} +jprt.build.targets.jdk6u18=${jprt.build.targets.standard} +jprt.build.targets.jdk6u20=${jprt.build.targets.standard} +jprt.build.targets.ejdk6=${jprt.build.targets.all} +jprt.build.targets.ejdk7=${jprt.build.targets.all} +jprt.build.targets=${jprt.build.targets.${jprt.tools.default.release}} + # Subset lists of test targets for this source tree jprt.my.solaris.sparc.test.targets= \ @@ -372,9 +452,14 @@ ${jprt.my.windows.x64}-product-c2-jbb_G1, \ ${jprt.my.windows.x64}-product-c2-jbb_ParOldGC -# The complete list of test targets for jprt +# Testing for actual embedded builds is different to standard +jprt.my.linux.i586.test.targets.embedded = \ + linux_i586_2.6-product-c1-scimark -jprt.test.targets = \ +# The complete list of test targets for jprt +# Note: no PPC or ARM tests at this stage + +jprt.test.targets.standard = \ ${jprt.my.solaris.sparc.test.targets}, \ ${jprt.my.solaris.sparcv9.test.targets}, \ ${jprt.my.solaris.i586.test.targets}, \ @@ -384,15 +469,41 @@ ${jprt.my.windows.i586.test.targets}, \ ${jprt.my.windows.x64.test.targets} +jprt.test.targets.embedded= \ + ${jprt.my.linux.i586.test.targets.embedded}, \ + ${jprt.my.solaris.sparc.test.targets}, \ + ${jprt.my.solaris.sparcv9.test.targets}, \ + ${jprt.my.solaris.i586.test.targets}, \ + ${jprt.my.solaris.x64.test.targets}, \ + ${jprt.my.linux.x64.test.targets}, \ + ${jprt.my.windows.i586.test.targets}, \ + ${jprt.my.windows.x64.test.targets} + + +jprt.test.targets.jdk7=${jprt.test.targets.standard} +jprt.test.targets.jdk7temp=${jprt.test.targets.standard} +jprt.test.targets.jdk7b105=${jprt.test.targets.standard} +jprt.test.targets.jdk6=${jprt.test.targets.standard} +jprt.test.targets.jdk6perf=${jprt.test.targets.standard} +jprt.test.targets.jdk6u10=${jprt.test.targets.standard} +jprt.test.targets.jdk6u14=${jprt.test.targets.standard} +jprt.test.targets.jdk6u18=${jprt.test.targets.standard} +jprt.test.targets.jdk6u20=${jprt.test.targets.standard} +jprt.test.targets.ejdk6=${jprt.test.targets.embedded} +jprt.test.targets.ejdk7=${jprt.test.targets.embedded} +jprt.test.targets=${jprt.test.targets.${jprt.tools.default.release}} + # The default test/Makefile targets that should be run #jprt.make.rule.test.targets=*-product-*-packtest -jprt.make.rule.test.targets = \ +jprt.make.rule.test.targets.standard.client = \ ${jprt.my.solaris.sparc}-*-c1-clienttest, \ ${jprt.my.solaris.i586}-*-c1-clienttest, \ ${jprt.my.linux.i586}-*-c1-clienttest, \ - ${jprt.my.windows.i586}-*-c1-clienttest, \ + ${jprt.my.windows.i586}-*-c1-clienttest + +jprt.make.rule.test.targets.standard.server = \ ${jprt.my.solaris.sparc}-*-c2-servertest, \ ${jprt.my.solaris.sparcv9}-*-c2-servertest, \ ${jprt.my.solaris.i586}-*-c2-servertest, \ @@ -402,3 +513,23 @@ ${jprt.my.windows.i586}-*-c2-servertest, \ ${jprt.my.windows.x64}-*-c2-servertest +jprt.make.rule.test.targets.standard = \ + ${jprt.make.rule.test.targets.standard.client}, \ + ${jprt.make.rule.test.targets.standard.server} + +jprt.make.rule.test.targets.embedded = \ + ${jprt.make.rule.test.targets.standard.client} + +jprt.make.rule.test.targets.jdk7=${jprt.make.rule.test.targets.standard} +jprt.make.rule.test.targets.jdk7temp=${jprt.make.rule.test.targets.standard} +jprt.make.rule.test.targets.jdk7b107=${jprt.make.rule.test.targets.standard} +jprt.make.rule.test.targets.jdk6=${jprt.make.rule.test.targets.standard} +jprt.make.rule.test.targets.jdk6perf=${jprt.make.rule.test.targets.standard} +jprt.make.rule.test.targets.jdk6u10=${jprt.make.rule.test.targets.standard} +jprt.make.rule.test.targets.jdk6u14=${jprt.make.rule.test.targets.standard} +jprt.make.rule.test.targets.jdk6u18=${jprt.make.rule.test.targets.standard} +jprt.make.rule.test.targets.jdk6u20=${jprt.make.rule.test.targets.standard} +jprt.make.rule.test.targets.ejdk6=${jprt.make.rule.test.targets.embedded} +jprt.make.rule.test.targets.ejdk7=${jprt.make.rule.test.targets.embedded} +jprt.make.rule.test.targets=${jprt.make.rule.test.targets.${jprt.tools.default.release}} +
--- a/hotspot/make/linux/Makefile Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/make/linux/Makefile Wed Jul 05 17:35:03 2017 +0200 @@ -208,7 +208,7 @@ TARGETS_SHARK = $(addsuffix shark,$(TARGETS)) BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make -BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) ARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) +BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION) JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION) BUILDTREE = $(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_VARS)
--- a/hotspot/make/linux/makefiles/adlc.make Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/make/linux/makefiles/adlc.make Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ # -# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1999, 2011, 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 @@ -39,8 +39,9 @@ SOURCE.AD = $(OUTDIR)/$(OS)_$(Platform_arch_model).ad -SOURCES.AD = $(GAMMADIR)/src/cpu/$(ARCH)/vm/$(Platform_arch_model).ad \ - $(GAMMADIR)/src/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad +SOURCES.AD = \ + $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \ + $(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad) EXEC = $(OUTDIR)/adlc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/make/linux/makefiles/arm.make Wed Jul 05 17:35:03 2017 +0200 @@ -0,0 +1,10 @@ +# +# Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +# ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. +# + +Obj_Files += linux_arm.o + +LIBS += $(EXT_LIBS_PATH)/sflt_glibc.a + +CFLAGS += -DVM_LITTLE_ENDIAN
--- a/hotspot/make/linux/makefiles/buildtree.make Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/make/linux/makefiles/buildtree.make Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ # -# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2005, 2011, 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 @@ -24,7 +24,7 @@ # Usage: # -# $(MAKE) -f buildtree.make ARCH=arch BUILDARCH=buildarch LIBARCH=libarch +# $(MAKE) -f buildtree.make SRCARCH=srcarch BUILDARCH=buildarch LIBARCH=libarch # GAMMADIR=dir OS_FAMILY=os VARIANT=variant # # The macros ARCH, GAMMADIR, OS_FAMILY and VARIANT must be defined in the @@ -56,6 +56,8 @@ # having to read the dependency files for the vm. include $(GAMMADIR)/make/scm.make +include $(GAMMADIR)/make/altsrc.make + # 'gmake MAKE_VERBOSE=y' or 'gmake QUIETLY=' gives all the gory details. QUIETLY$(MAKE_VERBOSE) = @ @@ -127,7 +129,7 @@ env.sh env.csh jdkpath.sh .dbxrc test_gamma BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OS_FAMILY) \ - ARCH=$(ARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) VARIANT=$(VARIANT) + SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) VARIANT=$(VARIANT) # Define variables to be set in flags.make. # Default values are set in make/defs.make. @@ -146,13 +148,7 @@ # Define HOTSPOT_VM_DISTRO based on settings in make/openjdk_distro # or make/hotspot_distro. ifndef HOTSPOT_VM_DISTRO - CLOSED_DIR_EXISTS := $(shell \ - if [ -d $(GAMMADIR)/src/closed ] ; then \ - echo true; \ - else \ - echo false; \ - fi) - ifeq ($(CLOSED_DIR_EXISTS), true) + ifeq ($(call if-has-altsrc,$(HS_COMMON_SRC)/,true,false),true) include $(GAMMADIR)/make/hotspot_distro else include $(GAMMADIR)/make/openjdk_distro @@ -177,6 +173,11 @@ $(SIMPLE_DIRS): $(QUIETLY) mkdir -p $@ +# Convenience macro which takes a source relative path, applies $(1) to the +# absolute path, and then replaces $(GAMMADIR) in the result with a +# literal "$(GAMMADIR)/" suitable for inclusion in a Makefile. +gamma-path=$(subst $(GAMMADIR),\$$(GAMMADIR),$(call $(1),$(HS_COMMON_SRC)/$(2))) + flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst @echo Creating $@ ... $(QUIETLY) ( \ @@ -187,7 +188,7 @@ echo; \ echo "GAMMADIR = $(GAMMADIR)"; \ echo "SYSDEFS = \$$(Platform_sysdefs)"; \ - echo "SRCARCH = $(ARCH)"; \ + echo "SRCARCH = $(SRCARCH)"; \ echo "BUILDARCH = $(BUILDARCH)"; \ echo "LIBARCH = $(LIBARCH)"; \ echo "TARGET = $(TARGET)"; \ @@ -208,16 +209,28 @@ echo; \ echo "Src_Dirs_V = \\"; \ sed 's/$$/ \\/;s|$(GAMMADIR)|$$(GAMMADIR)|' ../shared_dirs.lst; \ - echo "\$$(GAMMADIR)/src/cpu/$(ARCH)/vm \\"; \ - echo "\$$(GAMMADIR)/src/os/$(OS_FAMILY)/vm \\"; \ - echo "\$$(GAMMADIR)/src/os_cpu/$(OS_FAMILY)_$(ARCH)/vm"; \ + echo "$(call gamma-path,altsrc,cpu/$(SRCARCH)/vm) \\"; \ + echo "$(call gamma-path,commonsrc,cpu/$(SRCARCH)/vm) \\"; \ + echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \ + echo "$(call gamma-path,commonsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \ + echo "$(call gamma-path,altsrc,os/$(OS_FAMILY)/vm) \\"; \ + echo "$(call gamma-path,commonsrc,os/$(OS_FAMILY)/vm) \\"; \ + echo "$(call gamma-path,altsrc,os/posix/vm) \\"; \ + echo "$(call gamma-path,commonsrc,os/posix/vm)"; \ echo; \ echo "Src_Dirs_I = \\"; \ - echo "\$$(GAMMADIR)/src/share/vm \\"; \ - echo "\$$(GAMMADIR)/src/share/vm/prims \\"; \ - echo "\$$(GAMMADIR)/src/cpu/$(ARCH)/vm \\"; \ - echo "\$$(GAMMADIR)/src/os/$(OS_FAMILY)/vm \\"; \ - echo "\$$(GAMMADIR)/src/os_cpu/$(OS_FAMILY)_$(ARCH)/vm"; \ + echo "$(call gamma-path,altsrc,share/vm/prims) \\"; \ + echo "$(call gamma-path,commonsrc,share/vm/prims) \\"; \ + echo "$(call gamma-path,altsrc,share/vm) \\"; \ + echo "$(call gamma-path,commonsrc,share/vm) \\"; \ + echo "$(call gamma-path,altsrc,cpu/$(SRCARCH)/vm) \\"; \ + echo "$(call gamma-path,commonsrc,cpu/$(SRCARCH)/vm) \\"; \ + echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \ + echo "$(call gamma-path,commonsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \ + echo "$(call gamma-path,altsrc,os/$(OS_FAMILY)/vm) \\"; \ + echo "$(call gamma-path,commonsrc,os/$(OS_FAMILY)/vm) \\"; \ + echo "$(call gamma-path,altsrc,os/posix/vm) \\"; \ + echo "$(call gamma-path,commonsrc,os/posix/vm)"; \ [ -n "$(CFLAGS_BROWSE)" ] && \ echo && echo "CFLAGS_BROWSE = $(CFLAGS_BROWSE)"; \ [ -n "$(HOTSPOT_EXTRA_SYSDEFS)" ] && \ @@ -241,9 +254,14 @@ ../shared_dirs.lst: $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm @echo Creating directory list $@ - $(QUIETLY) find $(GAMMADIR)/src/share/vm/* -prune \ + $(QUIETLY) if [ -d $(HS_ALT_SRC)/share/vm ]; then \ + find $(HS_ALT_SRC)/share/vm/* -prune \ + -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \ + \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; > $@; \ + fi; + $(QUIETLY) find $(HS_COMMON_SRC)/share/vm/* -prune \ -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \ - \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; > $@ + \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; >> $@ Makefile: $(BUILDTREE_MAKE) @echo Creating $@ ...
--- a/hotspot/make/linux/makefiles/gcc.make Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/make/linux/makefiles/gcc.make Wed Jul 05 17:35:03 2017 +0200 @@ -75,6 +75,11 @@ CFLAGS += -fno-exceptions CFLAGS += -D_REENTRANT CFLAGS += -fcheck-new +# version 4 and above support fvisibility=hidden (matches jni_x86.h file) +# except 4.1.2 gives pointless warnings that can't be disabled (afaik) +ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 3 \) \))" "0" +CFLAGS += -fvisibility=hidden +endif ARCHFLAG = $(ARCHFLAG/$(BUILDARCH)) ARCHFLAG/i486 = -m32 -march=i586
--- a/hotspot/make/linux/makefiles/mapfile-vers-debug Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/make/linux/makefiles/mapfile-vers-debug Wed Jul 05 17:35:03 2017 +0200 @@ -262,14 +262,6 @@ JVM_SetField; JVM_SetPrimitiveField; - # Needed for dropping VM into JDK 1.3.x, 1.4 - _JVM_native_threads; - jdk_sem_init; - jdk_sem_post; - jdk_sem_wait; - jdk_pthread_sigmask; - jdk_waitpid; - # debug JVM JVM_AccessVMBooleanFlag; JVM_AccessVMIntFlag;
--- a/hotspot/make/linux/makefiles/mapfile-vers-product Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/make/linux/makefiles/mapfile-vers-product Wed Jul 05 17:35:03 2017 +0200 @@ -262,14 +262,6 @@ JVM_SetField; JVM_SetPrimitiveField; - # Needed for dropping VM into JDK 1.3.x, 1.4 - _JVM_native_threads; - jdk_sem_init; - jdk_sem_post; - jdk_sem_wait; - jdk_pthread_sigmask; - jdk_waitpid; - # miscellaneous functions jio_fprintf; jio_printf;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/make/linux/makefiles/ppc.make Wed Jul 05 17:35:03 2017 +0200 @@ -0,0 +1,11 @@ +# +# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. +# ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. +# + +# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized +OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) + +# Must also specify if CPU is big endian +CFLAGS += -DVM_BIG_ENDIAN +
--- a/hotspot/make/linux/makefiles/rules.make Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/make/linux/makefiles/rules.make Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ # -# Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2003, 2011, 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 @@ -146,6 +146,8 @@ include $(GAMMADIR)/make/pic.make endif +include $(GAMMADIR)/make/altsrc.make + # The non-PIC object files are only generated for 32 bit platforms. ifdef LP64 %.o: %.cpp
--- a/hotspot/make/linux/makefiles/top.make Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/make/linux/makefiles/top.make Wed Jul 05 17:35:03 2017 +0200 @@ -39,6 +39,8 @@ # Instead, use "gmake" (or "gnumake") from the command line. --Rose #MAKE = gmake +include $(GAMMADIR)/make/altsrc.make + TOPDIR = $(shell echo `pwd`) GENERATED = $(TOPDIR)/../generated VM = $(GAMMADIR)/src/share/vm @@ -57,8 +59,8 @@ AD_Dir = $(GENERATED)/adfiles ADLC = $(AD_Dir)/adlc -AD_Spec = $(GAMMADIR)/src/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad -AD_Src = $(GAMMADIR)/src/share/vm/adlc +AD_Spec = $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad) +AD_Src = $(call altsrc-replace,$(HS_COMMON_SRC)/share/vm/adlc) AD_Names = ad_$(Platform_arch_model).hpp ad_$(Platform_arch_model).cpp AD_Files = $(AD_Names:%=$(AD_Dir)/%)
--- a/hotspot/make/linux/makefiles/vm.make Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/make/linux/makefiles/vm.make Wed Jul 05 17:35:03 2017 +0200 @@ -28,6 +28,7 @@ # Common build rules. MAKEFILES_DIR=$(GAMMADIR)/make/$(Platform_os_family)/makefiles include $(MAKEFILES_DIR)/rules.make +include $(GAMMADIR)/make/altsrc.make default: build @@ -119,17 +120,27 @@ LIBJVM = lib$(JVM).so LIBJVM_G = lib$(JVM)$(G_SUFFIX).so -CORE_PATHS := $(shell find $(GAMMADIR)/src/share/vm/* -type d \! \( -name adlc -o -name c1 -o -name gc_implementation -o -name opto -o -name shark -o -name libadt \)) -CORE_PATHS += $(GAMMADIR)/src/os/$(Platform_os_family)/vm -CORE_PATHS += $(GAMMADIR)/src/cpu/$(Platform_arch)/vm -CORE_PATHS += $(GAMMADIR)/src/os_cpu/$(Platform_os_arch)/vm -CORE_PATHS += $(GENERATED)/jvmtifiles +SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt + +SOURCE_PATHS=\ + $(shell find $(HS_COMMON_SRC)/share/vm/* -type d \! \ + \( -name DUMMY $(foreach dir,$(SPECIAL_PATHS),-o -name $(dir)) \)) +SOURCE_PATHS+=$(HS_COMMON_SRC)/os/$(Platform_os_family)/vm +SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm +SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm +SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm -COMPILER1_PATHS := $(GAMMADIR)/src/share/vm/c1 +CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path)) +CORE_PATHS+=$(GENERATED)/jvmtifiles + +COMPILER1_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/c1) +COMPILER1_PATHS += $(HS_COMMON_SRC)/share/vm/c1 -COMPILER2_PATHS := $(GAMMADIR)/src/share/vm/opto -COMPILER2_PATHS += $(GAMMADIR)/src/share/vm/libadt -COMPILER2_PATHS += $(GENERATED)/adfiles +COMPILER2_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/opto) +COMPILER2_PATHS += $(call altsrc,$(HS_COMMON_SRC)/share/vm/libadt) +COMPILER2_PATHS += $(HS_COMMON_SRC)/share/vm/opto +COMPILER2_PATHS += $(HS_COMMON_SRC)/share/vm/libadt +COMPILER2_PATHS += $(GENERATED)/adfiles # Include dirs per type. Src_Dirs/CORE := $(CORE_PATHS)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/make/linux/platform_arm Wed Jul 05 17:35:03 2017 +0200 @@ -0,0 +1,17 @@ +os_family = linux + +arch = arm + +arch_model = arm + +os_arch = linux_arm + +os_arch_model = linux_arm + +lib_arch = arm + +compiler = gcc + +gnu_dis_arch = arm + +sysdefs = -DLINUX -D_GNU_SOURCE -DARM
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/make/linux/platform_ppc Wed Jul 05 17:35:03 2017 +0200 @@ -0,0 +1,17 @@ +os_family = linux + +arch = ppc + +arch_model = ppc + +os_arch = linux_ppc + +os_arch_model = linux_ppc + +lib_arch = ppc + +compiler = gcc + +gnu_dis_arch = ppc + +sysdefs = -DLINUX -D_GNU_SOURCE -DPPC
--- a/hotspot/make/solaris/makefiles/adlc.make Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/make/solaris/makefiles/adlc.make Wed Jul 05 17:35:03 2017 +0200 @@ -27,6 +27,7 @@ # It knows how to compile, link, and run the adlc. include $(GAMMADIR)/make/$(Platform_os_family)/makefiles/rules.make +include $(GAMMADIR)/make/altsrc.make # ######################################################################### @@ -39,8 +40,9 @@ SOURCE.AD = $(OUTDIR)/$(OS)_$(Platform_arch_model).ad -SOURCES.AD = $(GAMMADIR)/src/cpu/$(ARCH)/vm/$(Platform_arch_model).ad \ - $(GAMMADIR)/src/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad +SOURCES.AD = \ + $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \ + $(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad) EXEC = $(OUTDIR)/adlc
--- a/hotspot/make/solaris/makefiles/buildtree.make Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/make/solaris/makefiles/buildtree.make Wed Jul 05 17:35:03 2017 +0200 @@ -56,6 +56,7 @@ # having to read the dependency files for the vm. include $(GAMMADIR)/make/scm.make +include $(GAMMADIR)/make/altsrc.make # 'gmake MAKE_VERBOSE=y' or 'gmake QUIETLY=' gives all the gory details. QUIETLY$(MAKE_VERBOSE) = @ @@ -139,13 +140,7 @@ # Define HOTSPOT_VM_DISTRO based on settings in make/openjdk_distro # or make/hotspot_distro. ifndef HOTSPOT_VM_DISTRO - CLOSED_DIR_EXISTS := $(shell \ - if [ -d $(GAMMADIR)/src/closed ] ; then \ - echo true; \ - else \ - echo false; \ - fi) - ifeq ($(CLOSED_DIR_EXISTS), true) + ifeq ($(call if-has-altsrc,$(HS_COMMON_SRC)/,true,false),true) include $(GAMMADIR)/make/hotspot_distro else include $(GAMMADIR)/make/openjdk_distro @@ -170,6 +165,11 @@ $(SIMPLE_DIRS): $(QUIETLY) mkdir -p $@ +# Convenience macro which takes a source relative path, applies $(1) to the +# absolute path, and then replaces $(GAMMADIR) in the result with a +# literal "$(GAMMADIR)/" suitable for inclusion in a Makefile. +gamma-path=$(subst $(GAMMADIR),\$$(GAMMADIR),$(call $(1),$(HS_COMMON_SRC)/$(2))) + flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst @echo Creating $@ ... $(QUIETLY) ( \ @@ -202,16 +202,28 @@ echo; \ echo "Src_Dirs_V = \\"; \ sed 's/$$/ \\/;s|$(GAMMADIR)|$$(GAMMADIR)|' ../shared_dirs.lst; \ - echo "\$$(GAMMADIR)/src/cpu/$(ARCH)/vm \\"; \ - echo "\$$(GAMMADIR)/src/os/$(OS_FAMILY)/vm \\"; \ - echo "\$$(GAMMADIR)/src/os_cpu/$(OS_FAMILY)_$(ARCH)/vm"; \ + echo "$(call gamma-path,altsrc,cpu/$(ARCH)/vm) \\"; \ + echo "$(call gamma-path,commonsrc,cpu/$(ARCH)/vm) \\"; \ + echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(ARCH)/vm) \\"; \ + echo "$(call gamma-path,commonsrc,os_cpu/$(OS_FAMILY)_$(ARCH)/vm) \\"; \ + echo "$(call gamma-path,altsrc,os/$(OS_FAMILY)/vm) \\"; \ + echo "$(call gamma-path,commonsrc,os/$(OS_FAMILY)/vm) \\"; \ + echo "$(call gamma-path,altsrc,os/posix/vm) \\"; \ + echo "$(call gamma-path,commonsrc,os/posix/vm)"; \ echo; \ echo "Src_Dirs_I = \\"; \ - echo "\$$(GAMMADIR)/src/share/vm \\"; \ - echo "\$$(GAMMADIR)/src/share/vm/prims \\"; \ - echo "\$$(GAMMADIR)/src/cpu/$(ARCH)/vm \\"; \ - echo "\$$(GAMMADIR)/src/os/$(OS_FAMILY)/vm \\"; \ - echo "\$$(GAMMADIR)/src/os_cpu/$(OS_FAMILY)_$(ARCH)/vm"; \ + echo "$(call gamma-path,altsrc,share/vm/prims) \\"; \ + echo "$(call gamma-path,commonsrc,share/vm/prims) \\"; \ + echo "$(call gamma-path,altsrc,share/vm) \\"; \ + echo "$(call gamma-path,commonsrc,share/vm) \\"; \ + echo "$(call gamma-path,altsrc,cpu/$(ARCH)/vm) \\"; \ + echo "$(call gamma-path,commonsrc,cpu/$(ARCH)/vm) \\"; \ + echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(ARCH)/vm) \\"; \ + echo "$(call gamma-path,commonsrc,os_cpu/$(OS_FAMILY)_$(ARCH)/vm) \\"; \ + echo "$(call gamma-path,altsrc,os/$(OS_FAMILY)/vm) \\"; \ + echo "$(call gamma-path,commonsrc,os/$(OS_FAMILY)/vm) \\"; \ + echo "$(call gamma-path,altsrc,os/posix/vm) \\"; \ + echo "$(call gamma-path,commonsrc,os/posix/vm)"; \ [ -n "$(CFLAGS_BROWSE)" ] && \ echo && echo "CFLAGS_BROWSE = $(CFLAGS_BROWSE)"; \ [ -n "$(HOTSPOT_EXTRA_SYSDEFS)" ] && \ @@ -235,9 +247,14 @@ ../shared_dirs.lst: $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm @echo Creating directory list $@ - $(QUIETLY) find $(GAMMADIR)/src/share/vm/* -prune \ + $(QUIETLY) if [ -d $(HS_ALT_SRC)/share/vm ]; then \ + find $(HS_ALT_SRC)/share/vm/* -prune \ + -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \ + \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; > $@; \ + fi; + $(QUIETLY) find $(HS_COMMON_SRC)/share/vm/* -prune \ -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \ - \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; > $@ + \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; >> $@ Makefile: $(BUILDTREE_MAKE) @echo Creating $@ ...
--- a/hotspot/make/solaris/makefiles/rules.make Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/make/solaris/makefiles/rules.make Wed Jul 05 17:35:03 2017 +0200 @@ -146,6 +146,8 @@ include $(GAMMADIR)/make/pic.make endif +include $(GAMMADIR)/make/altsrc.make + # Sun compiler for 64 bit Solaris does not support building non-PIC object files. ifdef LP64 %.o: %.cpp
--- a/hotspot/make/solaris/makefiles/top.make Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/make/solaris/makefiles/top.make Wed Jul 05 17:35:03 2017 +0200 @@ -39,6 +39,8 @@ # Instead, use "gmake" (or "gnumake") from the command line. --Rose #MAKE = gmake +include $(GAMMADIR)/make/altsrc.make + GENERATED = ../generated VM = $(GAMMADIR)/src/share/vm Plat_File = $(Platform_file) @@ -48,8 +50,8 @@ AD_Dir = $(GENERATED)/adfiles ADLC = $(AD_Dir)/adlc -AD_Spec = $(GAMMADIR)/src/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad -AD_Src = $(GAMMADIR)/src/share/vm/adlc +AD_Spec = $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad) +AD_Src = $(call altsrc-replace,$(HS_COMMON_SRC)/share/vm/adlc) AD_Names = ad_$(Platform_arch_model).hpp ad_$(Platform_arch_model).cpp AD_Files = $(AD_Names:%=$(AD_Dir)/%)
--- a/hotspot/make/solaris/makefiles/vm.make Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/make/solaris/makefiles/vm.make Wed Jul 05 17:35:03 2017 +0200 @@ -28,6 +28,7 @@ # Common build rules. MAKEFILES_DIR=$(GAMMADIR)/make/$(Platform_os_family)/makefiles include $(MAKEFILES_DIR)/rules.make +include $(GAMMADIR)/make/altsrc.make default: build @@ -139,16 +140,26 @@ LIBJVM = lib$(JVM).so LIBJVM_G = lib$(JVM)$(G_SUFFIX).so -CORE_PATHS := $(shell find $(GAMMADIR)/src/share/vm/* -type d \! \( -name adlc -o -name c1 -o -name gc_implementation -o -name opto -o -name shark -o -name libadt \)) -CORE_PATHS += $(GAMMADIR)/src/os/$(Platform_os_family)/vm -CORE_PATHS += $(GAMMADIR)/src/cpu/$(Platform_arch)/vm -CORE_PATHS += $(GAMMADIR)/src/os_cpu/$(Platform_os_arch)/vm -CORE_PATHS += $(GENERATED)/jvmtifiles +SPECIAL_PATHS:=adlc c1 dist gc_implementation opto shark libadt + +SOURCE_PATHS=\ + $(shell find $(HS_COMMON_SRC)/share/vm/* -type d \! \ + \( -name DUMMY $(foreach dir,$(SPECIAL_PATHS),-o -name $(dir)) \)) +SOURCE_PATHS+=$(HS_COMMON_SRC)/os/$(Platform_os_family)/vm +SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm +SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm +SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm -COMPILER1_PATHS := $(GAMMADIR)/src/share/vm/c1 +CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path)) +CORE_PATHS+=$(GENERATED)/jvmtifiles -COMPILER2_PATHS := $(GAMMADIR)/src/share/vm/opto -COMPILER2_PATHS += $(GAMMADIR)/src/share/vm/libadt +COMPILER1_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/c1) +COMPILER1_PATHS += $(HS_COMMON_SRC)/share/vm/c1 + +COMPILER2_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/opto) +COMPILER2_PATHS += $(call altsrc,$(HS_COMMON_SRC)/share/vm/libadt) +COMPILER2_PATHS += $(HS_COMMON_SRC)/share/vm/opto +COMPILER2_PATHS += $(HS_COMMON_SRC)/share/vm/libadt COMPILER2_PATHS += $(GENERATED)/adfiles # Include dirs per type.
--- a/hotspot/make/windows/create_obj_files.sh Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/make/windows/create_obj_files.sh Wed Jul 05 17:35:03 2017 +0200 @@ -51,21 +51,48 @@ WorkSpace=$4 GENERATED=$5 -BASE_PATHS="` $FIND ${WorkSpace}/src/share/vm ! -name vm -prune -type d \! \( -name adlc -o -name c1 -o -name gc_implementation -o -name opto -o -name shark -o -name libadt \)`" -BASE_PATHS="${BASE_PATHS} ${WorkSpace}/src/share/vm/gc_implementation/shared" -BASE_PATHS="${BASE_PATHS} ${WorkSpace}/src/os/${Platform_os_family}/vm" -BASE_PATHS="${BASE_PATHS} ${WorkSpace}/src/cpu/${Platform_arch}/vm" -BASE_PATHS="${BASE_PATHS} ${WorkSpace}/src/os_cpu/${Platform_os_arch}/vm" +COMMONSRC_REL=src +ALTSRC_REL=src/closed # Change this to pick up alt sources from somewhere else + +COMMONSRC=${WorkSpace}/${COMMONSRC_REL} +ALTSRC=${WorkSpace}/${ALTSRC_REL} + +BASE_PATHS="`if [ -d ${ALTSRC}/share/vm ]; then $FIND ${ALTSRC}/share/vm ! -name vm -prune -type d \! \( -name adlc -o -name c1 -o -name gc_implementation -o -name opto -o -name shark -o -name libadt \); fi`" +BASE_PATHS="${BASE_PATHS} ` $FIND ${COMMONSRC}/share/vm ! -name vm -prune -type d \! \( -name adlc -o -name c1 -o -name gc_implementation -o -name opto -o -name shark -o -name libadt \)`" + +for sd in \ + share/vm/gc_implementation/shared \ + os/${Platform_os_family}/vm \ + cpu/${Platform_arch}/vm \ + os_cpu/${Platform_os_arch}/vm; do + if [ -d "${ALTSRC}/${sd}" ]; then + BASE_PATHS="${BASE_PATHS} ${ALTSRC}/${sd}" + fi + BASE_PATHS="${BASE_PATHS} ${COMMONSRC}/${sd}" +done + BASE_PATHS="${BASE_PATHS} ${GENERATED}/jvmtifiles" CORE_PATHS="${BASE_PATHS}" # shared is already in BASE_PATHS. Should add vm/memory but that one is also in BASE_PATHS. -CORE_PATHS="${CORE_PATHS} `$FIND ${WorkSpace}/src/share/vm/gc_implementation ! -name gc_implementation -prune -type d \! -name shared`" +if [ -d "${ALTSRC}/share/vm/gc_implementation" ]; then + CORE_PATHS="${CORE_PATHS} `$FIND ${ALTSRC}/share/vm/gc_implementation ! -name gc_implementation -prune -type d \! -name shared`" +fi +CORE_PATHS="${CORE_PATHS} `$FIND ${COMMONSRC}/share/vm/gc_implementation ! -name gc_implementation -prune -type d \! -name shared`" -COMPILER1_PATHS="${WorkSpace}/src/share/vm/c1" +if [ -d "${ALTSRC}/share/vm/c1" ]; then + COMPILER1_PATHS="${ALTSRC}/share/vm/c1" +fi +COMPILER1_PATHS="${COMPILER1_PATHS} ${COMMONSRC}/share/vm/c1" -COMPILER2_PATHS="${WorkSpace}/src/share/vm/opto" -COMPILER2_PATHS="${COMPILER2_PATHS} ${WorkSpace}/src/share/vm/libadt" +if [ -d "${ALTSRC}/share/vm/opto" ]; then + COMPILER2_PATHS="${ALTSRC}/share/vm/opto" +fi +COMPILER2_PATHS="${COMPILER2_PATHS} ${COMMONSRC}/share/vm/opto" +if [ -d "${ALTSRC}/share/vm/libadt" ]; then + COMPILER2_PATHS="${COMPILER2_PATHS} ${ALTSRC}/share/vm/libadt" +fi +COMPILER2_PATHS="${COMPILER2_PATHS} ${COMMONSRC}/share/vm/libadt" COMPILER2_PATHS="${COMPILER2_PATHS} ${GENERATED}/adfiles" # Include dirs per type.
--- a/hotspot/make/windows/makefiles/vm.make Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/make/windows/makefiles/vm.make Wed Jul 05 17:35:03 2017 +0200 @@ -27,6 +27,9 @@ !include ..\generated\objfiles.make +COMMONSRC=$(WorkSpace)\src +ALTSRC=$(WorkSpace)\src\closed + !ifdef RELEASE !ifdef DEVELOP CPP_FLAGS=$(CPP_FLAGS) /D "DEBUG" @@ -111,13 +114,30 @@ /export:JVM_GetThreadStateValues \ /export:JVM_InitAgentProperties -CPP_INCLUDE_DIRS=\ - /I "..\generated" \ - /I "$(WorkSpace)\src\share\vm" \ - /I "$(WorkSpace)\src\share\vm\prims" \ - /I "$(WorkSpace)\src\os\windows\vm" \ - /I "$(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm" \ - /I "$(WorkSpace)\src\cpu\$(Platform_arch)\vm" +CPP_INCLUDE_DIRS=/I "..\generated" + +!if exists($(ALTSRC)\share\vm) +CPP_INCLUDE_DIRS=$(CPP_INCLUDE_DIRS) /I "$(ALTSRC)\share\vm" +!endif + +!if exists($(ALTSRC)\os\windows\vm) +CPP_INCLUDE_DIRS=$(CPP_INCLUDE_DIRS) /I "$(ALTSRC)\os\windows\vm" +!endif + +!if exists($(ALTSRC)\os_cpu\windows_$(Platform_arch)\vm) +CPP_INCLUDE_DIRS=$(CPP_INCLUDE_DIRS) /I "$(ALTSRC)\os_cpu\windows_$(Platform_arch)\vm" +!endif + +!if exists($(ALTSRC)\cpu\$(Platform_arch)\vm) +CPP_INCLUDE_DIRS=$(CPP_INCLUDE_DIRS) /I "$(ALTSRC)\cpu\$(Platform_arch)\vm" +!endif + +CPP_INCLUDE_DIRS=$(CPP_INCLUDE_DIRS) \ + /I "$(COMMONSRC)\share\vm" \ + /I "$(COMMONSRC)\share\vm\prims" \ + /I "$(COMMONSRC)\os\windows\vm" \ + /I "$(COMMONSRC)\os_cpu\windows_$(Platform_arch)\vm" \ + /I "$(COMMONSRC)\cpu\$(Platform_arch)\vm" CPP_DONT_USE_PCH=/D DONT_USE_PRECOMPILED_HEADER @@ -127,7 +147,7 @@ CPP_USE_PCH=$(CPP_DONT_USE_PCH) !endif -# Where to find the source code for the virtual machine +# Where to find the source code for the virtual machine (is this used?) VM_PATH=../generated VM_PATH=$(VM_PATH);../generated/adfiles VM_PATH=$(VM_PATH);../generated/jvmtifiles @@ -188,81 +208,157 @@ $(CPP) $(CPP_FLAGS) $(CPP_DONT_USE_PCH) /c ..\generated\jvmtifiles\bytecodeInterpreterWithChecks.cpp # Default rules for the Virtual Machine -{$(WorkSpace)\src\share\vm\c1}.cpp.obj:: +{$(COMMONSRC)\share\vm\c1}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\share\vm\compiler}.cpp.obj:: +{$(COMMONSRC)\share\vm\compiler}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\share\vm\code}.cpp.obj:: +{$(COMMONSRC)\share\vm\code}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\share\vm\interpreter}.cpp.obj:: +{$(COMMONSRC)\share\vm\interpreter}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\share\vm\ci}.cpp.obj:: +{$(COMMONSRC)\share\vm\ci}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\share\vm\classfile}.cpp.obj:: +{$(COMMONSRC)\share\vm\classfile}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\share\vm\gc_implementation\parallelScavenge}.cpp.obj:: +{$(COMMONSRC)\share\vm\gc_implementation\parallelScavenge}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\share\vm\gc_implementation\shared}.cpp.obj:: +{$(COMMONSRC)\share\vm\gc_implementation\shared}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\share\vm\gc_implementation\parNew}.cpp.obj:: +{$(COMMONSRC)\share\vm\gc_implementation\parNew}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\share\vm\gc_implementation\concurrentMarkSweep}.cpp.obj:: +{$(COMMONSRC)\share\vm\gc_implementation\concurrentMarkSweep}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\share\vm\gc_implementation\g1}.cpp.obj:: +{$(COMMONSRC)\share\vm\gc_implementation\g1}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\share\vm\gc_interface}.cpp.obj:: +{$(COMMONSRC)\share\vm\gc_interface}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\share\vm\asm}.cpp.obj:: +{$(COMMONSRC)\share\vm\asm}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\share\vm\memory}.cpp.obj:: +{$(COMMONSRC)\share\vm\memory}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\share\vm\oops}.cpp.obj:: +{$(COMMONSRC)\share\vm\oops}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\share\vm\prims}.cpp.obj:: +{$(COMMONSRC)\share\vm\prims}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\share\vm\runtime}.cpp.obj:: +{$(COMMONSRC)\share\vm\runtime}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\share\vm\services}.cpp.obj:: +{$(COMMONSRC)\share\vm\services}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\share\vm\utilities}.cpp.obj:: +{$(COMMONSRC)\share\vm\utilities}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\share\vm\libadt}.cpp.obj:: +{$(COMMONSRC)\share\vm\libadt}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\share\vm\opto}.cpp.obj:: +{$(COMMONSRC)\share\vm\opto}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\os\windows\vm}.cpp.obj:: +{$(COMMONSRC)\os\windows\vm}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< # This guy should remain a single colon rule because # otherwise we can't specify the output filename. -{$(WorkSpace)\src\os\windows\vm}.rc.res: +{$(COMMONSRC)\os\windows\vm}.rc.res: @$(RC) $(RC_FLAGS) /fo"$@" $< -{$(WorkSpace)\src\cpu\$(Platform_arch)\vm}.cpp.obj:: +{$(COMMONSRC)\cpu\$(Platform_arch)\vm}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(COMMONSRC)\os_cpu\windows_$(Platform_arch)\vm}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\share\vm\c1}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\share\vm\compiler}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\share\vm\code}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\share\vm\interpreter}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\share\vm\ci}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\share\vm\classfile}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\share\vm\gc_implementation\parallelScavenge}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\share\vm\gc_implementation\shared}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\share\vm\gc_implementation\parNew}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\share\vm\gc_implementation\concurrentMarkSweep}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\share\vm\gc_implementation\g1}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< -{$(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm}.cpp.obj:: +{$(ALTSRC)\share\vm\gc_interface}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\share\vm\asm}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\share\vm\memory}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\share\vm\oops}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\share\vm\prims}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\share\vm\runtime}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\share\vm\services}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\share\vm\utilities}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\share\vm\libadt}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\share\vm\opto}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\os\windows\vm}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +# otherwise we can't specify the output filename. +{$(ALTSRC)\os\windows\vm}.rc.res: + @$(RC) $(RC_FLAGS) /fo"$@" $< + +{$(ALTSRC)\cpu\$(Platform_arch)\vm}.cpp.obj:: + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< + +{$(ALTSRC)\os_cpu\windows_$(Platform_arch)\vm}.cpp.obj:: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< {..\generated\incls}.cpp.obj::
--- a/hotspot/src/cpu/sparc/vm/jni_sparc.h Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/cpu/sparc/vm/jni_sparc.h Wed Jul 05 17:35:03 2017 +0200 @@ -23,8 +23,13 @@ * questions. */ -#define JNIEXPORT -#define JNIIMPORT +#if defined(__GNUC__) && (__GNUC__ >= 4) + #define JNIEXPORT __attribute__((visibility("default"))) + #define JNIIMPORT __attribute__((visibility("default"))) +#else + #define JNIEXPORT + #define JNIIMPORT +#endif #define JNICALL typedef int jint;
--- a/hotspot/src/cpu/x86/vm/jni_x86.h Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/cpu/x86/vm/jni_x86.h Wed Jul 05 17:35:03 2017 +0200 @@ -27,10 +27,16 @@ #define _JAVASOFT_JNI_MD_H_ #if defined(SOLARIS) || defined(LINUX) + +#if defined(__GNUC__) && (__GNUC__ > 4) || (__GNUC__ == 4) && (__GNUC_MINOR__ > 2) + #define JNIEXPORT __attribute__((visibility("default"))) + #define JNIIMPORT __attribute__((visibility("default"))) +#else #define JNIEXPORT #define JNIIMPORT +#endif + #define JNICALL - typedef int jint; #ifdef _LP64
--- a/hotspot/src/cpu/zero/vm/jni_zero.h Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/cpu/zero/vm/jni_zero.h Wed Jul 05 17:35:03 2017 +0200 @@ -24,8 +24,14 @@ * questions. */ -#define JNIEXPORT -#define JNIIMPORT + +#if defined(__GNUC__) && (__GNUC__ >= 4) + #define JNIEXPORT __attribute__((visibility("default"))) + #define JNIIMPORT __attribute__((visibility("default"))) +#else + #define JNIEXPORT + #define JNIIMPORT +#endif #define JNICALL typedef int jint;
--- a/hotspot/src/os/linux/vm/jvm_linux.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/os/linux/vm/jvm_linux.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -29,11 +29,6 @@ #include <signal.h> -/* - * FIXME: This is temporary hack to keep Linux Runtime.exec() - * code happy. See $JDK/src/linux/native/java/lang/UnixProcess_md.c - */ -int _JVM_native_threads = 1; // sun.misc.Signal /////////////////////////////////////////////////////////// // Signal code is mostly copied from classic vm, signals_md.c 1.4 98/08/23
--- a/hotspot/src/os/linux/vm/osThread_linux.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/os/linux/vm/osThread_linux.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -39,6 +39,12 @@ #ifdef TARGET_ARCH_zero # include "assembler_zero.inline.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "assembler_arm.inline.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "assembler_ppc.inline.hpp" +#endif void OSThread::pd_initialize() {
--- a/hotspot/src/os/linux/vm/os_linux.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/os/linux/vm/os_linux.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2011, 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 @@ -76,6 +76,14 @@ # include "assembler_zero.inline.hpp" # include "nativeInst_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "assembler_arm.inline.hpp" +# include "nativeInst_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "assembler_ppc.inline.hpp" +# include "nativeInst_ppc.hpp" +#endif #ifdef COMPILER1 #include "c1/c1_Runtime1.hpp" #endif @@ -123,6 +131,7 @@ #define ALL_64_BITS CONST64(0xFFFFFFFFFFFFFFFF) #define SEC_IN_NANOSECS 1000000000LL +#define LARGEPAGES_BIT (1 << 6) //////////////////////////////////////////////////////////////////////////////// // global variables julong os::Linux::_physical_memory = 0; @@ -2509,8 +2518,10 @@ return end; } -extern "C" void numa_warn(int number, char *where, ...) { } -extern "C" void numa_error(char *where) { } +// Something to do with the numa-aware allocator needs these symbols +extern "C" JNIEXPORT void numa_warn(int number, char *where, ...) { } +extern "C" JNIEXPORT void numa_error(char *where) { } +extern "C" JNIEXPORT int fork1() { return fork(); } // If we are running with libnuma version > 2, then we should @@ -2807,6 +2818,43 @@ return linux_mprotect(addr, size, PROT_READ|PROT_WRITE); } +/* +* Set the coredump_filter bits to include largepages in core dump (bit 6) +* +* From the coredump_filter documentation: +* +* - (bit 0) anonymous private memory +* - (bit 1) anonymous shared memory +* - (bit 2) file-backed private memory +* - (bit 3) file-backed shared memory +* - (bit 4) ELF header pages in file-backed private memory areas (it is +* effective only if the bit 2 is cleared) +* - (bit 5) hugetlb private memory +* - (bit 6) hugetlb shared memory +*/ +static void set_coredump_filter(void) { + FILE *f; + long cdm; + + if ((f = fopen("/proc/self/coredump_filter", "r+")) == NULL) { + return; + } + + if (fscanf(f, "%lx", &cdm) != 1) { + fclose(f); + return; + } + + rewind(f); + + if ((cdm & LARGEPAGES_BIT) == 0) { + cdm |= LARGEPAGES_BIT; + fprintf(f, "%#lx", cdm); + } + + fclose(f); +} + // Large page support static size_t _large_page_size = 0; @@ -2864,6 +2912,8 @@ _page_sizes[2] = 0; } + set_coredump_filter(); + // Large page support is available on 2.6 or newer kernel, some vendors // (e.g. Redhat) have backported it to their 2.4 based distributions. // We optimistically assume the support is available. If later it turns out @@ -3483,7 +3533,7 @@ // Note that the VM will print warnings if it detects conflicting signal // handlers, unless invoked with the option "-XX:+AllowUserSignalHandlers". // -extern "C" int +extern "C" JNIEXPORT int JVM_handle_linux_signal(int signo, siginfo_t* siginfo, void* ucontext, int abort_if_unrecognized); @@ -4678,44 +4728,6 @@ } } -extern "C" { - -/** - * NOTE: the following code is to keep the green threads code - * in the libjava.so happy. Once the green threads is removed, - * these code will no longer be needed. - */ -int -jdk_waitpid(pid_t pid, int* status, int options) { - return waitpid(pid, status, options); -} - -int -fork1() { - return fork(); -} - -int -jdk_sem_init(sem_t *sem, int pshared, unsigned int value) { - return sem_init(sem, pshared, value); -} - -int -jdk_sem_post(sem_t *sem) { - return sem_post(sem); -} - -int -jdk_sem_wait(sem_t *sem) { - return sem_wait(sem); -} - -int -jdk_pthread_sigmask(int how , const sigset_t* newmask, sigset_t* oldmask) { - return pthread_sigmask(how , newmask, oldmask); -} - -} // Refer to the comments in os_solaris.cpp park-unpark. //
--- a/hotspot/src/os/linux/vm/os_linux.inline.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/os/linux/vm/os_linux.inline.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -39,6 +39,14 @@ # include "atomic_linux_zero.inline.hpp" # include "orderAccess_linux_zero.inline.hpp" #endif +#ifdef TARGET_OS_ARCH_linux_arm +# include "atomic_linux_arm.inline.hpp" +# include "orderAccess_linux_arm.inline.hpp" +#endif +#ifdef TARGET_OS_ARCH_linux_ppc +# include "atomic_linux_ppc.inline.hpp" +# include "orderAccess_linux_ppc.inline.hpp" +#endif // System includes
--- a/hotspot/src/os/linux/vm/thread_linux.inline.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/os/linux/vm/thread_linux.inline.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -44,6 +44,16 @@ # include "orderAccess_linux_zero.inline.hpp" # include "prefetch_linux_zero.inline.hpp" #endif +#ifdef TARGET_OS_ARCH_linux_arm +# include "atomic_linux_arm.inline.hpp" +# include "orderAccess_linux_arm.inline.hpp" +# include "prefetch_linux_arm.inline.hpp" +#endif +#ifdef TARGET_OS_ARCH_linux_ppc +# include "atomic_linux_ppc.inline.hpp" +# include "orderAccess_linux_ppc.inline.hpp" +# include "prefetch_linux_ppc.inline.hpp" +#endif // Contains inlined functions for class Thread and ThreadLocalStorage
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/src/os/posix/vm/os_posix.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -0,0 +1,61 @@ +/* +* Copyright (c) 1999, 2011, 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. +* +*/ + +#include "prims/jvm.h" +#include "runtime/os.hpp" +#include "utilities/vmError.hpp" + +#include <unistd.h> +#include <sys/resource.h> + +// Check core dump limit and report possible place where core can be found +void os::check_or_create_dump(void* exceptionRecord, void* contextRecord, char* buffer, size_t bufferSize) { + struct rlimit rlim; + static char cwd[O_BUFLEN]; + bool success; + + get_current_directory(cwd, sizeof(cwd)); + + if (getrlimit(RLIMIT_CORE, &rlim) != 0) { + jio_snprintf(buffer, bufferSize, "%s/core or core.%d (may not exist)", cwd, current_process_id()); + success = true; + } else { + switch(rlim.rlim_cur) { + case RLIM_INFINITY: + jio_snprintf(buffer, bufferSize, "%s/core or core.%d", cwd, current_process_id()); + success = true; + break; + case 0: + jio_snprintf(buffer, bufferSize, "Core dumps have been disabled. To enable core dumping, try \"ulimit -c unlimited\" before starting Java again"); + success = false; + break; + default: + jio_snprintf(buffer, bufferSize, "%s/core or core.%d (max size %lu kB). To ensure a full core dump, try \"ulimit -c unlimited\" before starting Java again", cwd, current_process_id(), (unsigned long)(rlim.rlim_cur >> 10)); + success = true; + break; + } + } + VMError::report_coredump_status(buffer, success); +} +
--- a/hotspot/src/os/solaris/vm/os_solaris.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/os/solaris/vm/os_solaris.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -4221,7 +4221,9 @@ // Note that the VM will print warnings if it detects conflicting signal // handlers, unless invoked with the option "-XX:+AllowUserSignalHandlers". // -extern "C" int JVM_handle_solaris_signal(int signo, siginfo_t* siginfo, void* ucontext, int abort_if_unrecognized); +extern "C" JNIEXPORT int +JVM_handle_solaris_signal(int signo, siginfo_t* siginfo, void* ucontext, + int abort_if_unrecognized); void signalHandler(int sig, siginfo_t* info, void* ucVoid) {
--- a/hotspot/src/os/windows/vm/os_windows.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/os/windows/vm/os_windows.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ /* - * CopyrighT (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2011, 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 @@ -915,6 +915,85 @@ } } + +static BOOL (WINAPI *_MiniDumpWriteDump) ( HANDLE, DWORD, HANDLE, MINIDUMP_TYPE, PMINIDUMP_EXCEPTION_INFORMATION, + PMINIDUMP_USER_STREAM_INFORMATION, PMINIDUMP_CALLBACK_INFORMATION); + +void os::check_or_create_dump(void* exceptionRecord, void* contextRecord, char* buffer, size_t bufferSize) { + HINSTANCE dbghelp; + EXCEPTION_POINTERS ep; + MINIDUMP_EXCEPTION_INFORMATION mei; + HANDLE hProcess = GetCurrentProcess(); + DWORD processId = GetCurrentProcessId(); + HANDLE dumpFile; + MINIDUMP_TYPE dumpType; + static const char* cwd; + + // If running on a client version of Windows and user has not explicitly enabled dumping + if (!os::win32::is_windows_server() && !CreateMinidumpOnCrash) { + VMError::report_coredump_status("Minidumps are not enabled by default on client versions of Windows", false); + return; + // If running on a server version of Windows and user has explictly disabled dumping + } else if (os::win32::is_windows_server() && !FLAG_IS_DEFAULT(CreateMinidumpOnCrash) && !CreateMinidumpOnCrash) { + VMError::report_coredump_status("Minidump has been disabled from the command line", false); + return; + } + + dbghelp = LoadLibrary("DBGHELP.DLL"); + + if (dbghelp == NULL) { + VMError::report_coredump_status("Failed to load dbghelp.dll", false); + return; + } + + _MiniDumpWriteDump = CAST_TO_FN_PTR( + BOOL(WINAPI *)( HANDLE, DWORD, HANDLE, MINIDUMP_TYPE, PMINIDUMP_EXCEPTION_INFORMATION, + PMINIDUMP_USER_STREAM_INFORMATION, PMINIDUMP_CALLBACK_INFORMATION), + GetProcAddress(dbghelp, "MiniDumpWriteDump")); + + if (_MiniDumpWriteDump == NULL) { + VMError::report_coredump_status("Failed to find MiniDumpWriteDump() in module dbghelp.dll", false); + return; + } + + dumpType = (MINIDUMP_TYPE)(MiniDumpWithFullMemory | MiniDumpWithHandleData); + +// Older versions of dbghelp.h doesn't contain all the dumptypes we want, dbghelp.h with +// API_VERSION_NUMBER 11 or higher contains the ones we want though +#if API_VERSION_NUMBER >= 11 + dumpType = (MINIDUMP_TYPE)(dumpType | MiniDumpWithFullMemoryInfo | MiniDumpWithThreadInfo | + MiniDumpWithUnloadedModules); +#endif + + cwd = get_current_directory(NULL, 0); + jio_snprintf(buffer, bufferSize, "%s\\hs_err_pid%u.mdmp",cwd, current_process_id()); + dumpFile = CreateFile(buffer, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); + + if (dumpFile == INVALID_HANDLE_VALUE) { + VMError::report_coredump_status("Failed to create file for dumping", false); + return; + } + + ep.ContextRecord = (PCONTEXT) contextRecord; + ep.ExceptionRecord = (PEXCEPTION_RECORD) exceptionRecord; + + mei.ThreadId = GetCurrentThreadId(); + mei.ExceptionPointers = &ep; + + // Older versions of dbghelp.dll (the one shipped with Win2003 for example) may not support all + // the dump types we really want. If first call fails, lets fall back to just use MiniDumpWithFullMemory then. + if (_MiniDumpWriteDump(hProcess, processId, dumpFile, dumpType, &mei, NULL, NULL) == false && + _MiniDumpWriteDump(hProcess, processId, dumpFile, (MINIDUMP_TYPE)MiniDumpWithFullMemory, &mei, NULL, NULL) == false) { + VMError::report_coredump_status("Call to MiniDumpWriteDump() failed", false); + } else { + VMError::report_coredump_status(buffer, true); + } + + CloseHandle(dumpFile); +} + + + void os::abort(bool dump_core) { os::shutdown(); @@ -3274,7 +3353,7 @@ bool os::win32::_is_nt = false; bool os::win32::_is_windows_2003 = false; - +bool os::win32::_is_windows_server = false; void os::win32::initialize_system_info() { SYSTEM_INFO si; @@ -3293,9 +3372,9 @@ GlobalMemoryStatusEx(&ms); _physical_memory = ms.ullTotalPhys; - OSVERSIONINFO oi; - oi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&oi); + OSVERSIONINFOEX oi; + oi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); + GetVersionEx((OSVERSIONINFO*)&oi); switch(oi.dwPlatformId) { case VER_PLATFORM_WIN32_WINDOWS: _is_nt = false; break; case VER_PLATFORM_WIN32_NT: @@ -3305,6 +3384,10 @@ if (os_vers == 5002) { _is_windows_2003 = true; } + if (oi.wProductType == VER_NT_DOMAIN_CONTROLLER || + oi.wProductType == VER_NT_SERVER) { + _is_windows_server = true; + } } break; default: fatal("Unknown platform");
--- a/hotspot/src/os/windows/vm/os_windows.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/os/windows/vm/os_windows.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2011, 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 @@ -38,6 +38,7 @@ static size_t _default_stack_size; static bool _is_nt; static bool _is_windows_2003; + static bool _is_windows_server; public: // Windows-specific interface: @@ -64,6 +65,9 @@ // Tells whether the platform is NT or Windown95 static bool is_nt() { return _is_nt; } + // Tells whether this is a server version of Windows + static bool is_windows_server() { return _is_windows_server; } + // Tells whether the platform is Windows 2003 static bool is_windows_2003() { return _is_windows_2003; }
--- a/hotspot/src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -542,7 +542,7 @@ return false; } -extern "C" int +extern "C" JNIEXPORT int JVM_handle_linux_signal(int sig, siginfo_t* info, void* ucVoid,
--- a/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -216,7 +216,7 @@ extern "C" void FetchNResume () ; #endif // AMD64 -extern "C" int +extern "C" JNIEXPORT int JVM_handle_linux_signal(int sig, siginfo_t* info, void* ucVoid,
--- a/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -116,7 +116,7 @@ ShouldNotCallThis(); } -extern "C" int +extern "C" JNIEXPORT int JVM_handle_linux_signal(int sig, siginfo_t* info, void* ucVoid,
--- a/hotspot/src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -317,9 +317,9 @@ extern "C" void FetchNPFI () ; extern "C" void FetchNResume () ; -extern "C" int JVM_handle_solaris_signal(int signo, siginfo_t* siginfo, void* ucontext, int abort_if_unrecognized); - -int JVM_handle_solaris_signal(int sig, siginfo_t* info, void* ucVoid, int abort_if_unrecognized) { +extern "C" JNIEXPORT int +JVM_handle_solaris_signal(int sig, siginfo_t* info, void* ucVoid, + int abort_if_unrecognized) { ucontext_t* uc = (ucontext_t*) ucVoid; Thread* t = ThreadLocalStorage::get_thread_slow();
--- a/hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -365,8 +365,6 @@ } -extern "C" int JVM_handle_solaris_signal(int signo, siginfo_t* siginfo, void* ucontext, int abort_if_unrecognized); - extern "C" void Fetch32PFI () ; extern "C" void Fetch32Resume () ; #ifdef AMD64 @@ -374,7 +372,9 @@ extern "C" void FetchNResume () ; #endif // AMD64 -int JVM_handle_solaris_signal(int sig, siginfo_t* info, void* ucVoid, int abort_if_unrecognized) { +extern "C" JNIEXPORT int +JVM_handle_solaris_signal(int sig, siginfo_t* info, void* ucVoid, + int abort_if_unrecognized) { ucontext_t* uc = (ucontext_t*) ucVoid; #ifndef AMD64
--- a/hotspot/src/share/vm/asm/assembler.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/asm/assembler.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -37,6 +37,12 @@ #ifdef TARGET_ARCH_zero # include "assembler_zero.inline.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "assembler_arm.inline.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "assembler_ppc.inline.hpp" +#endif // Implementation of AbstractAssembler
--- a/hotspot/src/share/vm/asm/assembler.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/asm/assembler.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -43,6 +43,14 @@ # include "register_zero.hpp" # include "vm_version_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "register_arm.hpp" +# include "vm_version_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "register_ppc.hpp" +# include "vm_version_ppc.hpp" +#endif // This file contains platform-independent assembler declarations. @@ -395,6 +403,12 @@ #ifdef TARGET_ARCH_zero # include "assembler_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "assembler_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "assembler_ppc.hpp" +#endif #endif // SHARE_VM_ASM_ASSEMBLER_HPP
--- a/hotspot/src/share/vm/asm/codeBuffer.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/asm/codeBuffer.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -566,6 +566,12 @@ #ifdef TARGET_ARCH_zero # include "codeBuffer_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "codeBuffer_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "codeBuffer_ppc.hpp" +#endif };
--- a/hotspot/src/share/vm/c1/c1_Defs.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/c1/c1_Defs.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -35,6 +35,12 @@ #ifdef TARGET_ARCH_zero # include "register_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "register_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "register_ppc.hpp" +#endif // set frame size and return address offset to these values in blobs // (if the compiled frame uses ebp as link pointer on IA; otherwise, @@ -50,6 +56,12 @@ #ifdef TARGET_ARCH_sparc # include "c1_Defs_sparc.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "c1_Defs_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "c1_Defs_ppc.hpp" +#endif // native word offsets from memory address
--- a/hotspot/src/share/vm/c1/c1_FpuStackSim.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/c1/c1_FpuStackSim.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -38,6 +38,12 @@ #ifdef TARGET_ARCH_sparc # include "c1_FpuStackSim_sparc.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "c1_FpuStackSim_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "c1_FpuStackSim_ppc.hpp" +#endif #endif // SHARE_VM_C1_C1_FPUSTACKSIM_HPP
--- a/hotspot/src/share/vm/c1/c1_FrameMap.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/c1/c1_FrameMap.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -35,6 +35,12 @@ #ifdef TARGET_ARCH_zero # include "vmreg_zero.inline.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "vmreg_arm.inline.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "vmreg_ppc.inline.hpp" +#endif
--- a/hotspot/src/share/vm/c1/c1_FrameMap.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/c1/c1_FrameMap.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -88,6 +88,12 @@ #ifdef TARGET_ARCH_sparc # include "c1_FrameMap_sparc.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "c1_FrameMap_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "c1_FrameMap_ppc.hpp" +#endif friend class LIR_OprDesc;
--- a/hotspot/src/share/vm/c1/c1_Instruction.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/c1/c1_Instruction.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -316,6 +316,8 @@ return res; } + static const int no_bci = -99; + enum InstructionFlag { NeedsNullCheckFlag = 0, CanTrapFlag,
--- a/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -42,6 +42,14 @@ # include "nativeInst_zero.hpp" # include "vmreg_zero.inline.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "nativeInst_arm.hpp" +# include "vmreg_arm.inline.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "nativeInst_ppc.hpp" +# include "vmreg_ppc.inline.hpp" +#endif void LIR_Assembler::patching_epilog(PatchingStub* patch, LIR_PatchCode patch_code, Register obj, CodeEmitInfo* info) {
--- a/hotspot/src/share/vm/c1/c1_LIRAssembler.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/c1/c1_LIRAssembler.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -252,6 +252,12 @@ #ifdef TARGET_ARCH_sparc # include "c1_LIRAssembler_sparc.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "c1_LIRAssembler_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "c1_LIRAssembler_ppc.hpp" +#endif };
--- a/hotspot/src/share/vm/c1/c1_LinearScan.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/c1/c1_LinearScan.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -41,6 +41,12 @@ #ifdef TARGET_ARCH_zero # include "vmreg_zero.inline.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "vmreg_arm.inline.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "vmreg_ppc.inline.hpp" +#endif #ifndef PRODUCT
--- a/hotspot/src/share/vm/c1/c1_LinearScan.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/c1/c1_LinearScan.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -972,6 +972,12 @@ #ifdef TARGET_ARCH_sparc # include "c1_LinearScan_sparc.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "c1_LinearScan_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "c1_LinearScan_ppc.hpp" +#endif #endif // SHARE_VM_C1_C1_LINEARSCAN_HPP
--- a/hotspot/src/share/vm/c1/c1_MacroAssembler.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/c1/c1_MacroAssembler.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -35,6 +35,12 @@ #ifdef TARGET_ARCH_zero # include "assembler_zero.inline.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "assembler_arm.inline.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "assembler_ppc.inline.hpp" +#endif class CodeEmitInfo; @@ -61,6 +67,12 @@ #ifdef TARGET_ARCH_sparc # include "c1_MacroAssembler_sparc.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "c1_MacroAssembler_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "c1_MacroAssembler_ppc.hpp" +#endif };
--- a/hotspot/src/share/vm/c1/c1_globals.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/c1/c1_globals.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -32,6 +32,12 @@ #ifdef TARGET_ARCH_sparc # include "c1_globals_sparc.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "c1_globals_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "c1_globals_ppc.hpp" +#endif #ifdef TARGET_OS_FAMILY_linux # include "c1_globals_linux.hpp" #endif
--- a/hotspot/src/share/vm/classfile/classFileStream.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/classfile/classFileStream.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -35,6 +35,12 @@ #ifdef TARGET_ARCH_zero # include "bytes_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "bytes_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "bytes_ppc.hpp" +#endif // Input stream for reading .class file //
--- a/hotspot/src/share/vm/classfile/stackMapTable.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/classfile/stackMapTable.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -39,6 +39,12 @@ #ifdef TARGET_ARCH_zero # include "bytes_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "bytes_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "bytes_ppc.hpp" +#endif class StackMapReader;
--- a/hotspot/src/share/vm/classfile/verifier.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/classfile/verifier.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -51,6 +51,12 @@ #ifdef TARGET_ARCH_zero # include "bytes_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "bytes_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "bytes_ppc.hpp" +#endif #define NOFAILOVER_MAJOR_VERSION 51
--- a/hotspot/src/share/vm/classfile/vmSymbols.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/classfile/vmSymbols.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -108,7 +108,6 @@ template(java_lang_AssertionStatusDirectives, "java/lang/AssertionStatusDirectives") \ template(sun_jkernel_DownloadManager, "sun/jkernel/DownloadManager") \ template(getBootClassPathEntryForClass_name, "getBootClassPathEntryForClass") \ - template(setBootClassLoaderHook_name, "setBootClassLoaderHook") \ template(sun_misc_PostVMInitHook, "sun/misc/PostVMInitHook") \ \ /* class file format tags */ \
--- a/hotspot/src/share/vm/code/codeBlob.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/code/codeBlob.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -48,6 +48,12 @@ #ifdef TARGET_ARCH_zero # include "nativeInst_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "nativeInst_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "nativeInst_ppc.hpp" +#endif #ifdef COMPILER1 #include "c1/c1_Runtime1.hpp" #endif
--- a/hotspot/src/share/vm/code/compiledIC.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/code/compiledIC.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -38,6 +38,12 @@ #ifdef TARGET_ARCH_zero # include "nativeInst_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "nativeInst_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "nativeInst_ppc.hpp" +#endif //----------------------------------------------------------------------------- // The CompiledIC represents a compiled inline cache.
--- a/hotspot/src/share/vm/code/icBuffer.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/code/icBuffer.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -46,6 +46,12 @@ #ifdef TARGET_ARCH_zero # include "assembler_zero.inline.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "assembler_arm.inline.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "assembler_ppc.inline.hpp" +#endif DEF_STUB_INTERFACE(ICStub);
--- a/hotspot/src/share/vm/code/nmethod.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/code/nmethod.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -34,6 +34,7 @@ #include "interpreter/bytecode.hpp" #include "oops/methodDataOop.hpp" #include "prims/jvmtiRedefineClassesTrace.hpp" +#include "prims/jvmtiImpl.hpp" #include "runtime/sharedRuntime.hpp" #include "runtime/sweeper.hpp" #include "utilities/dtrace.hpp" @@ -1533,7 +1534,10 @@ } if (JvmtiExport::should_post_compiled_method_load()) { - JvmtiExport::post_compiled_method_load(this); + // Let the Service thread (which is a real Java thread) post the event + MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag); + JvmtiDeferredEventQueue::enqueue( + JvmtiDeferredEvent::compiled_method_load_event(this)); } } @@ -1566,8 +1570,17 @@ // ref will have been cleared. if (_jmethod_id != NULL && JvmtiExport::should_post_compiled_method_unload()) { assert(!unload_reported(), "already unloaded"); - HandleMark hm; - JvmtiExport::post_compiled_method_unload(_jmethod_id, insts_begin()); + JvmtiDeferredEvent event = + JvmtiDeferredEvent::compiled_method_unload_event( + _jmethod_id, insts_begin()); + if (SafepointSynchronize::is_at_safepoint()) { + // Don't want to take the queueing lock. Add it as pending and + // it will get enqueued later. + JvmtiDeferredEventQueue::add_pending_event(event); + } else { + MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag); + JvmtiDeferredEventQueue::enqueue(event); + } } // The JVMTI CompiledMethodUnload event can be enabled or disabled at
--- a/hotspot/src/share/vm/code/nmethod.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/code/nmethod.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2011, 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 @@ -696,10 +696,11 @@ class nmethodLocker : public StackObj { nmethod* _nm; + public: + static void lock_nmethod(nmethod* nm); // note: nm can be NULL static void unlock_nmethod(nmethod* nm); // (ditto) - public: nmethodLocker(address pc); // derive nm from pc nmethodLocker(nmethod *nm) { _nm = nm; lock_nmethod(_nm); } nmethodLocker() { _nm = NULL; }
--- a/hotspot/src/share/vm/code/relocInfo.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/code/relocInfo.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -41,6 +41,14 @@ # include "assembler_zero.inline.hpp" # include "nativeInst_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "assembler_arm.inline.hpp" +# include "nativeInst_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "assembler_ppc.inline.hpp" +# include "nativeInst_ppc.hpp" +#endif const RelocationHolder RelocationHolder::none; // its type is relocInfo::none
--- a/hotspot/src/share/vm/code/relocInfo.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/code/relocInfo.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -430,6 +430,12 @@ #ifdef TARGET_ARCH_zero # include "relocInfo_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "relocInfo_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "relocInfo_ppc.hpp" +#endif protected:
--- a/hotspot/src/share/vm/code/vmreg.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/code/vmreg.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -36,6 +36,12 @@ #ifdef TARGET_ARCH_zero # include "register_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "register_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "register_ppc.hpp" +#endif #ifdef COMPILER2 #include "opto/adlcVMDeps.hpp" #include "utilities/ostream.hpp" @@ -51,6 +57,12 @@ #ifdef TARGET_ARCH_MODEL_zero # include "adfiles/adGlobals_zero.hpp" #endif +#ifdef TARGET_ARCH_MODEL_arm +# include "adfiles/adGlobals_arm.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc +# include "adfiles/adGlobals_ppc.hpp" +#endif #endif //------------------------------VMReg------------------------------------------ @@ -164,6 +176,12 @@ #ifdef TARGET_ARCH_zero # include "vmreg_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "vmreg_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "vmreg_ppc.hpp" +#endif };
--- a/hotspot/src/share/vm/compiler/compileBroker.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/compiler/compileBroker.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2011, 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 @@ -1210,7 +1210,17 @@ // Should the current thread be blocked until this compilation request // has been fulfilled? bool CompileBroker::is_compile_blocking(methodHandle method, int osr_bci) { - return !BackgroundCompilation; + if (!BackgroundCompilation) { + Symbol* class_name = method->method_holder()->klass_part()->name(); + if (class_name->starts_with("java/lang/ref/Reference", 23)) { + // The reference handler thread can dead lock with the GC if compilation is blocking, + // so we avoid blocking compiles for anything in the java.lang.ref.Reference class, + // including inner classes such as ReferenceHandler. + return false; + } + return true; + } + return false; }
--- a/hotspot/src/share/vm/compiler/disassembler.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/compiler/disassembler.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -41,6 +41,12 @@ #ifdef TARGET_ARCH_zero # include "depChecker_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "depChecker_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "depChecker_ppc.hpp" +#endif #ifdef SHARK #include "shark/sharkEntry.hpp" #endif
--- a/hotspot/src/share/vm/compiler/disassembler.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/compiler/disassembler.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -70,6 +70,12 @@ #ifdef TARGET_ARCH_zero # include "disassembler_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "disassembler_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "disassembler_ppc.hpp" +#endif public:
--- a/hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2011, 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 @@ -99,7 +99,7 @@ if (G1ConcRSLogCacheSize > 0) { _g1h = G1CollectedHeap::heap(); _max_n_card_counts = - (unsigned) (_g1h->g1_reserved_obj_bytes() >> CardTableModRefBS::card_shift); + (unsigned) (_g1h->max_capacity() >> CardTableModRefBS::card_shift); size_t max_card_num = ((size_t)1 << (sizeof(unsigned)*BitsPerByte-1)) - 1; guarantee(_max_n_card_counts < max_card_num, "card_num representation");
--- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -251,6 +251,14 @@ // Now do the remainder of the cleanup operation. _cm->completeCleanup(); + // Notify anyone who's waiting that there are no more free + // regions coming. We have to do this before we join the STS, + // otherwise we might deadlock: a GC worker could be blocked + // waiting for the notification whereas this thread will be + // blocked for the pause to finish while it's trying to join + // the STS, which is conditional on the GC workers finishing. + g1h->reset_free_regions_coming(); + _sts.join(); g1_policy->record_concurrent_mark_cleanup_completed(); _sts.leave(); @@ -262,9 +270,6 @@ gclog_or_tty->print_cr("[GC concurrent-cleanup-end, %1.7lf]", cleanup_end_sec - cleanup_start_sec); } - - // We're done: no more free regions coming. - g1h->reset_free_regions_coming(); } guarantee(cm()->cleanup_list_is_empty(), "at this point there should be no regions on the cleanup list");
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -546,8 +546,11 @@ res = new_region_try_secondary_free_list(word_size); } if (res == NULL && do_expand) { - expand(word_size * HeapWordSize); - res = _free_list.remove_head_or_null(); + if (expand(word_size * HeapWordSize)) { + // The expansion succeeded and so we should have at least one + // region on the free list. + res = _free_list.remove_head(); + } } if (res != NULL) { if (G1PrintHeapRegions) { @@ -631,9 +634,22 @@ if (first == -1) { // The only thing we can do now is attempt expansion. if (fs + x_size >= num_regions) { - expand((num_regions - fs) * HeapRegion::GrainBytes); - first = humongous_obj_allocate_find_first(num_regions, word_size); - assert(first != -1, "this should have worked"); + // If the number of regions we're trying to allocate for this + // object is at most the number of regions in the free suffix, + // then the call to humongous_obj_allocate_find_first() above + // should have succeeded and we wouldn't be here. + // + // We should only be trying to expand when the free suffix is + // not sufficient for the object _and_ we have some expansion + // room available. + assert(num_regions > fs, "earlier allocation should have succeeded"); + + if (expand((num_regions - fs) * HeapRegion::GrainBytes)) { + first = humongous_obj_allocate_find_first(num_regions, word_size); + // If the expansion was successful then the allocation + // should have been successful. + assert(first != -1, "this should have worked"); + } } } @@ -1647,16 +1663,17 @@ if (capacity_after_gc < minimum_desired_capacity) { // Don't expand unless it's significant size_t expand_bytes = minimum_desired_capacity - capacity_after_gc; - expand(expand_bytes); - if (PrintGC && Verbose) { - gclog_or_tty->print_cr(" " - " expanding:" - " max_heap_size: %6.1fK" - " minimum_desired_capacity: %6.1fK" - " expand_bytes: %6.1fK", - (double) max_heap_size / (double) K, - (double) minimum_desired_capacity / (double) K, - (double) expand_bytes / (double) K); + if (expand(expand_bytes)) { + if (PrintGC && Verbose) { + gclog_or_tty->print_cr(" " + " expanding:" + " max_heap_size: %6.1fK" + " minimum_desired_capacity: %6.1fK" + " expand_bytes: %6.1fK", + (double) max_heap_size / (double) K, + (double) minimum_desired_capacity / (double) K, + (double) expand_bytes / (double) K); + } } // No expansion, now see if we want to shrink @@ -1757,66 +1774,84 @@ verify_region_sets_optional(); - size_t expand_bytes = word_size * HeapWordSize; - if (expand_bytes < MinHeapDeltaBytes) { - expand_bytes = MinHeapDeltaBytes; - } - expand(expand_bytes); - - verify_region_sets_optional(); - - return attempt_allocation_at_safepoint(word_size, - false /* expect_null_cur_alloc_region */); + size_t expand_bytes = MAX2(word_size * HeapWordSize, MinHeapDeltaBytes); + if (expand(expand_bytes)) { + verify_region_sets_optional(); + return attempt_allocation_at_safepoint(word_size, + false /* expect_null_cur_alloc_region */); + } + return NULL; } -// FIXME: both this and shrink could probably be more efficient by -// doing one "VirtualSpace::expand_by" call rather than several. -void G1CollectedHeap::expand(size_t expand_bytes) { +bool G1CollectedHeap::expand(size_t expand_bytes) { size_t old_mem_size = _g1_storage.committed_size(); - // We expand by a minimum of 1K. - expand_bytes = MAX2(expand_bytes, (size_t)K); - size_t aligned_expand_bytes = - ReservedSpace::page_align_size_up(expand_bytes); + size_t aligned_expand_bytes = ReservedSpace::page_align_size_up(expand_bytes); aligned_expand_bytes = align_size_up(aligned_expand_bytes, HeapRegion::GrainBytes); - expand_bytes = aligned_expand_bytes; - while (expand_bytes > 0) { - HeapWord* base = (HeapWord*)_g1_storage.high(); - // Commit more storage. - bool successful = _g1_storage.expand_by(HeapRegion::GrainBytes); - if (!successful) { - expand_bytes = 0; - } else { - expand_bytes -= HeapRegion::GrainBytes; - // Expand the committed region. - HeapWord* high = (HeapWord*) _g1_storage.high(); - _g1_committed.set_end(high); + + if (Verbose && PrintGC) { + gclog_or_tty->print("Expanding garbage-first heap from %ldK by %ldK", + old_mem_size/K, aligned_expand_bytes/K); + } + + HeapWord* old_end = (HeapWord*)_g1_storage.high(); + bool successful = _g1_storage.expand_by(aligned_expand_bytes); + if (successful) { + HeapWord* new_end = (HeapWord*)_g1_storage.high(); + + // Expand the committed region. + _g1_committed.set_end(new_end); + + // Tell the cardtable about the expansion. + Universe::heap()->barrier_set()->resize_covered_region(_g1_committed); + + // And the offset table as well. + _bot_shared->resize(_g1_committed.word_size()); + + expand_bytes = aligned_expand_bytes; + HeapWord* base = old_end; + + // Create the heap regions for [old_end, new_end) + while (expand_bytes > 0) { + HeapWord* high = base + HeapRegion::GrainWords; + // Create a new HeapRegion. MemRegion mr(base, high); bool is_zeroed = !_g1_max_committed.contains(base); HeapRegion* hr = new HeapRegion(_bot_shared, mr, is_zeroed); - // Now update max_committed if necessary. - _g1_max_committed.set_end(MAX2(_g1_max_committed.end(), high)); - // Add it to the HeapRegionSeq. _hrs->insert(hr); _free_list.add_as_tail(hr); + // And we used up an expansion region to create it. _expansion_regions--; - // Tell the cardtable about it. - Universe::heap()->barrier_set()->resize_covered_region(_g1_committed); - // And the offset table as well. - _bot_shared->resize(_g1_committed.word_size()); + + expand_bytes -= HeapRegion::GrainBytes; + base += HeapRegion::GrainWords; + } + assert(base == new_end, "sanity"); + + // Now update max_committed if necessary. + _g1_max_committed.set_end(MAX2(_g1_max_committed.end(), new_end)); + + } else { + // The expansion of the virtual storage space was unsuccessful. + // Let's see if it was because we ran out of swap. + if (G1ExitOnExpansionFailure && + _g1_storage.uncommitted_size() >= aligned_expand_bytes) { + // We had head room... + vm_exit_out_of_memory(aligned_expand_bytes, "G1 heap expansion"); } } if (Verbose && PrintGC) { size_t new_mem_size = _g1_storage.committed_size(); - gclog_or_tty->print_cr("Expanding garbage-first heap from %ldK by %ldK to %ldK", - old_mem_size/K, aligned_expand_bytes/K, + gclog_or_tty->print_cr("...%s, expanded to %ldK", + (successful ? "Successful" : "Failed"), new_mem_size/K); } + return successful; } void G1CollectedHeap::shrink_helper(size_t shrink_bytes) @@ -2088,7 +2123,10 @@ HeapRegionRemSet::init_heap(max_regions()); // Now expand into the initial heap size. - expand(init_byte_size); + if (!expand(init_byte_size)) { + vm_exit_during_initialization("Failed to allocate initial heap."); + return JNI_ENOMEM; + } // Perform any initialization actions delegated to the policy. g1_policy()->init(); @@ -2744,7 +2782,7 @@ } size_t G1CollectedHeap::max_capacity() const { - return g1_reserved_obj_bytes(); + return _g1_reserved.byte_size(); } jlong G1CollectedHeap::millis_since_last_gc() { @@ -3538,7 +3576,12 @@ size_t expand_bytes = g1_policy()->expansion_amount(); if (expand_bytes > 0) { size_t bytes_before = capacity(); - expand(expand_bytes); + if (!expand(expand_bytes)) { + // We failed to expand the heap so let's verify that + // committed/uncommitted amount match the backing store + assert(capacity() == _g1_storage.committed_size(), "committed size mismatch"); + assert(max_capacity() == _g1_storage.reserved_size(), "reserved size mismatch"); + } } } @@ -3762,7 +3805,7 @@ if (alloc_region == NULL) { // we will get a new GC alloc region - alloc_region = new_gc_alloc_region(ap, 0); + alloc_region = new_gc_alloc_region(ap, HeapRegion::GrainWords); } else { // the region was retained from the last collection ++_gc_alloc_region_counts[ap]; @@ -5311,7 +5354,7 @@ size_t G1CollectedHeap::max_regions() { return - (size_t)align_size_up(g1_reserved_obj_bytes(), HeapRegion::GrainBytes) / + (size_t)align_size_up(max_capacity(), HeapRegion::GrainBytes) / HeapRegion::GrainBytes; }
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -619,8 +619,10 @@ public: // Expand the garbage-first heap by at least the given size (in bytes!). + // Returns true if the heap was expanded by the requested amount; + // false otherwise. // (Rounds up to a HeapRegion boundary.) - virtual void expand(size_t expand_bytes); + bool expand(size_t expand_bytes); // Do anything common to GC's. virtual void gc_prologue(bool full); @@ -981,9 +983,6 @@ // Reference Processing accessor ReferenceProcessor* ref_processor() { return _ref_processor; } - // Reserved (g1 only; super method includes perm), capacity and the used - // portion in bytes. - size_t g1_reserved_obj_bytes() const { return _g1_reserved.byte_size(); } virtual size_t capacity() const; virtual size_t used() const; // This should be called when we're not holding the heap lock. The
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -2011,7 +2011,7 @@ // space, whichever is smaller, bounded below by a minimum // expansion (unless that's all that's left.) const size_t min_expand_bytes = 1*M; - size_t reserved_bytes = _g1->g1_reserved_obj_bytes(); + size_t reserved_bytes = _g1->max_capacity(); size_t committed_bytes = _g1->capacity(); size_t uncommitted_bytes = reserved_bytes - committed_bytes; size_t expand_bytes;
--- a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2011, 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 @@ -735,7 +735,7 @@ MemRegion dirtyRegion(start, end); #if CARD_REPEAT_HISTO - init_ct_freq_table(_g1->g1_reserved_obj_bytes()); + init_ct_freq_table(_g1->max_capacity()); ct_freq_note_card(_ct_bs->index_for(start)); #endif
--- a/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -301,9 +301,13 @@ develop(uintx, G1StressConcRegionFreeingDelayMillis, 0, \ "Artificial delay during concurrent region freeing") \ \ - develop(bool, ReduceInitialCardMarksForG1, false, \ + develop(bool, ReduceInitialCardMarksForG1, false, \ "When ReduceInitialCardMarks is true, this flag setting " \ - " controls whether G1 allows the RICM optimization") + " controls whether G1 allows the RICM optimization") \ + \ + develop(bool, G1ExitOnExpansionFailure, false, \ + "Raise a fatal VM exit out of memory failure in the event " \ + " that heap expansion fails due to running out of swap.") G1_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG, DECLARE_MANAGEABLE_FLAG, DECLARE_PRODUCT_RW_FLAG)
--- a/hotspot/src/share/vm/gc_implementation/shared/allocationStats.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/gc_implementation/shared/allocationStats.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -116,10 +116,8 @@ _demand_rate_estimate.sample(rate); float new_rate = _demand_rate_estimate.padded_average(); ssize_t old_desired = _desired; - _desired = (ssize_t)(new_rate * (inter_sweep_estimate - + CMSExtrapolateSweep - ? intra_sweep_estimate - : 0.0)); + float delta_ise = (CMSExtrapolateSweep ? intra_sweep_estimate : 0.0); + _desired = (ssize_t)(new_rate * (inter_sweep_estimate + delta_ise)); if (PrintFLSStatistics > 1) { gclog_or_tty->print_cr("demand: %d, old_rate: %f, current_rate: %f, new_rate: %f, old_desired: %d, new_desired: %d", demand, old_rate, rate, new_rate, old_desired, _desired);
--- a/hotspot/src/share/vm/gc_implementation/shared/gcUtil.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/gc_implementation/shared/gcUtil.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -106,8 +106,8 @@ } LinearLeastSquareFit::LinearLeastSquareFit(unsigned weight) : - _sum_x(0), _sum_y(0), _sum_xy(0), - _mean_x(weight), _mean_y(weight) {} + _sum_x(0), _sum_x_squared(0), _sum_y(0), _sum_xy(0), + _intercept(0), _slope(0), _mean_x(weight), _mean_y(weight) {} void LinearLeastSquareFit::update(double x, double y) { _sum_x = _sum_x + x;
--- a/hotspot/src/share/vm/interpreter/abstractInterpreter.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/interpreter/abstractInterpreter.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -41,6 +41,12 @@ #ifdef TARGET_ARCH_MODEL_zero # include "interp_masm_zero.hpp" #endif +#ifdef TARGET_ARCH_MODEL_arm +# include "interp_masm_arm.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc +# include "interp_masm_ppc.hpp" +#endif #ifdef TARGET_OS_FAMILY_linux # include "thread_linux.inline.hpp" #endif
--- a/hotspot/src/share/vm/interpreter/bytecode.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/interpreter/bytecode.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -37,6 +37,12 @@ #ifdef TARGET_ARCH_zero # include "bytes_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "bytes_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "bytes_ppc.hpp" +#endif class ciBytecodeStream;
--- a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -59,6 +59,12 @@ #ifdef TARGET_OS_ARCH_windows_x86 # include "orderAccess_windows_x86.inline.hpp" #endif +#ifdef TARGET_OS_ARCH_linux_arm +# include "orderAccess_linux_arm.inline.hpp" +#endif +#ifdef TARGET_OS_ARCH_linux_ppc +# include "orderAccess_linux_ppc.inline.hpp" +#endif // no precompiled headers
--- a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -41,6 +41,12 @@ #ifdef TARGET_ARCH_zero # include "bytes_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "bytes_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "bytes_ppc.hpp" +#endif #ifdef CC_INTERP @@ -587,6 +593,12 @@ #ifdef TARGET_ARCH_zero # include "bytecodeInterpreter_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "bytecodeInterpreter_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "bytecodeInterpreter_ppc.hpp" +#endif }; // BytecodeInterpreter
--- a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.inline.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.inline.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -52,6 +52,12 @@ #ifdef TARGET_ARCH_zero # include "bytecodeInterpreter_zero.inline.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "bytecodeInterpreter_arm.inline.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "bytecodeInterpreter_ppc.inline.hpp" +#endif #endif // CC_INTERP
--- a/hotspot/src/share/vm/interpreter/bytecodeStream.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/interpreter/bytecodeStream.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -37,6 +37,12 @@ #ifdef TARGET_ARCH_zero # include "bytes_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "bytes_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "bytes_ppc.hpp" +#endif // A BytecodeStream is used for fast iteration over the bytecodes // of a methodOop.
--- a/hotspot/src/share/vm/interpreter/bytecodes.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/interpreter/bytecodes.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -35,6 +35,12 @@ #ifdef TARGET_ARCH_zero # include "bytes_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "bytes_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "bytes_ppc.hpp" +#endif #if defined(WIN32) && (defined(_MSC_VER) && (_MSC_VER < 1600))
--- a/hotspot/src/share/vm/interpreter/bytecodes.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/interpreter/bytecodes.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -294,6 +294,12 @@ #ifdef TARGET_ARCH_zero # include "bytecodes_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "bytecodes_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "bytecodes_ppc.hpp" +#endif number_of_codes
--- a/hotspot/src/share/vm/interpreter/cppInterpreter.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/interpreter/cppInterpreter.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -90,6 +90,12 @@ #ifdef TARGET_ARCH_zero # include "cppInterpreter_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "cppInterpreter_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "cppInterpreter_ppc.hpp" +#endif };
--- a/hotspot/src/share/vm/interpreter/cppInterpreterGenerator.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/interpreter/cppInterpreterGenerator.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -53,6 +53,12 @@ #ifdef TARGET_ARCH_zero # include "cppInterpreterGenerator_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "cppInterpreterGenerator_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "cppInterpreterGenerator_ppc.hpp" +#endif };
--- a/hotspot/src/share/vm/interpreter/interpreter.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/interpreter/interpreter.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -152,6 +152,12 @@ #ifdef TARGET_ARCH_zero # include "interpreter_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "interpreter_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "interpreter_ppc.hpp" +#endif };
--- a/hotspot/src/share/vm/interpreter/interpreterGenerator.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/interpreter/interpreterGenerator.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -50,6 +50,12 @@ #ifdef TARGET_ARCH_zero # include "interpreterGenerator_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "interpreterGenerator_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "interpreterGenerator_ppc.hpp" +#endif };
--- a/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -65,6 +65,12 @@ #ifdef TARGET_ARCH_zero # include "vm_version_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "vm_version_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "vm_version_ppc.hpp" +#endif #ifdef COMPILER2 #include "opto/runtime.hpp" #endif @@ -1178,9 +1184,7 @@ handler_index = _fingerprints->length() - 1; } } - } else { - CHECK_UNHANDLED_OOPS_ONLY(Thread::current()->clear_unhandled_oops()); - } + // Set handler under SignatureHandlerLibrary_lock if (handler_index < 0) { // use generic signature handler method->set_signature_handler(Interpreter::slow_signature_handler()); @@ -1188,21 +1192,29 @@ // set handler method->set_signature_handler(_handlers->at(handler_index)); } + } else { + CHECK_UNHANDLED_OOPS_ONLY(Thread::current()->clear_unhandled_oops()); + // use generic signature handler + method->set_signature_handler(Interpreter::slow_signature_handler()); + } } #ifdef ASSERT - int handler_index, fingerprint_index; + int handler_index = -1; + int fingerprint_index = -2; { // '_handlers' and '_fingerprints' are 'GrowableArray's and are NOT synchronized // in any way if accessed from multiple threads. To avoid races with another // thread which may change the arrays in the above, mutex protected block, we // have to protect this read access here with the same mutex as well! MutexLocker mu(SignatureHandlerLibrary_lock); + if (_handlers != NULL) { handler_index = _handlers->find(method->signature_handler()); fingerprint_index = _fingerprints->find(Fingerprinter(method).fingerprint()); } + } assert(method->signature_handler() == Interpreter::slow_signature_handler() || handler_index == fingerprint_index, "sanity check"); -#endif +#endif // ASSERT }
--- a/hotspot/src/share/vm/interpreter/interpreterRuntime.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/interpreter/interpreterRuntime.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -157,6 +157,12 @@ #ifdef TARGET_ARCH_zero # include "interpreterRT_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "interpreterRT_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "interpreterRT_ppc.hpp" +#endif // Interpreter's frequency counter overflow
--- a/hotspot/src/share/vm/interpreter/templateInterpreter.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/interpreter/templateInterpreter.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -192,6 +192,12 @@ #ifdef TARGET_ARCH_zero # include "templateInterpreter_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "templateInterpreter_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "templateInterpreter_ppc.hpp" +#endif };
--- a/hotspot/src/share/vm/interpreter/templateInterpreterGenerator.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/interpreter/templateInterpreterGenerator.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -96,6 +96,12 @@ #ifdef TARGET_ARCH_zero # include "templateInterpreterGenerator_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "templateInterpreterGenerator_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "templateInterpreterGenerator_ppc.hpp" +#endif };
--- a/hotspot/src/share/vm/interpreter/templateTable.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/interpreter/templateTable.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -40,6 +40,12 @@ #ifdef TARGET_ARCH_MODEL_zero # include "interp_masm_zero.hpp" #endif +#ifdef TARGET_ARCH_MODEL_arm +# include "interp_masm_arm.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc +# include "interp_masm_ppc.hpp" +#endif #ifndef CC_INTERP // All the necessary definitions used for (bytecode) template generation. Instead of @@ -364,6 +370,12 @@ #ifdef TARGET_ARCH_MODEL_zero # include "templateTable_zero.hpp" #endif +#ifdef TARGET_ARCH_MODEL_arm +# include "templateTable_arm.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc +# include "templateTable_ppc.hpp" +#endif }; #endif /* !CC_INTERP */
--- a/hotspot/src/share/vm/oops/constantPoolOop.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/oops/constantPoolOop.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -39,6 +39,12 @@ #ifdef TARGET_ARCH_zero # include "bytes_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "bytes_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "bytes_ppc.hpp" +#endif // A constantPool is an array containing class constants as described in the // class file.
--- a/hotspot/src/share/vm/oops/oop.inline.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/oops/oop.inline.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -52,6 +52,12 @@ #ifdef TARGET_ARCH_zero # include "bytes_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "bytes_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "bytes_ppc.hpp" +#endif // Implementation of all inlined member functions defined in oop.hpp // We need a separate file to avoid circular references
--- a/hotspot/src/share/vm/oops/typeArrayOop.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/oops/typeArrayOop.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -45,6 +45,12 @@ #ifdef TARGET_OS_ARCH_windows_x86 # include "orderAccess_windows_x86.inline.hpp" #endif +#ifdef TARGET_OS_ARCH_linux_arm +# include "orderAccess_linux_arm.inline.hpp" +#endif +#ifdef TARGET_OS_ARCH_linux_ppc +# include "orderAccess_linux_ppc.inline.hpp" +#endif // A typeArrayOop is an array containing basic types (non oop elements). // It is used for arrays of {characters, singles, doubles, bytes, shorts, integers, longs}
--- a/hotspot/src/share/vm/opto/buildOopMap.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/opto/buildOopMap.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -41,6 +41,12 @@ #ifdef TARGET_ARCH_zero # include "vmreg_zero.inline.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "vmreg_arm.inline.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "vmreg_ppc.inline.hpp" +#endif // The functions in this file builds OopMaps after all scheduling is done. //
--- a/hotspot/src/share/vm/opto/c2_globals.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/opto/c2_globals.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -32,6 +32,9 @@ #ifdef TARGET_ARCH_sparc # include "c2_globals_sparc.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "c2_globals_arm.hpp" +#endif #ifdef TARGET_OS_FAMILY_linux # include "c2_globals_linux.hpp" #endif
--- a/hotspot/src/share/vm/opto/c2compiler.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/opto/c2compiler.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -37,6 +37,12 @@ #ifdef TARGET_ARCH_MODEL_zero # include "adfiles/ad_zero.hpp" #endif +#ifdef TARGET_ARCH_MODEL_arm +# include "adfiles/ad_arm.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc +# include "adfiles/ad_ppc.hpp" +#endif volatile int C2Compiler::_runtimes = uninitialized;
--- a/hotspot/src/share/vm/opto/compile.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/opto/compile.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -74,6 +74,12 @@ #ifdef TARGET_ARCH_MODEL_zero # include "adfiles/ad_zero.hpp" #endif +#ifdef TARGET_ARCH_MODEL_arm +# include "adfiles/ad_arm.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc +# include "adfiles/ad_ppc.hpp" +#endif // -------------------- Compile::mach_constant_base_node -----------------------
--- a/hotspot/src/share/vm/opto/gcm.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/opto/gcm.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -47,6 +47,12 @@ #ifdef TARGET_ARCH_MODEL_zero # include "adfiles/ad_zero.hpp" #endif +#ifdef TARGET_ARCH_MODEL_arm +# include "adfiles/ad_arm.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc +# include "adfiles/ad_ppc.hpp" +#endif // Portions of code courtesy of Clifford Click
--- a/hotspot/src/share/vm/opto/locknode.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/opto/locknode.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -40,6 +40,12 @@ #ifdef TARGET_ARCH_MODEL_zero # include "adfiles/ad_zero.hpp" #endif +#ifdef TARGET_ARCH_MODEL_arm +# include "adfiles/ad_arm.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc +# include "adfiles/ad_ppc.hpp" +#endif //------------------------------BoxLockNode------------------------------------ class BoxLockNode : public Node {
--- a/hotspot/src/share/vm/opto/output.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/opto/output.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -39,6 +39,12 @@ #ifdef TARGET_ARCH_MODEL_zero # include "adfiles/ad_zero.hpp" #endif +#ifdef TARGET_ARCH_MODEL_arm +# include "adfiles/ad_arm.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc +# include "adfiles/ad_ppc.hpp" +#endif class Arena; class Bundle;
--- a/hotspot/src/share/vm/opto/regmask.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/opto/regmask.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -37,6 +37,12 @@ #ifdef TARGET_ARCH_MODEL_zero # include "adfiles/ad_zero.hpp" #endif +#ifdef TARGET_ARCH_MODEL_arm +# include "adfiles/ad_arm.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc +# include "adfiles/ad_ppc.hpp" +#endif #define RM_SIZE _RM_SIZE /* a constant private to the class RegMask */
--- a/hotspot/src/share/vm/opto/regmask.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/opto/regmask.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -40,6 +40,12 @@ #ifdef TARGET_ARCH_MODEL_zero # include "adfiles/adGlobals_zero.hpp" #endif +#ifdef TARGET_ARCH_MODEL_arm +# include "adfiles/adGlobals_arm.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc +# include "adfiles/adGlobals_ppc.hpp" +#endif // Some fun naming (textual) substitutions: //
--- a/hotspot/src/share/vm/opto/runtime.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/opto/runtime.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -80,6 +80,12 @@ #ifdef TARGET_ARCH_MODEL_zero # include "adfiles/ad_zero.hpp" #endif +#ifdef TARGET_ARCH_MODEL_arm +# include "adfiles/ad_arm.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc +# include "adfiles/ad_ppc.hpp" +#endif // For debugging purposes:
--- a/hotspot/src/share/vm/prims/forte.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/prims/forte.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -520,6 +520,7 @@ // method_id - jmethodID of the method being executed extern "C" { +JNIEXPORT void AsyncGetCallTrace(ASGCT_CallTrace *trace, jint depth, void* ucontext) { // This is if'd out because we no longer use thread suspension.
--- a/hotspot/src/share/vm/prims/jniCheck.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/prims/jniCheck.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -45,6 +45,12 @@ #ifdef TARGET_ARCH_zero # include "jniTypes_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "jniTypes_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "jniTypes_ppc.hpp" +#endif // Heap objects are allowed to be directly referenced only in VM code,
--- a/hotspot/src/share/vm/prims/jni_md.h Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/prims/jni_md.h Wed Jul 05 17:35:03 2017 +0200 @@ -33,6 +33,12 @@ #ifdef TARGET_ARCH_zero # include "jni_zero.h" #endif +#ifdef TARGET_ARCH_arm +# include "jni_arm.h" +#endif +#ifdef TARGET_ARCH_ppc +# include "jni_ppc.h" +#endif /*
--- a/hotspot/src/share/vm/prims/jvm.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/prims/jvm.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -2585,7 +2585,7 @@ } -int jio_printf(const char *fmt, ...) { +JNIEXPORT int jio_printf(const char *fmt, ...) { int len; va_list args; va_start(args, fmt);
--- a/hotspot/src/share/vm/prims/jvm.h Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/prims/jvm.h Wed Jul 05 17:35:03 2017 +0200 @@ -1417,16 +1417,16 @@ * BE CAREFUL! The following functions do not implement the * full feature set of standard C printf formats. */ -int +JNIEXPORT int jio_vsnprintf(char *str, size_t count, const char *fmt, va_list args); -int +JNIEXPORT int jio_snprintf(char *str, size_t count, const char *fmt, ...); -int +JNIEXPORT int jio_fprintf(FILE *, const char *fmt, ...); -int +JNIEXPORT int jio_vfprintf(FILE *, const char *fmt, va_list args);
--- a/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -36,6 +36,12 @@ #ifdef TARGET_ARCH_zero # include "bytes_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "bytes_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "bytes_ppc.hpp" +#endif // FIXME: add Deprecated, LVT, LVTT attributes // FIXME: fix Synthetic attribute // FIXME: per Serguei, add error return handling for constantPoolOopDesc::copy_cpool_bytes()
--- a/hotspot/src/share/vm/prims/jvmtiExport.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/prims/jvmtiExport.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2011, 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 @@ -750,15 +750,12 @@ // pending CompiledMethodUnload support // -bool JvmtiExport::_have_pending_compiled_method_unload_events; -GrowableArray<jmethodID>* JvmtiExport::_pending_compiled_method_unload_method_ids; -GrowableArray<const void *>* JvmtiExport::_pending_compiled_method_unload_code_begins; -JavaThread* JvmtiExport::_current_poster; - -void JvmtiExport::post_compiled_method_unload_internal(JavaThread* self, jmethodID method, const void *code_begin) { +void JvmtiExport::post_compiled_method_unload( + jmethodID method, const void *code_begin) { + JavaThread* thread = JavaThread::current(); EVT_TRIG_TRACE(JVMTI_EVENT_COMPILED_METHOD_UNLOAD, ("JVMTI [%s] method compile unload event triggered", - JvmtiTrace::safe_get_thread_name(self))); + JvmtiTrace::safe_get_thread_name(thread))); // post the event for each environment that has this event enabled. JvmtiEnvIterator it; @@ -767,12 +764,12 @@ EVT_TRACE(JVMTI_EVENT_COMPILED_METHOD_UNLOAD, ("JVMTI [%s] class compile method unload event sent jmethodID " PTR_FORMAT, - JvmtiTrace::safe_get_thread_name(self), method)); + JvmtiTrace::safe_get_thread_name(thread), method)); - ResourceMark rm(self); + ResourceMark rm(thread); - JvmtiEventMark jem(self); - JvmtiJavaThreadEventTransition jet(self); + JvmtiEventMark jem(thread); + JvmtiJavaThreadEventTransition jet(thread); jvmtiEventCompiledMethodUnload callback = env->callbacks()->CompiledMethodUnload; if (callback != NULL) { (*callback)(env->jvmti_external(), method, code_begin); @@ -781,90 +778,6 @@ } } -// post any pending CompiledMethodUnload events - -void JvmtiExport::post_pending_compiled_method_unload_events() { - JavaThread* self = JavaThread::current(); - assert(!self->owns_locks(), "can't hold locks"); - - // Indicates if this is the first activiation of this function. - // In theory the profiler's callback could call back into VM and provoke - // another CompiledMethodLoad event to be posted from this thread. As the - // stack rewinds we need to ensure that the original activation does the - // completion and notifies any waiters. - bool first_activation = false; - - // the jmethodID (may not be valid) to be used for a single event - jmethodID method; - const void *code_begin; - - // grab the monitor and check if another thread is already posting - // events. If there is another thread posting events then we wait - // until it completes. (In theory we could check the pending events to - // see if any of the addresses overlap with the event that we want to - // post but as it will happen so rarely we just block any thread waiting - // to post a CompiledMethodLoad or DynamicCodeGenerated event until all - // pending CompiledMethodUnload events have been posted). - // - // If another thread isn't posting we examine the list of pending jmethodIDs. - // If the list is empty then we are done. If it's not empty then this thread - // (self) becomes the pending event poster and we remove the top (last) - // event from the list. Note that this means we remove the newest event first - // but as they are all CompiledMethodUnload events the order doesn't matter. - // Once we have removed a jmethodID then we exit the monitor. Any other thread - // wanting to post a CompiledMethodLoad or DynamicCodeGenerated event will - // be forced to wait on the monitor. - { - MutexLocker mu(JvmtiPendingEvent_lock); - if (_current_poster != self) { - while (_current_poster != NULL) { - JvmtiPendingEvent_lock->wait(); - } - } - if ((_pending_compiled_method_unload_method_ids == NULL) || - (_pending_compiled_method_unload_method_ids->length() == 0)) { - return; - } - if (_current_poster == NULL) { - _current_poster = self; - first_activation = true; - } else { - // re-entrant - guarantee(_current_poster == self, "checking"); - } - method = _pending_compiled_method_unload_method_ids->pop(); - code_begin = _pending_compiled_method_unload_code_begins->pop(); - } - - // This thread is the pending event poster so it first posts the CompiledMethodUnload - // event for the jmethodID that has been removed from the list. Once posted it - // re-grabs the monitor and checks the list again. If the list is empty then and this - // is the first activation of the function then we reset the _have_pending_events - // flag, cleanup _current_poster to indicate that no thread is now servicing the - // pending events list, and finally notify any thread that might be waiting. - for (;;) { - post_compiled_method_unload_internal(self, method, code_begin); - - // event posted, now re-grab monitor and get the next event - // If there's no next event then we are done. If this is the first - // activiation of this function by this thread notify any waiters - // so that they can post. - { - MutexLocker ml(JvmtiPendingEvent_lock); - if (_pending_compiled_method_unload_method_ids->length() == 0) { - if (first_activation) { - _have_pending_compiled_method_unload_events = false; - _current_poster = NULL; - JvmtiPendingEvent_lock->notify_all(); - } - return; - } - method = _pending_compiled_method_unload_method_ids->pop(); - code_begin = _pending_compiled_method_unload_code_begins->pop(); - } - } -} - /////////////////////////////////////////////////////////////// // // JvmtiExport @@ -1830,16 +1743,7 @@ } void JvmtiExport::post_compiled_method_load(nmethod *nm) { - // If there are pending CompiledMethodUnload events then these are - // posted before this CompiledMethodLoad event. We "lock" the nmethod and - // maintain a handle to the methodOop to ensure that the nmethod isn't - // flushed or unloaded while posting the events. JavaThread* thread = JavaThread::current(); - if (have_pending_compiled_method_unload_events()) { - methodHandle mh(thread, nm->method()); - nmethodLocker nml(nm); - post_pending_compiled_method_unload_events(); - } EVT_TRIG_TRACE(JVMTI_EVENT_COMPILED_METHOD_LOAD, ("JVMTI [%s] method compile load event triggered", @@ -1854,8 +1758,8 @@ JvmtiTrace::safe_get_thread_name(thread), (nm->method() == NULL) ? "NULL" : nm->method()->klass_name()->as_C_string(), (nm->method() == NULL) ? "NULL" : nm->method()->name()->as_C_string())); - ResourceMark rm(thread); + HandleMark hm(thread); // Add inlining information jvmtiCompiledMethodLoadInlineRecord* inlinerecord = create_inline_record(nm); @@ -1899,28 +1803,6 @@ } } -// used at a safepoint to post a CompiledMethodUnload event -void JvmtiExport::post_compiled_method_unload(jmethodID mid, const void *code_begin) { - if (SafepointSynchronize::is_at_safepoint()) { - // Class unloading can cause nmethod unloading which is reported - // by the VMThread. These must be batched to be processed later. - if (_pending_compiled_method_unload_method_ids == NULL) { - // create list lazily - _pending_compiled_method_unload_method_ids = new (ResourceObj::C_HEAP) GrowableArray<jmethodID>(10,true); - _pending_compiled_method_unload_code_begins = new (ResourceObj::C_HEAP) GrowableArray<const void *>(10,true); - } - _pending_compiled_method_unload_method_ids->append(mid); - _pending_compiled_method_unload_code_begins->append(code_begin); - _have_pending_compiled_method_unload_events = true; - } else { - // Unloading caused by the sweeper can be reported synchronously. - if (have_pending_compiled_method_unload_events()) { - post_pending_compiled_method_unload_events(); - } - post_compiled_method_unload_internal(JavaThread::current(), mid, code_begin); - } -} - void JvmtiExport::post_dynamic_code_generated_internal(const char *name, const void *code_begin, const void *code_end) { JavaThread* thread = JavaThread::current(); EVT_TRIG_TRACE(JVMTI_EVENT_DYNAMIC_CODE_GENERATED, @@ -1953,9 +1835,9 @@ return; } - if (have_pending_compiled_method_unload_events()) { - post_pending_compiled_method_unload_events(); - } + // Blocks until everything now in the queue has been posted + JvmtiDeferredEventQueue::flush_queue(Thread::current()); + post_dynamic_code_generated_internal(name, code_begin, code_end); }
--- a/hotspot/src/share/vm/prims/jvmtiExport.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/prims/jvmtiExport.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2011, 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 @@ -141,25 +141,6 @@ private: - // CompiledMethodUnload events are reported from the VM thread so they - // are collected in lists (of jmethodID/addresses) and the events are posted later - // from threads posting CompieldMethodLoad or DynamicCodeGenerated events. - static bool _have_pending_compiled_method_unload_events; - static GrowableArray<jmethodID>* _pending_compiled_method_unload_method_ids; - static GrowableArray<const void *>* _pending_compiled_method_unload_code_begins; - static JavaThread* _current_poster; - - // tests if there are CompiledMethodUnload events pending - inline static bool have_pending_compiled_method_unload_events() { - return _have_pending_compiled_method_unload_events; - } - - // posts any pending CompiledMethodUnload events. - static void post_pending_compiled_method_unload_events(); - - // Perform the actual notification to interested JvmtiEnvs. - static void post_compiled_method_unload_internal(JavaThread* self, jmethodID mid, const void* code_begin); - // posts a DynamicCodeGenerated event (internal/private implementation). // The public post_dynamic_code_generated* functions make use of the // internal implementation. @@ -256,7 +237,7 @@ // single stepping management methods static void at_single_stepping_point(JavaThread *thread, methodOop method, address location) KERNEL_RETURN; static void expose_single_stepping(JavaThread *thread) KERNEL_RETURN; - static bool hide_single_stepping(JavaThread *thread) KERNEL_RETURN_(return false;); + static bool hide_single_stepping(JavaThread *thread) KERNEL_RETURN_(false); // Methods that notify the debugger that something interesting has happened in the VM. static void post_vm_start (); @@ -271,20 +252,20 @@ static oop jni_GetField_probe (JavaThread *thread, jobject jobj, oop obj, klassOop klass, jfieldID fieldID, bool is_static) - KERNEL_RETURN_(return NULL;); + KERNEL_RETURN_(NULL); static oop jni_GetField_probe_nh (JavaThread *thread, jobject jobj, oop obj, klassOop klass, jfieldID fieldID, bool is_static) - KERNEL_RETURN_(return NULL;); + KERNEL_RETURN_(NULL); static void post_field_access_by_jni (JavaThread *thread, oop obj, klassOop klass, jfieldID fieldID, bool is_static) KERNEL_RETURN; static void post_field_access (JavaThread *thread, methodOop method, address location, KlassHandle field_klass, Handle object, jfieldID field) KERNEL_RETURN; static oop jni_SetField_probe (JavaThread *thread, jobject jobj, oop obj, klassOop klass, jfieldID fieldID, bool is_static, char sig_type, - jvalue *value) KERNEL_RETURN_(return NULL;); + jvalue *value) KERNEL_RETURN_(NULL); static oop jni_SetField_probe_nh (JavaThread *thread, jobject jobj, oop obj, klassOop klass, jfieldID fieldID, bool is_static, char sig_type, - jvalue *value) KERNEL_RETURN_(return NULL;); + jvalue *value) KERNEL_RETURN_(NULL); static void post_field_modification_by_jni(JavaThread *thread, oop obj, klassOop klass, jfieldID fieldID, bool is_static, char sig_type, jvalue *value);
--- a/hotspot/src/share/vm/prims/jvmtiImpl.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/prims/jvmtiImpl.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2011, 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 @@ -32,11 +32,13 @@ #include "prims/jvmtiEventController.inline.hpp" #include "prims/jvmtiImpl.hpp" #include "prims/jvmtiRedefineClasses.hpp" +#include "runtime/atomic.hpp" #include "runtime/deoptimization.hpp" #include "runtime/handles.hpp" #include "runtime/handles.inline.hpp" #include "runtime/interfaceSupport.hpp" #include "runtime/javaCalls.hpp" +#include "runtime/serviceThread.hpp" #include "runtime/signature.hpp" #include "runtime/vframe.hpp" #include "runtime/vframe_hp.hpp" @@ -910,3 +912,207 @@ tty->print_cr("]"); #endif } + +#ifndef KERNEL + +JvmtiDeferredEvent JvmtiDeferredEvent::compiled_method_load_event( + nmethod* nm) { + JvmtiDeferredEvent event = JvmtiDeferredEvent(TYPE_COMPILED_METHOD_LOAD); + event.set_compiled_method_load(nm); + nmethodLocker::lock_nmethod(nm); // will be unlocked when posted + return event; +} + +JvmtiDeferredEvent JvmtiDeferredEvent::compiled_method_unload_event( + jmethodID id, const void* code) { + JvmtiDeferredEvent event = JvmtiDeferredEvent(TYPE_COMPILED_METHOD_UNLOAD); + event.set_compiled_method_unload(id, code); + return event; +} + +void JvmtiDeferredEvent::post() { + switch(_type) { + case TYPE_COMPILED_METHOD_LOAD: + JvmtiExport::post_compiled_method_load(compiled_method_load()); + nmethodLocker::unlock_nmethod(compiled_method_load()); + break; + case TYPE_COMPILED_METHOD_UNLOAD: + JvmtiExport::post_compiled_method_unload( + compiled_method_unload_method_id(), + compiled_method_unload_code_begin()); + break; + case TYPE_FLUSH: + JvmtiDeferredEventQueue::flush_complete(flush_state_addr()); + break; + default: + ShouldNotReachHere(); + } +} + +JvmtiDeferredEventQueue::QueueNode* JvmtiDeferredEventQueue::_queue_tail = NULL; +JvmtiDeferredEventQueue::QueueNode* JvmtiDeferredEventQueue::_queue_head = NULL; + +volatile JvmtiDeferredEventQueue::QueueNode* + JvmtiDeferredEventQueue::_pending_list = NULL; + +bool JvmtiDeferredEventQueue::has_events() { + assert(Service_lock->owned_by_self(), "Must own Service_lock"); + return _queue_head != NULL || _pending_list != NULL; +} + +void JvmtiDeferredEventQueue::enqueue(const JvmtiDeferredEvent& event) { + assert(Service_lock->owned_by_self(), "Must own Service_lock"); + + process_pending_events(); + + // Events get added to the end of the queue (and are pulled off the front). + QueueNode* node = new QueueNode(event); + if (_queue_tail == NULL) { + _queue_tail = _queue_head = node; + } else { + assert(_queue_tail->next() == NULL, "Must be the last element in the list"); + _queue_tail->set_next(node); + _queue_tail = node; + } + + Service_lock->notify_all(); + assert((_queue_head == NULL) == (_queue_tail == NULL), + "Inconsistent queue markers"); +} + +JvmtiDeferredEvent JvmtiDeferredEventQueue::dequeue() { + assert(Service_lock->owned_by_self(), "Must own Service_lock"); + + process_pending_events(); + + assert(_queue_head != NULL, "Nothing to dequeue"); + + if (_queue_head == NULL) { + // Just in case this happens in product; it shouldn't but let's not crash + return JvmtiDeferredEvent(); + } + + QueueNode* node = _queue_head; + _queue_head = _queue_head->next(); + if (_queue_head == NULL) { + _queue_tail = NULL; + } + + assert((_queue_head == NULL) == (_queue_tail == NULL), + "Inconsistent queue markers"); + + JvmtiDeferredEvent event = node->event(); + delete node; + return event; +} + +void JvmtiDeferredEventQueue::add_pending_event( + const JvmtiDeferredEvent& event) { + + QueueNode* node = new QueueNode(event); + + bool success = false; + QueueNode* prev_value = (QueueNode*)_pending_list; + do { + node->set_next(prev_value); + prev_value = (QueueNode*)Atomic::cmpxchg_ptr( + (void*)node, (volatile void*)&_pending_list, (void*)node->next()); + } while (prev_value != node->next()); +} + +// This method transfers any events that were added by someone NOT holding +// the lock into the mainline queue. +void JvmtiDeferredEventQueue::process_pending_events() { + assert(Service_lock->owned_by_self(), "Must own Service_lock"); + + if (_pending_list != NULL) { + QueueNode* head = + (QueueNode*)Atomic::xchg_ptr(NULL, (volatile void*)&_pending_list); + + assert((_queue_head == NULL) == (_queue_tail == NULL), + "Inconsistent queue markers"); + + if (head != NULL) { + // Since we've treated the pending list as a stack (with newer + // events at the beginning), we need to join the bottom of the stack + // with the 'tail' of the queue in order to get the events in the + // right order. We do this by reversing the pending list and appending + // it to the queue. + + QueueNode* new_tail = head; + QueueNode* new_head = NULL; + + // This reverses the list + QueueNode* prev = new_tail; + QueueNode* node = new_tail->next(); + new_tail->set_next(NULL); + while (node != NULL) { + QueueNode* next = node->next(); + node->set_next(prev); + prev = node; + node = next; + } + new_head = prev; + + // Now append the new list to the queue + if (_queue_tail != NULL) { + _queue_tail->set_next(new_head); + } else { // _queue_head == NULL + _queue_head = new_head; + } + _queue_tail = new_tail; + } + } +} + +enum { + // Random - used for debugging + FLUSHING = 0x50403020, + FLUSHED = 0x09080706 +}; + +void JvmtiDeferredEventQueue::flush_queue(Thread* thread) { + + volatile int flush_state = FLUSHING; + + JvmtiDeferredEvent flush(JvmtiDeferredEvent::TYPE_FLUSH); + flush.set_flush_state_addr((int*)&flush_state); + + if (ServiceThread::is_service_thread(thread)) { + // If we are the service thread we have to post all preceding events + // Use the flush event as a token to indicate when we can stop + JvmtiDeferredEvent event; + { + MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag); + enqueue(flush); + event = dequeue(); + } + while (!event.is_flush_event() || + event.flush_state_addr() != &flush_state) { + event.post(); + { + MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag); + event = dequeue(); + } + } + } else { + // Wake up the service thread so it will process events. When it gets + // to the flush event it will set 'flush_complete' and notify us. + MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag); + enqueue(flush); + while (flush_state != FLUSHED) { + assert(flush_state == FLUSHING || flush_state == FLUSHED, + "only valid values for this"); + Service_lock->wait(Mutex::_no_safepoint_check_flag); + } + } +} + +void JvmtiDeferredEventQueue::flush_complete(int* state_addr) { + assert(state_addr != NULL && *state_addr == FLUSHING, "must be"); + MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag); + *state_addr = FLUSHED; + Service_lock->notify_all(); +} + +#endif // ndef KERNEL
--- a/hotspot/src/share/vm/prims/jvmtiImpl.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/prims/jvmtiImpl.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2011, 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 @@ -433,6 +433,149 @@ #endif // !JVMTI_KERNEL +/** + * When a thread (such as the compiler thread or VM thread) cannot post a + * JVMTI event itself because the event needs to be posted from a Java + * thread, then it can defer the event to the Service thread for posting. + * The information needed to post the event is encapsulated into this class + * and then enqueued onto the JvmtiDeferredEventQueue, where the Service + * thread will pick it up and post it. + * + * This is currently only used for posting compiled-method-load and unload + * events, which we don't want posted from the compiler thread. + */ +class JvmtiDeferredEvent VALUE_OBJ_CLASS_SPEC { + friend class JvmtiDeferredEventQueue; + private: + typedef enum { + TYPE_NONE, + TYPE_COMPILED_METHOD_LOAD, + TYPE_COMPILED_METHOD_UNLOAD, + TYPE_FLUSH // pseudo-event used to implement flush_queue() + } Type; + + Type _type; + union { + nmethod* compiled_method_load; + struct { + jmethodID method_id; + const void* code_begin; + } compiled_method_unload; + int* flush_state_addr; + } _event_data; + + JvmtiDeferredEvent(Type t) : _type(t) {} + + void set_compiled_method_load(nmethod* nm) { + assert(_type == TYPE_COMPILED_METHOD_LOAD, "must be"); + _event_data.compiled_method_load = nm; + } + + nmethod* compiled_method_load() const { + assert(_type == TYPE_COMPILED_METHOD_LOAD, "must be"); + return _event_data.compiled_method_load; + } + + void set_compiled_method_unload(jmethodID id, const void* code) { + assert(_type == TYPE_COMPILED_METHOD_UNLOAD, "must be"); + _event_data.compiled_method_unload.method_id = id; + _event_data.compiled_method_unload.code_begin = code; + } + + jmethodID compiled_method_unload_method_id() const { + assert(_type == TYPE_COMPILED_METHOD_UNLOAD, "must be"); + return _event_data.compiled_method_unload.method_id; + } + + const void* compiled_method_unload_code_begin() const { + assert(_type == TYPE_COMPILED_METHOD_UNLOAD, "must be"); + return _event_data.compiled_method_unload.code_begin; + } + + bool is_flush_event() const { return _type == TYPE_FLUSH; } + + int* flush_state_addr() const { + assert(is_flush_event(), "must be"); + return _event_data.flush_state_addr; + } + + void set_flush_state_addr(int* flag) { + assert(is_flush_event(), "must be"); + _event_data.flush_state_addr = flag; + } + + public: + + JvmtiDeferredEvent() : _type(TYPE_NONE) {} + + // Factory methods + static JvmtiDeferredEvent compiled_method_load_event(nmethod* nm) + KERNEL_RETURN_(JvmtiDeferredEvent()); + static JvmtiDeferredEvent compiled_method_unload_event( + jmethodID id, const void* code) KERNEL_RETURN_(JvmtiDeferredEvent()); + + // Actually posts the event. + void post() KERNEL_RETURN; +}; + +/** + * Events enqueued on this queue wake up the Service thread which dequeues + * and posts the events. The Service_lock is required to be held + * when operating on the queue (except for the "pending" events). + */ +class JvmtiDeferredEventQueue : AllStatic { + friend class JvmtiDeferredEvent; + private: + class QueueNode : public CHeapObj { + private: + JvmtiDeferredEvent _event; + QueueNode* _next; + + public: + QueueNode(const JvmtiDeferredEvent& event) + : _event(event), _next(NULL) {} + + const JvmtiDeferredEvent& event() const { return _event; } + QueueNode* next() const { return _next; } + + void set_next(QueueNode* next) { _next = next; } + }; + + static QueueNode* _queue_head; // Hold Service_lock to access + static QueueNode* _queue_tail; // Hold Service_lock to access + static volatile QueueNode* _pending_list; // Uses CAS for read/update + + // Transfers events from the _pending_list to the _queue. + static void process_pending_events() KERNEL_RETURN; + + static void flush_complete(int* flush_state) KERNEL_RETURN; + + public: + // Must be holding Service_lock when calling these + static bool has_events() KERNEL_RETURN_(false); + static void enqueue(const JvmtiDeferredEvent& event) KERNEL_RETURN; + static JvmtiDeferredEvent dequeue() KERNEL_RETURN_(JvmtiDeferredEvent()); + + // This call blocks until all events enqueued prior to this call + // have been posted. The Service_lock is acquired and waited upon. + // + // Implemented by creating a "flush" event and placing it in the queue. + // When the flush event is "posted" it will call flush_complete(), which + // will release the caller. + // + // Can be called by any thread (maybe even the service thread itself). + // Not necessary for the caller to be a JavaThread. + static void flush_queue(Thread* current) KERNEL_RETURN; + + // Used to enqueue events without using a lock, for times (such as during + // safepoint) when we can't or don't want to lock the Service_lock. + // + // Events will be held off to the side until there's a call to + // dequeue(), enqueue(), or process_pending_events() (all of which require + // the holding of the Service_lock), and will be enqueued at that time. + static void add_pending_event(const JvmtiDeferredEvent&) KERNEL_RETURN; +}; + // Utility macro that checks for NULL pointers: #define NULL_CHECK(X, Y) if ((X) == NULL) { return (Y); }
--- a/hotspot/src/share/vm/runtime/deoptimization.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/deoptimization.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -59,6 +59,12 @@ #ifdef TARGET_ARCH_zero # include "vmreg_zero.inline.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "vmreg_arm.inline.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "vmreg_ppc.inline.hpp" +#endif #ifdef COMPILER2 #ifdef TARGET_ARCH_MODEL_x86_32 # include "adfiles/ad_x86_32.hpp" @@ -72,6 +78,12 @@ #ifdef TARGET_ARCH_MODEL_zero # include "adfiles/ad_zero.hpp" #endif +#ifdef TARGET_ARCH_MODEL_arm +# include "adfiles/ad_arm.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc +# include "adfiles/ad_ppc.hpp" +#endif #endif bool DeoptimizationMarker::_is_active = false;
--- a/hotspot/src/share/vm/runtime/dtraceJSDT.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/dtraceJSDT.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -35,6 +35,12 @@ #ifdef TARGET_ARCH_zero # include "nativeInst_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "nativeInst_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "nativeInst_ppc.hpp" +#endif class RegisteredProbes; typedef jlong OpaqueProbes;
--- a/hotspot/src/share/vm/runtime/fprofiler.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/fprofiler.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -231,13 +231,13 @@ static void engage(JavaThread* mainThread, bool fullProfile) KERNEL_RETURN ; static void disengage() KERNEL_RETURN ; static void print(int unused) KERNEL_RETURN ; - static bool is_active() KERNEL_RETURN_(return false;) ; + static bool is_active() KERNEL_RETURN_(false) ; // This is NULL if each thread has its own thread profiler, // else this is the single thread profiler used by all threads. // In particular it makes a difference during garbage collection, // where you only want to traverse each thread profiler once. - static ThreadProfiler* get_thread_profiler() KERNEL_RETURN_(return NULL;); + static ThreadProfiler* get_thread_profiler() KERNEL_RETURN_(NULL); // Garbage Collection Support static void oops_do(OopClosure* f) KERNEL_RETURN ; @@ -246,13 +246,13 @@ // Returns the start address for a given pc // NULL is returned if the PCRecorder is inactive - static address bucket_start_for(address pc) KERNEL_RETURN_(return NULL;); + static address bucket_start_for(address pc) KERNEL_RETURN_(NULL); enum { MillisecsPerTick = 10 }; // ms per profiling ticks // Returns the number of ticks recorded for the bucket // pc belongs to. - static int bucket_count_for(address pc) KERNEL_RETURN_(return 0;); + static int bucket_count_for(address pc) KERNEL_RETURN_(0); #ifndef FPROF_KERNEL
--- a/hotspot/src/share/vm/runtime/frame.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/frame.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -52,6 +52,12 @@ #ifdef TARGET_ARCH_zero # include "nativeInst_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "nativeInst_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "nativeInst_ppc.hpp" +#endif RegisterMap::RegisterMap(JavaThread *thread, bool update_map) { _thread = thread;
--- a/hotspot/src/share/vm/runtime/frame.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/frame.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -44,6 +44,12 @@ #ifdef TARGET_ARCH_MODEL_zero # include "adfiles/adGlobals_zero.hpp" #endif +#ifdef TARGET_ARCH_MODEL_arm +# include "adfiles/adGlobals_arm.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc +# include "adfiles/adGlobals_ppc.hpp" +#endif #endif #ifdef ZERO #ifdef TARGET_ARCH_zero @@ -457,6 +463,12 @@ #ifdef TARGET_ARCH_zero # include "frame_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "frame_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "frame_ppc.hpp" +#endif };
--- a/hotspot/src/share/vm/runtime/frame.inline.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/frame.inline.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -40,6 +40,12 @@ #ifdef TARGET_ARCH_zero # include "jniTypes_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "jniTypes_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "jniTypes_ppc.hpp" +#endif #ifdef ZERO #ifdef TARGET_ARCH_zero # include "entryFrame_zero.hpp" @@ -88,6 +94,12 @@ #ifdef TARGET_ARCH_zero # include "frame_zero.inline.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "frame_arm.inline.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "frame_ppc.inline.hpp" +#endif #endif // SHARE_VM_RUNTIME_FRAME_INLINE_HPP
--- a/hotspot/src/share/vm/runtime/globals.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/globals.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2011, 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 @@ -35,6 +35,12 @@ #ifdef TARGET_ARCH_zero # include "globals_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "globals_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "globals_ppc.hpp" +#endif #ifdef TARGET_OS_FAMILY_linux # include "globals_linux.hpp" #endif @@ -62,6 +68,12 @@ #ifdef TARGET_OS_ARCH_windows_x86 # include "globals_windows_x86.hpp" #endif +#ifdef TARGET_OS_ARCH_linux_arm +# include "globals_linux_arm.hpp" +#endif +#ifdef TARGET_OS_ARCH_linux_ppc +# include "globals_linux_ppc.hpp" +#endif #ifdef COMPILER1 #ifdef TARGET_ARCH_x86 # include "c1_globals_x86.hpp" @@ -69,6 +81,12 @@ #ifdef TARGET_ARCH_sparc # include "c1_globals_sparc.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "c1_globals_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "c1_globals_ppc.hpp" +#endif #ifdef TARGET_OS_FAMILY_linux # include "c1_globals_linux.hpp" #endif @@ -86,6 +104,9 @@ #ifdef TARGET_ARCH_sparc # include "c2_globals_sparc.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "c2_globals_arm.hpp" +#endif #ifdef TARGET_OS_FAMILY_linux # include "c2_globals_linux.hpp" #endif @@ -410,7 +431,14 @@ product_pd(bool, UseMembar, \ "(Unstable) Issues membars on thread state transitions") \ \ - /* Temporary: See 6948537 */ \ + /* Temp PPC Flag to allow disabling the use of lwsync on ppc platforms \ + * that don't support it. This will be replaced by processor detection \ + * logic. \ + */ \ + product(bool, UsePPCLWSYNC, true, \ + "Use lwsync instruction if true, else use slower sync") \ + \ + /* Temporary: See 6948537 */ \ experimental(bool, UseMemSetInBOT, true, \ "(Unstable) uses memset in BOT updates in GC code") \ \ @@ -762,6 +790,9 @@ product(bool, ShowMessageBoxOnError, false, \ "Keep process alive on VM fatal error") \ \ + product(bool, CreateMinidumpOnCrash, false, \ + "Create minidump on VM fatal error") \ + \ product_pd(bool, UseOSErrorReporting, \ "Let VM fatal error propagate to the OS (ie. WER on Windows)") \ \ @@ -1926,6 +1957,9 @@ product(bool, PrintRevisitStats, false, \ "Print revisit (klass and MDO) stack related information") \ \ + EMBEDDED_ONLY(product(bool, LowMemoryProtection, true, \ + "Enable LowMemoryProtection")) \ + \ product_pd(bool, NeverActAsServerClassMachine, \ "Never act like a server-class machine") \ \ @@ -2630,6 +2664,25 @@ product(bool, UseStringCache, false, \ "Enable String cache capabilities on String.java") \ \ + /* byte strings */ \ + product(bool, UseCompressedStrings, false, \ + "Enable byte-valued strings") \ + \ + product(bool, SpecialStringCompress, true, \ + "special version of string compress") \ + \ + product(bool, SpecialStringInflate, true, \ + "special version of string inflate") \ + \ + product(bool, SpecialStringCompareToCC, true, \ + "special version of string compareToCC") \ + \ + product(bool, SpecialStringIndexOfCC, true, \ + "special version of string indexOfCC") \ + \ + product(bool, SpecialStringEqualsCC, true, \ + "special version of string equalsCC") \ + \ /* statistics */ \ develop(bool, CountCompiledCalls, false, \ "counts method invocations") \ @@ -2851,9 +2904,13 @@ "Max. no. of lines in the stack trace for Java exceptions " \ "(0 means all)") \ \ - develop(intx, GuaranteedSafepointInterval, 1000, \ + NOT_EMBEDDED(develop(intx, GuaranteedSafepointInterval, 1000, \ "Guarantee a safepoint (at least) every so many milliseconds " \ - "(0 means none)") \ + "(0 means none)")) \ + \ + EMBEDDED_ONLY(product(intx, GuaranteedSafepointInterval, 0, \ + "Guarantee a safepoint (at least) every so many milliseconds " \ + "(0 means none)")) \ \ product(intx, SafepointTimeoutDelay, 10000, \ "Delay in milliseconds for option SafepointTimeout") \ @@ -3543,9 +3600,13 @@ \ /* flags for performance data collection */ \ \ - product(bool, UsePerfData, true, \ + NOT_EMBEDDED(product(bool, UsePerfData, true, \ "Flag to disable jvmstat instrumentation for performance testing" \ - "and problem isolation purposes.") \ + "and problem isolation purposes.")) \ + \ + EMBEDDED_ONLY(product(bool, UsePerfData, false, \ + "Flag to disable jvmstat instrumentation for performance testing" \ + "and problem isolation purposes.")) \ \ product(bool, PerfDataSaveToFile, false, \ "Save PerfData memory to hsperfdata_<pid> file on exit") \ @@ -3597,6 +3658,12 @@ manageable(bool, PrintConcurrentLocks, false, \ "Print java.util.concurrent locks in thread dump") \ \ + product(bool, TransmitErrorReport, false, \ + "Enable error report transmission on erroneous termination") \ + \ + product(ccstr, ErrorReportServer, NULL, \ + "Override built-in error report server address") \ + \ /* Shared spaces */ \ \ product(bool, UseSharedSpaces, true, \
--- a/hotspot/src/share/vm/runtime/icache.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/icache.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -77,6 +77,12 @@ #ifdef TARGET_ARCH_zero # include "icache_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "icache_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "icache_ppc.hpp" +#endif
--- a/hotspot/src/share/vm/runtime/java.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/java.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -70,6 +70,12 @@ #ifdef TARGET_ARCH_zero # include "vm_version_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "vm_version_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "vm_version_ppc.hpp" +#endif #ifdef TARGET_OS_FAMILY_linux # include "thread_linux.inline.hpp" #endif
--- a/hotspot/src/share/vm/runtime/javaCalls.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/javaCalls.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -39,6 +39,12 @@ #ifdef TARGET_ARCH_zero # include "jniTypes_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "jniTypes_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "jniTypes_ppc.hpp" +#endif #ifdef TARGET_OS_FAMILY_linux # include "thread_linux.inline.hpp" #endif
--- a/hotspot/src/share/vm/runtime/javaFrameAnchor.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/javaFrameAnchor.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -44,6 +44,12 @@ #ifdef TARGET_OS_ARCH_windows_x86 # include "orderAccess_windows_x86.inline.hpp" #endif +#ifdef TARGET_OS_ARCH_linux_arm +# include "orderAccess_linux_arm.inline.hpp" +#endif +#ifdef TARGET_OS_ARCH_linux_ppc +# include "orderAccess_linux_ppc.inline.hpp" +#endif // // An object for encapsulating the machine/os dependent part of a JavaThread frame state // @@ -102,6 +108,12 @@ #ifdef TARGET_ARCH_zero # include "javaFrameAnchor_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "javaFrameAnchor_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "javaFrameAnchor_ppc.hpp" +#endif public:
--- a/hotspot/src/share/vm/runtime/mutexLocker.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/mutexLocker.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -129,7 +129,7 @@ Monitor* GCTaskManager_lock = NULL; Mutex* Management_lock = NULL; -Monitor* LowMemory_lock = NULL; +Monitor* Service_lock = NULL; #define MAX_NUM_MUTEX 128 static Monitor * _mutex_array[MAX_NUM_MUTEX]; @@ -203,7 +203,7 @@ def(Patching_lock , Mutex , special, true ); // used for safepointing and code patching. def(ObjAllocPost_lock , Monitor, special, false); - def(LowMemory_lock , Monitor, special, true ); // used for low memory detection + def(Service_lock , Monitor, special, true ); // used for service thread operations def(JmethodIdCreation_lock , Mutex , leaf, true ); // used for creating jmethodIDs. def(SystemDictionary_lock , Monitor, leaf, true ); // lookups done by VM thread
--- a/hotspot/src/share/vm/runtime/mutexLocker.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/mutexLocker.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -131,7 +131,7 @@ extern Mutex* HotCardCache_lock; // protects the hot card cache extern Mutex* Management_lock; // a lock used to serialize JVM management -extern Monitor* LowMemory_lock; // a lock used for low memory detection +extern Monitor* Service_lock; // a lock used for service thread operation // A MutexLocker provides mutual exclusion with respect to a given mutex // for the scope which contains the locker. The lock is an OS lock, not
--- a/hotspot/src/share/vm/runtime/os.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/os.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2011, 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 @@ -614,6 +614,9 @@ // Structured OS Exception support static void os_exception_wrapper(java_call_t f, JavaValue* value, methodHandle* method, JavaCallArguments* args, Thread* thread); + // On Windows this will create an actual minidump, on Linux/Solaris it will simply check core dump limits + static void check_or_create_dump(void* exceptionRecord, void* contextRecord, char* buffer, size_t bufferSize); + // JVMTI & JVM monitoring and management support // The thread_cpu_time() and current_thread_cpu_time() are only // supported if is_thread_cpu_time_supported() returns true. @@ -676,6 +679,12 @@ #ifdef TARGET_OS_ARCH_windows_x86 # include "os_windows_x86.hpp" #endif +#ifdef TARGET_OS_ARCH_linux_arm +# include "os_linux_arm.hpp" +#endif +#ifdef TARGET_OS_ARCH_linux_ppc +# include "os_linux_ppc.hpp" +#endif // debugging support (mostly used by debug.cpp but also fatal error handler)
--- a/hotspot/src/share/vm/runtime/registerMap.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/registerMap.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -36,6 +36,12 @@ #ifdef TARGET_ARCH_zero # include "register_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "register_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "register_ppc.hpp" +#endif class JavaThread; @@ -138,6 +144,12 @@ #ifdef TARGET_ARCH_zero # include "registerMap_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "registerMap_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "registerMap_ppc.hpp" +#endif };
--- a/hotspot/src/share/vm/runtime/relocator.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/relocator.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -36,6 +36,12 @@ #ifdef TARGET_ARCH_zero # include "bytes_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "bytes_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "bytes_ppc.hpp" +#endif // This code has been converted from the 1.1E java virtual machine // Thanks to the JavaTopics group for using the code
--- a/hotspot/src/share/vm/runtime/safepoint.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/safepoint.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -61,6 +61,14 @@ # include "nativeInst_zero.hpp" # include "vmreg_zero.inline.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "nativeInst_arm.hpp" +# include "vmreg_arm.inline.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "nativeInst_ppc.hpp" +# include "vmreg_ppc.inline.hpp" +#endif #ifdef TARGET_OS_FAMILY_linux # include "thread_linux.inline.hpp" #endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/src/share/vm/runtime/serviceThread.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -0,0 +1,122 @@ +/* + * Copyright (c) 2011, 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. + * + */ + +#include "precompiled.hpp" +#include "runtime/interfaceSupport.hpp" +#include "runtime/javaCalls.hpp" +#include "runtime/serviceThread.hpp" +#include "runtime/mutexLocker.hpp" +#include "prims/jvmtiImpl.hpp" + +ServiceThread* ServiceThread::_instance = NULL; + +void ServiceThread::initialize() { + EXCEPTION_MARK; + + instanceKlassHandle klass (THREAD, SystemDictionary::Thread_klass()); + instanceHandle thread_oop = klass->allocate_instance_handle(CHECK); + + const char* name = JDK_Version::is_gte_jdk17x_version() ? + "Service Thread" : "Low Memory Detector"; + + Handle string = java_lang_String::create_from_str(name, CHECK); + + // Initialize thread_oop to put it into the system threadGroup + Handle thread_group (THREAD, Universe::system_thread_group()); + JavaValue result(T_VOID); + JavaCalls::call_special(&result, thread_oop, + klass, + vmSymbols::object_initializer_name(), + vmSymbols::threadgroup_string_void_signature(), + thread_group, + string, + CHECK); + + { + MutexLocker mu(Threads_lock); + ServiceThread* thread = new ServiceThread(&service_thread_entry); + + // At this point it may be possible that no osthread was created for the + // JavaThread due to lack of memory. We would have to throw an exception + // in that case. However, since this must work and we do not allow + // exceptions anyway, check and abort if this fails. + if (thread == NULL || thread->osthread() == NULL) { + vm_exit_during_initialization("java.lang.OutOfMemoryError", + "unable to create new native thread"); + } + + java_lang_Thread::set_thread(thread_oop(), thread); + java_lang_Thread::set_priority(thread_oop(), NearMaxPriority); + java_lang_Thread::set_daemon(thread_oop()); + thread->set_threadObj(thread_oop()); + + Threads::add(thread); + Thread::start(thread); + + _instance = thread; + } +} + +void ServiceThread::service_thread_entry(JavaThread* jt, TRAPS) { + while (true) { + bool sensors_changed = false; + bool has_jvmti_events = false; + JvmtiDeferredEvent jvmti_event; + { + // Need state transition ThreadBlockInVM so that this thread + // will be handled by safepoint correctly when this thread is + // notified at a safepoint. + + // This ThreadBlockInVM object is not also considered to be + // suspend-equivalent because ServiceThread is not visible to + // external suspension. + + ThreadBlockInVM tbivm(jt); + + MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag); + while (!(sensors_changed = LowMemoryDetector::has_pending_requests()) && + !(has_jvmti_events = JvmtiDeferredEventQueue::has_events())) { + // wait until one of the sensors has pending requests, or there is a + // pending JVMTI event to post + Service_lock->wait(Mutex::_no_safepoint_check_flag); + } + + if (has_jvmti_events) { + jvmti_event = JvmtiDeferredEventQueue::dequeue(); + } + } + + if (has_jvmti_events) { + jvmti_event.post(); + } + + if (sensors_changed) { + LowMemoryDetector::process_sensor_changes(jt); + } + } +} + +bool ServiceThread::is_service_thread(Thread* thread) { + return thread == _instance; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/src/share/vm/runtime/serviceThread.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2011, 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. + * + */ + +#ifndef SHARE_VM_RUNTIME_SERVICETHREAD_HPP +#define SHARE_VM_RUNTIME_SERVICETHREAD_HPP + +#include "runtime/thread.hpp" + +// A JavaThread for low memory detection support and JVMTI +// compiled-method-load events. +class ServiceThread : public JavaThread { + friend class VMStructs; + private: + + static ServiceThread* _instance; + + static void service_thread_entry(JavaThread* thread, TRAPS); + ServiceThread(ThreadFunction entry_point) : JavaThread(entry_point) {}; + + public: + static void initialize(); + + // Hide this thread from external view. + bool is_hidden_from_external_view() const { return true; } + + // Returns true if the passed thread is the service thread. + static bool is_service_thread(Thread* thread); +}; + +#endif // SHARE_VM_RUNTIME_SERVICETHREAD_HPP
--- a/hotspot/src/share/vm/runtime/sharedRuntime.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/sharedRuntime.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -68,6 +68,14 @@ # include "nativeInst_zero.hpp" # include "vmreg_zero.inline.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "nativeInst_arm.hpp" +# include "vmreg_arm.inline.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "nativeInst_ppc.hpp" +# include "vmreg_ppc.inline.hpp" +#endif #ifdef COMPILER1 #include "c1/c1_Runtime1.hpp" #endif @@ -2618,6 +2626,7 @@ int jlsLen = java_lang_String::length(src); jchar* jlsPos = (jlsLen == 0) ? NULL : jlsValue->char_at_addr(jlsOffset); + assert(typeArrayKlass::cast(jlsValue->klass())->element_type() == T_CHAR, "compressed string"); (void) UNICODE::as_utf8(jlsPos, jlsLen, (char *)dst, max_dtrace_string_size); } #endif // ndef HAVE_DTRACE_H
--- a/hotspot/src/share/vm/runtime/stackValueCollection.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/stackValueCollection.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -33,6 +33,12 @@ #ifdef TARGET_ARCH_zero # include "jniTypes_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "jniTypes_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "jniTypes_ppc.hpp" +#endif jint StackValueCollection::int_at(int slot) const { intptr_t val = at(slot)->get_int();
--- a/hotspot/src/share/vm/runtime/statSampler.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/statSampler.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -42,6 +42,12 @@ #ifdef TARGET_ARCH_zero # include "vm_version_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "vm_version_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "vm_version_ppc.hpp" +#endif // -------------------------------------------------------- // StatSamplerTask
--- a/hotspot/src/share/vm/runtime/stubCodeGenerator.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/stubCodeGenerator.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -36,6 +36,12 @@ #ifdef TARGET_ARCH_zero # include "assembler_zero.inline.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "assembler_arm.inline.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "assembler_ppc.inline.hpp" +#endif // Implementation of StubCodeDesc
--- a/hotspot/src/share/vm/runtime/stubRoutines.hpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/stubRoutines.hpp Wed Jul 05 17:35:03 2017 +0200 @@ -40,6 +40,12 @@ #ifdef TARGET_ARCH_zero # include "nativeInst_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "nativeInst_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "nativeInst_ppc.hpp" +#endif // StubRoutines provides entry points to assembly routines used by // compiled code and the run-time system. Platform-specific entry @@ -105,6 +111,12 @@ #ifdef TARGET_ARCH_MODEL_zero # include "stubRoutines_zero.hpp" #endif +#ifdef TARGET_ARCH_MODEL_arm +# include "stubRoutines_arm.hpp" +#endif +#ifdef TARGET_ARCH_MODEL_ppc +# include "stubRoutines_ppc.hpp" +#endif static jint _verify_oop_count;
--- a/hotspot/src/share/vm/runtime/thread.cpp Thu Feb 10 16:24:34 2011 -0800 +++ b/hotspot/src/share/vm/runtime/thread.cpp Wed Jul 05 17:35:03 2017 +0200 @@ -962,22 +962,6 @@ vmSymbols::void_method_signature(), CHECK); } -#ifdef KERNEL -static void set_jkernel_boot_classloader_hook(TRAPS) { - klassOop k = SystemDictionary::sun_jkernel_DownloadManager_klass(); - instanceKlassHandle klass (THREAD, k); - - if (k == NULL) { - // sun.jkernel.DownloadManager may not present in the JDK; just return - return; - } - - JavaValue result(T_VOID); - JavaCalls::call_static(&result, klass, vmSymbols::setBootClassLoaderHook_name(), - vmSymbols::void_method_signature(), CHECK); -} -#endif // KERNEL - // General purpose hook into Java code, run once when the VM is initialized. // The Java library method itself may be changed independently from the VM. static void call_postVMInitHook(TRAPS) { @@ -1611,7 +1595,15 @@ uncaught_exception, // Arg 2 THREAD); } - CLEAR_PENDING_EXCEPTION; + if (HAS_PENDING_EXCEPTION) { + ResourceMark rm(this); + jio_fprintf(defaultStream::error_stream(), + "\nException: %s thrown from the UncaughtExceptionHandler" + " in thread \"%s\"\n", +