diff --git a/.hgtags b/.hgtags index be37568c892..ae6ca3b1732 100644 --- a/.hgtags +++ b/.hgtags @@ -103,3 +103,6 @@ f658ec2730fa29323c36d23c27e54c7219ef5e16 jdk7-b125 f1df068076986679ea1105532a65529d63a89060 jdk7-b126 f83cd8bd35c678f94e526990e03dc838d0ec2717 jdk7-b127 7da3f5f30855dec6bf3a86529e87dee883b90c72 jdk7-b128 +6823ea7eb8eb6fab405d7edb7a5c2f690887a2fa jdk7-b129 +a36beda9b9de91231d92a2c529f21cc218fcf8d5 jdk7-b130 +d8af56da89bc0fc02a6b6ad78f51157a46d665ab jdk7-b131 diff --git a/.hgtags-top-repo b/.hgtags-top-repo index edc59dcf5c7..d493b08a8bf 100644 --- a/.hgtags-top-repo +++ b/.hgtags-top-repo @@ -103,3 +103,6 @@ ed6950da30cf1e8904b4bdb034d471647942271f jdk7-b123 b566d490905691787f8931f69947a92c67c6d5e4 jdk7-b126 bd70f76b0309068f157ae759c36eac8f2c6d098e jdk7-b127 57d702105b23fb90e40beaf00f8f8aeae5e249e7 jdk7-b128 +a6b015b59fbc2518762c17ccc35702f03ef7713a jdk7-b129 +cc58c11af15411042719e9c82707fdbef60a9e0f jdk7-b130 +5d86d951426aaf340b1ba84ae2d5ab5da65a71e2 jdk7-b131 diff --git a/LICENSE b/LICENSE index eeab58c21c9..b40a0f457d7 100644 --- a/LICENSE +++ b/LICENSE @@ -325,11 +325,11 @@ License instead of this License. "CLASSPATH" EXCEPTION TO THE GPL -Certain source files distributed by Sun Microsystems, Inc. are subject to -the following clarification and special exception to the GPL, but only where -Sun has expressly included in the particular source file's header the words -"Sun designates this particular file as subject to the "Classpath" exception -as provided by Sun in the LICENSE file that accompanied this code." +Certain source files distributed by Oracle America and/or its affiliates are +subject to the following clarification and special exception to the GPL, but +only where Oracle has expressly included in the particular source file's header +the words "Oracle designates this particular file as subject to the "Classpath" +exception as provided by Oracle in the LICENSE file that accompanied this code." Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of diff --git a/corba/.hgtags b/corba/.hgtags index ab1a96c5efc..84ba8dffd14 100644 --- a/corba/.hgtags +++ b/corba/.hgtags @@ -103,3 +103,6 @@ f90b3e014e831eb4f32ef035a1dad2b8ba87949f jdk7-b124 d7532bcd3742f1576dd07ff9fbb535c9c9a276e9 jdk7-b126 64775e83f4df894355f45555f50c410de6727b4e jdk7-b127 9baa8f94a11d6c5cab3f9f0e5a20106326d0932e jdk7-b128 +66fa0fcc779296c99746b09efce6109944f82f30 jdk7-b129 +563a8f8b5be3940e9346cffac4eff9ed02b3c69f jdk7-b130 +9d6dd2cdfcb92612dbd836ecded87770d52b49db jdk7-b131 diff --git a/corba/LICENSE b/corba/LICENSE index eeab58c21c9..b40a0f457d7 100644 --- a/corba/LICENSE +++ b/corba/LICENSE @@ -325,11 +325,11 @@ License instead of this License. "CLASSPATH" EXCEPTION TO THE GPL -Certain source files distributed by Sun Microsystems, Inc. are subject to -the following clarification and special exception to the GPL, but only where -Sun has expressly included in the particular source file's header the words -"Sun designates this particular file as subject to the "Classpath" exception -as provided by Sun in the LICENSE file that accompanied this code." +Certain source files distributed by Oracle America and/or its affiliates are +subject to the following clarification and special exception to the GPL, but +only where Oracle has expressly included in the particular source file's header +the words "Oracle designates this particular file as subject to the "Classpath" +exception as provided by Oracle in the LICENSE file that accompanied this code." Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of diff --git a/corba/make/common/Defs.gmk b/corba/make/common/Defs.gmk index 6d78ecb580e..ade12fb285a 100644 --- a/corba/make/common/Defs.gmk +++ b/corba/make/common/Defs.gmk @@ -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 @@ include $(TOPDIR)/make/common/Defs-$(PLATFORM).gmk # 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 # diff --git a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_de.properties b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_de.properties index 3ed58f3637a..b33670ea62f 100644 --- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_de.properties +++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_de.properties @@ -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} \n\nwobei folgende 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} \n\nwobei folgende 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} \n\nwobei folgende 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} \n\nwobei folgende 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 \n\t -applicationName \n\t -classpath \n\t -args \n\t -vmargs \n +servertool.servernotrunning=\tServer wird nicht ausgef\u00FChrt. +servertool.register=\n\n\tregister -server \n\t -applicationName \n\t -classpath \n\t -args \n\t -vmargs \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 | -applicationName ] \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 | -applicationName ] [ <-endpointType ] \n -servertool.locate1=Finden von Ports eines speziellen Typs bei einem registrierten Server +servertool.locate=\n\tlocate [ -serverid | -applicationName ] [ <-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 | -applicationName ] [ -orbid ]\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 ] \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 | -applicationName ]\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 | -applicationName ]\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 \n -servertool.help1=Hilfe anfordern +servertool.help1=Hilfe abrufen -servertool.orbidmap=\tSyntax: orblist [ -serverid | -applicationName ]\n +servertool.orbidmap=\\Verwendung: orblist [ -serverid | -applicationName ]\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} \n\nwobei folgende 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} \n\nwobei folgende 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 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 +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 diff --git a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_es.properties b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_es.properties index 80cbfcf50c0..12562891caa 100644 --- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_es.properties +++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_es.properties @@ -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} \n\ndonde 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} \n\ndonde 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} \n\ndonde 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} \n\ndonde 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 \n\t -applicationName \n\t -classpath \n\t -args \n\t -vmargs \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 \n\t -applicationName \n\t -classpath \n\t -args \n\t -vmargs \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.unregister1=anular el registro de un servidor registrado servertool.unregister2=\tanulado el registro del servidor. servertool.locate=\n\tlocate [ -serverid | -applicationName ] [ <-endpointType ] \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 | -applicationName ] [ -orbid ]\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 ] \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 | -applicationName ]\n servertool.shutdown1=apagar un servidor registrado -servertool.shutdown2=\tservidor apagado satisfactoriamente. +servertool.shutdown2=\tservidor apagado correctamente. servertool.startserver=\n\tstartup [ -serverid | -applicationName ]\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 \n servertool.help1=obtener ayuda servertool.orbidmap=\tSintaxis: orblist [ -serverid | -applicationName ]\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} \n\ndonde 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 -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 +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 diff --git a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_fr.properties b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_fr.properties index 331309ae916..b1b64f1f9f3 100644 --- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_fr.properties +++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_fr.properties @@ -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} \n\no\u00f9 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} \n\no\u00F9 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} \n\no\u00f9 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} \n\no\u00F9 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 \n\t -applicationName \n\t -classpath \n\t -args \n\t -vmargs \n +servertool.serverid=\tID de serveur - {0} +servertool.servernotrunning=\tle serveur ne fonctionne pas. +servertool.register=\n\n\tregister -server \n\t -applicationName \n\t -classpath \n\t -args \n\t -vmargs \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 | -applicationName ] \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 | -applicationName ] [ <-endpointType ] \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 | -applicationName ] [ <-endpointType ] \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 | -applicationName ] [ -orbid ]\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 ] \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 | -applicationName ]\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 | -applicationName ]\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.help=\thelp\n\tOR\n\thelp \n servertool.help1=afficher l'aide servertool.orbidmap=\tSyntaxe : orblist [ -serverid | -applicationName ]\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} \n\no\u00f9 comprend :\n -ORBInitialPort Port initial (requis)\n -InitialServicesFile Fichier contenant la liste des services initiaux (requis)\n +bootstrap.usage=Syntaxe : {0} \n\no\u00F9 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 +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 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 diff --git a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_it.properties b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_it.properties index 699ca04ae01..1ef1814688f 100644 --- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_it.properties +++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_it.properties @@ -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} \n\ndove 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} \n\ndove 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} \n\ndove 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} \n\ndove 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 \n\t -applicationName \n\t -classpath \n\t -args \n\t -vmargs \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 | -applicationName ] \n servertool.unregister1=rimuovi un server registrato. @@ -55,19 +55,19 @@ servertool.locate1=individua le porte di un tipo specifico per un server registr 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 | -applicationName ] [ -orbid ]\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 ] \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 | -applicationName ]\n servertool.shutdown1=arresta un server registrato @@ -76,32 +76,32 @@ servertool.startserver=\n\tstartup [ -serverid | -applicationName \n -servertool.help1=get help +servertool.help1=Guida servertool.orbidmap=\tUtilizzo: orblist [ -serverid | -applicationName ]\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} \n\ndove comprende:\n -ORBInitialPort Porta iniziale (richiesta)\n -InitialServicesFile File contenente l''elenco dei servizi iniziali (richiesto)\n +bootstrap.usage=Utilizzo: {0} \n\ndove 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 -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 diff --git a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ja.properties b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ja.properties index 77d0309b526..c236f07507b 100644 --- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ja.properties +++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ja.properties @@ -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} \n\n \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} \n\n\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} \n\n \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} \n\n\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 \n\t -applicationName \n\t -classpath \n\t -args \n\t -vmargs \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 \n\t -applicationName \n\t -classpath \n\t -args \n\t -vmargs \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 | -applicationName ] \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 | -applicationName ]\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 | -applicationName ] [ <-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 | -applicationName ] [ <-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 | -applicationName ] [ -orbid ]\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 ] \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 ]\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 | -applicationName ]\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 | -applicationName ]\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 \n -servertool.help1=\u30d8\u30eb\u30d7\u3092\u8868\u793a\u3057\u307e\u3059\u3002 +servertool.help=\thelp\n\t\u307E\u305F\u306F\n\thelp \n +servertool.help1=\u30D8\u30EB\u30D7\u3092\u8868\u793A\u3057\u307E\u3059 -servertool.orbidmap=\t\u4f7f\u3044\u65b9: orblist [ -serverid | -applicationName ]\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 | -applicationName ]\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} \n\n \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} \n\n\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 \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\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 diff --git a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ko.properties b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ko.properties index 616b17ce256..7be6158a9f5 100644 --- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ko.properties +++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ko.properties @@ -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} \n\n\uC5EC\uAE30\uC11C \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} \n\n\uC5EC\uAE30\uC11C \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 \n\t -applicationName \n\t -classpath \n\t -args \n\t -vmargs \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 | -applicationName ] \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 ] \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 ]\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 | -applicationName ] [ <-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 | -applicationName ] [ -orbid ]\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 ] \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 | -applicationName ]\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 | -applicationName ]\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 \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 | -applicationName ]\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} \n\n\uC5EC\uAE30\uC11C \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 \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. diff --git a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_pt_BR.properties b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_pt_BR.properties index 7fc4dddab18..eeeb083abae 100644 --- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_pt_BR.properties +++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_pt_BR.properties @@ -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} \n\nem que 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} \n\nem que 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} \n\nem que 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} \n\nem que 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 \n\t -applicationName \n\t -classpath \n\t -args \n\t -vmargs \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 | -applicationName ] \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 | -applicationName ] [ <-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 | -applicationName ] [ -orbid ]\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 ] \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 | -applicationName ]\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 | -applicationName ]\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 \n -servertool.help1=obt\u00e9m ajuda +servertool.help1=obt\u00E9m ajuda servertool.orbidmap=\tUso: orblist [ -serverid | -applicationName ]\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} \n\nem que 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} \n\nem que 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 -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 +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 diff --git a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_sv.properties b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_sv.properties index 5dd8b44d13d..c11488e9f48 100644 --- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_sv.properties +++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_sv.properties @@ -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} \n\nd\u00e4r 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} \n\nd\u00E4r 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} \n\nd\u00e4r 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} \n\nd\u00E4r 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 \n\t -applicationName \n\t -classpath \n\t -args \n\t -vmargs \n +servertool.servernotrunning=\tserver k\u00F6rs inte. +servertool.register=\n\n\tregister -server \n\t -applicationName \n\t -classpath \n\t -args \n\t -vmargs \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 | -applicationName ] \n servertool.unregister1=avregistrera en registrerad server -servertool.unregister2=\tserver oregistrerad. +servertool.unregister2=\tserver avregistrerad. -servertool.locate=\n\tlocate [ -serverid | -applicationName ] [ <-endpointType ] \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 | -applicationName ] [ <-endpointType ] \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 | -applicationName ] [ -orbid ]\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 ] \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 | -applicationName ]\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 | -applicationName ]\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 \n -servertool.help1=get help +servertool.help=\thelp\n\tELLER\n\thelp \n +servertool.help1=f\u00E5 hj\u00E4lp -servertool.orbidmap=\tG\u00f6r s\u00e5 h\u00e4r: orblist [ -serverid | -applicationName ]\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 | -applicationName ]\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} \n\nd\u00e4r 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} \n\nd\u00E4r 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 -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 +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 diff --git a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_CN.properties b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_CN.properties index 60c2407004e..6dce9e6e827 100644 --- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_CN.properties +++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_CN.properties @@ -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 | -applicationName ] \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 | -applicationName ] [ <-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 | -applicationName ] [ -orbid ]\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 ] \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 | -applicationName ]\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 | -applicationName ]\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 \n -servertool.help1=\u53d6\u5f97\u5e2e\u52a9 +servertool.help1=\u83B7\u53D6\u5E2E\u52A9 -servertool.orbidmap=\t\u7528\u6cd5\uff1aorblist [ -serverid | -applicationName ]\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 | -applicationName ]\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 -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 \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 diff --git a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_TW.properties b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_TW.properties index 7db8591348b..db797522663 100644 --- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_TW.properties +++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_TW.properties @@ -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} \n\n\u5176\u4e2d \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} \n\n\u5176\u4E2D \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} \n\nwhere \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} \n\nwhere \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 \n\t -applicationName \n\t -classpath \n\t -args \n\t -vmargs \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 \n\t -applicationName \n\t -classpath \n\t -args \n\t -vmargs \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 | -applicationName ] \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 | -applicationName ] [ <-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 | -applicationName ] [ -orbid ]\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 ] \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 | -applicationName ]\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 | -applicationName ]\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 \n -servertool.help1=\u53d6\u5f97\u5e6b\u52a9 +servertool.help=\thelp\n\t\u6216\n\thelp \n +servertool.help1=\u53D6\u5F97\u8AAA\u660E -servertool.orbidmap=\t\u7528\u6cd5\uff1a orblist [ -serverid | -applicationName ]\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 | -applicationName ]\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} \n\n\u5176\u4e2d \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} \n\n\u5176\u4E2D \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 -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 +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 diff --git a/hotspot/.hgtags b/hotspot/.hgtags index 577a6ec935c..7fdd4b33c1a 100644 --- a/hotspot/.hgtags +++ b/hotspot/.hgtags @@ -146,3 +146,8 @@ e24ab3fa6aafad3efabbe7dba9918c5f461a20b1 hs20-b06 d535bf4c12355a2897e918da9f8910c0aceec4fb hs20-b07 102466e70debc4b907afbd7624e34ddb1aafee9f jdk7-b127 9a5762f448595794d449a8e17342abd81a3fadaf jdk7-b128 +ae4b185f2ed14af7bab610738c333840598cdcc4 jdk7-b129 +ae4b185f2ed14af7bab610738c333840598cdcc4 hs21-b01 +e9aa2ca89ad6c53420623d579765f9706ec523d7 jdk7-b130 +0aa3b49089112d5faa77902ad680c582ab53f651 jdk7-b131 +e9aa2ca89ad6c53420623d579765f9706ec523d7 hs21-b02 diff --git a/hotspot/LICENSE b/hotspot/LICENSE index b53eb1fd1f4..b40a0f457d7 100644 --- a/hotspot/LICENSE +++ b/hotspot/LICENSE @@ -325,11 +325,11 @@ License instead of this License. "CLASSPATH" EXCEPTION TO THE GPL -Certain source files distributed by Oracle and/or its affiliates, are subject to -the following clarification and special exception to the GPL, but only where -Oracle has expressly included in the particular source file's header the words -"Oracle designates this particular file as subject to the "Classpath" exception -as provided by Oracle in the LICENSE file that accompanied this code." +Certain source files distributed by Oracle America and/or its affiliates are +subject to the following clarification and special exception to the GPL, but +only where Oracle has expressly included in the particular source file's header +the words "Oracle designates this particular file as subject to the "Classpath" +exception as provided by Oracle in the LICENSE file that accompanied this code." Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/LowMemoryDetectorThread.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/ServiceThread.java similarity index 83% rename from hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/LowMemoryDetectorThread.java rename to hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/ServiceThread.java index f3d630d16f9..ad81488091a 100644 --- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/LowMemoryDetectorThread.java +++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/ServiceThread.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 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 @@ -29,13 +29,13 @@ import java.io.*; import sun.jvm.hotspot.debugger.*; import sun.jvm.hotspot.types.*; -public class LowMemoryDetectorThread extends JavaThread { - public LowMemoryDetectorThread(Address addr) { +public class ServiceThread extends JavaThread { + public ServiceThread(Address addr) { super(addr); } public boolean isJavaThread() { return false; } public boolean isHiddenFromExternalView() { return true; } - public boolean isLowMemoryDetectorThread() { return true; } + public boolean isServiceThread() { return true; } } diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/StubRoutines.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/StubRoutines.java index 984161314f9..9de5f3005aa 100644 --- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/StubRoutines.java +++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/StubRoutines.java @@ -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 @@ -31,8 +31,7 @@ import sun.jvm.hotspot.types.*; /** Very minimal port for now to get frames working */ public class StubRoutines { - private static AddressField callStubReturnAddressField; - private static AddressField callStubCompiledReturnAddressField; + private static AddressField callStubReturnAddressField; static { VM.registerVMInitializedObserver(new Observer() { @@ -44,20 +43,7 @@ public class StubRoutines { private static synchronized void initialize(TypeDataBase db) { Type type = db.lookupType("StubRoutines"); - callStubReturnAddressField = type.getAddressField("_call_stub_return_address"); - // Only some platforms have specific return from compiled to call_stub - try { - type = db.lookupType("StubRoutines::x86"); - if (type != null) { - callStubCompiledReturnAddressField = type.getAddressField("_call_stub_compiled_return"); - } - } catch (RuntimeException re) { - callStubCompiledReturnAddressField = null; - } - if (callStubCompiledReturnAddressField == null && VM.getVM().getCPU().equals("x86")) { - throw new InternalError("Missing definition for _call_stub_compiled_return"); - } } public StubRoutines() { @@ -65,20 +51,10 @@ public class StubRoutines { public boolean returnsToCallStub(Address returnPC) { Address addr = callStubReturnAddressField.getValue(); - boolean result = false; - if (addr == null) { - result = (addr == returnPC); - } else { - result = addr.equals(returnPC); - } - if (result || callStubCompiledReturnAddressField == null ) return result; - // Could be a return to compiled code return point - addr = callStubCompiledReturnAddressField.getValue(); if (addr == null) { return (addr == returnPC); } else { return (addr.equals(returnPC)); } - } } diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Thread.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Thread.java index 3a3466eeb3c..2948f7b95ca 100644 --- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Thread.java +++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Thread.java @@ -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 class Thread extends VMObject { 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) { diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java index 29196ee05d6..d90d08bd726 100644 --- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java +++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java @@ -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 @@ public class Threads { // 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 @@ public class Threads { 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); } } diff --git a/hotspot/make/Makefile b/hotspot/make/Makefile index e55408cc484..64f9f0b60c3 100644 --- a/hotspot/make/Makefile +++ b/hotspot/make/Makefile @@ -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 @@ -43,6 +43,7 @@ # ALT_OUTPUTDIR Output directory to use for hotspot build # ALT_EXPORT_PATH Directory to export hotspot build to # ALT_JDK_IMPORT_PATH Current JDK build (only for create_jdk rules) +# ALT_JDK_TARGET_IMPORT_PATH Current JDK build when cross-compiling # ALT_BUILD_WIN_SA Building SA on Windows is disabled by default. # Set ALT_BUILD_WIN_SA=1 to enable building SA on # Windows. @@ -73,6 +74,7 @@ else include defs.make endif +include $(GAMMADIR)/make/altsrc.make ifneq ($(ALT_OUTPUTDIR),) ALT_OUT=ALT_OUTPUTDIR=$(ALT_OUTPUTDIR) @@ -361,7 +363,8 @@ $(EXPORT_INCLUDE_DIR)/%: $(HS_SRC_DIR)/share/vm/code/% $(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/% diff --git a/hotspot/make/altsrc.make b/hotspot/make/altsrc.make new file mode 100644 index 00000000000..a86b8326812 --- /dev/null +++ b/hotspot/make/altsrc.make @@ -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)) diff --git a/hotspot/make/defs.make b/hotspot/make/defs.make index 48b91684ba7..fe6c4a27bb3 100644 --- a/hotspot/make/defs.make +++ b/hotspot/make/defs.make @@ -1,5 +1,5 @@ # -# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 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 @@ -162,6 +162,13 @@ ifneq ($(ALT_JDK_IMPORT_PATH),) JDK_IMPORT_PATH=$(ALT_JDK_IMPORT_PATH) endif +# Other parts of JDK build may require an import JDK that can be executed +# on the build host. For cross-compile builds we also need an import JDK +# that matches the target arch, so for that we set ALT_JDK_TARGET_IMPORT_PATH +ifneq ($(ALT_JDK_TARGET_IMPORT_PATH),) + JDK_IMPORT_PATH=$(ALT_JDK_TARGET_IMPORT_PATH) +endif + # Find JDK used for javac compiles BOOTDIR=$(SLASH_JAVA)/re/j2se/$(PREVIOUS_JDK_VERSION)/latest/binaries/$(PLATFORM) ifneq ($(ALT_BOOTDIR),) diff --git a/hotspot/make/hotspot_version b/hotspot/make/hotspot_version index ab96da3ca03..31407e75dde 100644 --- a/hotspot/make/hotspot_version +++ b/hotspot/make/hotspot_version @@ -35,7 +35,7 @@ HOTSPOT_VM_COPYRIGHT=Copyright 2011 HS_MAJOR_VER=21 HS_MINOR_VER=0 -HS_BUILD_NUMBER=01 +HS_BUILD_NUMBER=03 JDK_MAJOR_VER=1 JDK_MINOR_VER=7 diff --git a/hotspot/make/jprt.properties b/hotspot/make/jprt.properties index c8bbb3c6c14..392db8f6bc6 100644 --- a/hotspot/make/jprt.properties +++ b/hotspot/make/jprt.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 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 @@ -44,6 +44,11 @@ jprt.tools.default.release=${jprt.submit.release} 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.jdk6u10=solaris_sparc_5.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.jdk6u10=solaris_sparcv9_5.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.jdk6u10=solaris_i586_5.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.jdk6u10=solaris_x64_5.10 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.jdk6u10=linux_i586_2.4 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.jdk6u10=linux_x64_2.4 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.jdk6u10=windows_i586_5.0 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.jdk6u10=windows_x64_5.2 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.build.targets= \ ${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= \ @@ -357,6 +437,7 @@ jprt.my.windows.x64.test.targets = \ ${jprt.my.windows.x64}-{product|fastdebug}-c2-GCBasher_ParallelGC, \ ${jprt.my.windows.x64}-{product|fastdebug}-c2-GCBasher_ParNewGC, \ ${jprt.my.windows.x64}-{product|fastdebug}-c2-GCBasher_CMS, \ + ${jprt.my.windows.x64}-{product|fastdebug}-c2-GCBasher_G1, \ ${jprt.my.windows.x64}-{product|fastdebug}-c2-GCBasher_ParOldGC, \ ${jprt.my.windows.x64}-{product|fastdebug}-c2-GCOld_default, \ ${jprt.my.windows.x64}-{product|fastdebug}-c2-GCOld_SerialGC, \ @@ -372,9 +453,14 @@ jprt.my.windows.x64.test.targets = \ ${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 +470,41 @@ jprt.test.targets = \ ${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 +514,23 @@ jprt.make.rule.test.targets = \ ${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}} + diff --git a/hotspot/make/linux/Makefile b/hotspot/make/linux/Makefile index 93d83ea2f81..ec1e60b7c2d 100644 --- a/hotspot/make/linux/Makefile +++ b/hotspot/make/linux/Makefile @@ -208,7 +208,7 @@ TARGETS_ZERO = $(addsuffix zero,$(TARGETS)) 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) diff --git a/hotspot/make/linux/makefiles/adlc.make b/hotspot/make/linux/makefiles/adlc.make index a4d2babb4b8..84ff8f88c58 100644 --- a/hotspot/make/linux/makefiles/adlc.make +++ b/hotspot/make/linux/makefiles/adlc.make @@ -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 @@ OS = $(Platform_os_family) 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 diff --git a/hotspot/make/linux/makefiles/arm.make b/hotspot/make/linux/makefiles/arm.make new file mode 100644 index 00000000000..3c5dc2ca151 --- /dev/null +++ b/hotspot/make/linux/makefiles/arm.make @@ -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 diff --git a/hotspot/make/linux/makefiles/buildtree.make b/hotspot/make/linux/makefiles/buildtree.make index 4ba1f0e74b4..becd97477c9 100644 --- a/hotspot/make/linux/makefiles/buildtree.make +++ b/hotspot/make/linux/makefiles/buildtree.make @@ -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 @@ BUILDTREE_TARGETS = Makefile flags.make flags_vm.make vm.make adlc.make jvmti.ma 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 @@ endif # 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 @@ $(SUBMAKE_DIRS): $(SIMPLE_DIRS) FORCE $(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 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst 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 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst 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 @@ flags_vm.make: $(BUILDTREE_MAKE) ../shared_dirs.lst ../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 $@ ... diff --git a/hotspot/make/linux/makefiles/gcc.make b/hotspot/make/linux/makefiles/gcc.make index aa879b10fc3..04c407bce9e 100644 --- a/hotspot/make/linux/makefiles/gcc.make +++ b/hotspot/make/linux/makefiles/gcc.make @@ -75,6 +75,11 @@ CFLAGS += -fno-rtti 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 diff --git a/hotspot/make/linux/makefiles/mapfile-vers-debug b/hotspot/make/linux/makefiles/mapfile-vers-debug index a7ba4583ee9..7022aba2e39 100644 --- a/hotspot/make/linux/makefiles/mapfile-vers-debug +++ b/hotspot/make/linux/makefiles/mapfile-vers-debug @@ -262,14 +262,6 @@ SUNWprivate_1.1 { 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; diff --git a/hotspot/make/linux/makefiles/mapfile-vers-product b/hotspot/make/linux/makefiles/mapfile-vers-product index 7f7e279aa2f..201252d2d29 100644 --- a/hotspot/make/linux/makefiles/mapfile-vers-product +++ b/hotspot/make/linux/makefiles/mapfile-vers-product @@ -262,14 +262,6 @@ SUNWprivate_1.1 { 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; diff --git a/hotspot/make/linux/makefiles/ppc.make b/hotspot/make/linux/makefiles/ppc.make new file mode 100644 index 00000000000..50ac9fe0d8c --- /dev/null +++ b/hotspot/make/linux/makefiles/ppc.make @@ -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 + diff --git a/hotspot/make/linux/makefiles/rules.make b/hotspot/make/linux/makefiles/rules.make index 4ce9e3db872..4237597e986 100644 --- a/hotspot/make/linux/makefiles/rules.make +++ b/hotspot/make/linux/makefiles/rules.make @@ -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 @@ ifndef LP64 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 diff --git a/hotspot/make/linux/makefiles/top.make b/hotspot/make/linux/makefiles/top.make index db9224fc215..41c50940d25 100644 --- a/hotspot/make/linux/makefiles/top.make +++ b/hotspot/make/linux/makefiles/top.make @@ -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 @@ Cached_plat = $(GENERATED)/platform.current 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)/%) diff --git a/hotspot/make/linux/makefiles/vm.make b/hotspot/make/linux/makefiles/vm.make index 653da7de6a7..d564055c539 100644 --- a/hotspot/make/linux/makefiles/vm.make +++ b/hotspot/make/linux/makefiles/vm.make @@ -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 @@ JVM = jvm 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 -COMPILER1_PATHS := $(GAMMADIR)/src/share/vm/c1 +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 -COMPILER2_PATHS := $(GAMMADIR)/src/share/vm/opto -COMPILER2_PATHS += $(GAMMADIR)/src/share/vm/libadt -COMPILER2_PATHS += $(GENERATED)/adfiles +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 := $(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) diff --git a/hotspot/make/linux/platform_arm b/hotspot/make/linux/platform_arm new file mode 100644 index 00000000000..13206d63738 --- /dev/null +++ b/hotspot/make/linux/platform_arm @@ -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 diff --git a/hotspot/make/linux/platform_ppc b/hotspot/make/linux/platform_ppc new file mode 100644 index 00000000000..c37b8d6b12c --- /dev/null +++ b/hotspot/make/linux/platform_ppc @@ -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 diff --git a/hotspot/make/solaris/makefiles/adlc.make b/hotspot/make/solaris/makefiles/adlc.make index 7fc55b9d39e..981e187f729 100644 --- a/hotspot/make/solaris/makefiles/adlc.make +++ b/hotspot/make/solaris/makefiles/adlc.make @@ -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 @@ OS = $(Platform_os_family) 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 diff --git a/hotspot/make/solaris/makefiles/buildtree.make b/hotspot/make/solaris/makefiles/buildtree.make index 08224ef1103..8cca8a07ebb 100644 --- a/hotspot/make/solaris/makefiles/buildtree.make +++ b/hotspot/make/solaris/makefiles/buildtree.make @@ -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 @@ endif # 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 @@ $(SUBMAKE_DIRS): $(SIMPLE_DIRS) FORCE $(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 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst 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 @@ flags_vm.make: $(BUILDTREE_MAKE) ../shared_dirs.lst ../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 $@ ... diff --git a/hotspot/make/solaris/makefiles/rules.make b/hotspot/make/solaris/makefiles/rules.make index baafe9c4fd0..4f2cc860805 100644 --- a/hotspot/make/solaris/makefiles/rules.make +++ b/hotspot/make/solaris/makefiles/rules.make @@ -146,6 +146,8 @@ ifndef LP64 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 diff --git a/hotspot/make/solaris/makefiles/top.make b/hotspot/make/solaris/makefiles/top.make index b0505e77aae..893e9c00cab 100644 --- a/hotspot/make/solaris/makefiles/top.make +++ b/hotspot/make/solaris/makefiles/top.make @@ -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 @@ Cached_plat = $(GENERATED)/platform.current 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)/%) diff --git a/hotspot/make/solaris/makefiles/vm.make b/hotspot/make/solaris/makefiles/vm.make index 9728b1dc43c..5ad02c00c53 100644 --- a/hotspot/make/solaris/makefiles/vm.make +++ b/hotspot/make/solaris/makefiles/vm.make @@ -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 @@ JVM = jvm 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 -COMPILER1_PATHS := $(GAMMADIR)/src/share/vm/c1 +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 -COMPILER2_PATHS := $(GAMMADIR)/src/share/vm/opto -COMPILER2_PATHS += $(GAMMADIR)/src/share/vm/libadt +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 := $(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. diff --git a/hotspot/make/windows/create.bat b/hotspot/make/windows/create.bat index 4592d8becfe..8d9c83aefab 100644 --- a/hotspot/make/windows/create.bat +++ b/hotspot/make/windows/create.bat @@ -1,6 +1,6 @@ @echo off REM -REM Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. +REM Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. REM REM This code is free software; you can redistribute it and/or modify it @@ -50,9 +50,7 @@ goto end :testit -cl 2>&1 | grep "IA-64" >NUL -if %errorlevel% == 0 goto isia64 -cl 2>&1 | grep "AMD64" >NUL +cl 2>&1 | grep "x64" >NUL if %errorlevel% == 0 goto amd64 set ARCH=x86 set BUILDARCH=i486 @@ -64,12 +62,6 @@ set ARCH=x86 set BUILDARCH=amd64 set Platform_arch=x86 set Platform_arch_model=x86_64 -goto done -:isia64 -set ARCH=ia64 -set BUILDARCH=ia64 -set Platform_arch=ia64 -set Platform_arch_model=ia64 :done setlocal @@ -81,7 +73,7 @@ if not "%2" == "" goto usage REM Set HotSpotWorkSpace to the directy two steps above this script for %%i in ("%~dp0..") do ( set HotSpotWorkSpace=%%~dpi) set HotSpotBuildRoot=%HotSpotWorkSpace%build -set HotSpotBuildSpace=%HotSpotBuildRoot%\vs +set HotSpotBuildSpace=%HotSpotBuildRoot%\vs-%BUILDARCH% set HotSpotJDKDist=%1 @@ -89,9 +81,9 @@ REM figure out MSC version for /F %%i in ('sh %HotSpotWorkSpace%/make/windows/get_msc_ver.sh') do set %%i echo ************************************************************** -set ProjectFile=jvm.vcproj +set ProjectFile=%HotSpotBuildSpace%\jvm.vcproj if "%MSC_VER%" == "1200" ( -set ProjectFile=jvm.dsp +set ProjectFile=%HotSpotBuildSpace%\jvm.dsp echo Will generate VC6 project {unsupported} ) else ( if "%MSC_VER%" == "1400" ( @@ -163,7 +155,7 @@ copy %HotSpotWorkSpace%\make\windows\projectfiles\%%i\* %HotSpotBuildSpace%\%%i\ ) REM force regneration of ProjectFile -if exist %HotSpotBuildSpace%\%ProjectFile% del %HotSpotBuildSpace%\%ProjectFile% +if exist %ProjectFile% del %ProjectFile% for /D %%i in (compiler1, compiler2, tiered, core, kernel) do ( echo -- %%i -- @@ -182,6 +174,7 @@ echo ARCH=%ARCH% >> %HotSpotBuildSpace%\%%i\local.m echo BUILDARCH=%BUILDARCH% >> %HotSpotBuildSpace%\%%i\local.make echo Platform_arch=%Platform_arch% >> %HotSpotBuildSpace%\%%i\local.make echo Platform_arch_model=%Platform_arch_model% >> %HotSpotBuildSpace%\%%i\local.make +echo MSC_VER=%MSC_VER% >> %HotSpotBuildSpace%\%%i\local.make for /D %%j in (debug, fastdebug, product) do ( if NOT EXIST %HotSpotBuildSpace%\%%i\%%j mkdir %HotSpotBuildSpace%\%%i\%%j @@ -196,7 +189,7 @@ popd pushd %HotSpotBuildRoot% REM It doesn't matter which variant we use here, "compiler1" is as good as any of the others - we need the common variables -nmake /nologo /F %HotSpotWorkSpace%/make/windows/projectfiles/common/Makefile LOCAL_MAKE=%HotSpotBuildSpace%\compiler1\local.make %HotSpotBuildRoot%/%ProjectFile% +nmake /nologo /F %HotSpotWorkSpace%/make/windows/projectfiles/common/Makefile LOCAL_MAKE=%HotSpotBuildSpace%\compiler1\local.make %ProjectFile% popd diff --git a/hotspot/make/windows/create_obj_files.sh b/hotspot/make/windows/create_obj_files.sh index 52ae0bb785c..0c8276962e6 100644 --- a/hotspot/make/windows/create_obj_files.sh +++ b/hotspot/make/windows/create_obj_files.sh @@ -51,21 +51,48 @@ Platform_os_arch=windows_$Platform_arch 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. diff --git a/hotspot/make/windows/makefiles/compile.make b/hotspot/make/windows/makefiles/compile.make index 47d924418b2..d70bb5217fb 100644 --- a/hotspot/make/windows/makefiles/compile.make +++ b/hotspot/make/windows/makefiles/compile.make @@ -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 @@ -141,9 +141,6 @@ COMPILER_NAME=VS2010 !endif !endif -# Add what version of the compiler we think this is to the compile line -CPP_FLAGS=$(CPP_FLAGS) /D "MSC_VER=$(MSC_VER)" - # By default, we do not want to use the debug version of the msvcrt.dll file # but if MFC_DEBUG is defined in the environment it will be used. MS_RUNTIME_OPTION = /MD diff --git a/hotspot/make/windows/makefiles/projectcreator.make b/hotspot/make/windows/makefiles/projectcreator.make index 1dc307f9545..e7a9528c605 100644 --- a/hotspot/make/windows/makefiles/projectcreator.make +++ b/hotspot/make/windows/makefiles/projectcreator.make @@ -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 @@ -36,8 +36,6 @@ ProjectCreatorSources=\ $(WorkSpace)\src\share\tools\ProjectCreator\DirectoryTree.java \ $(WorkSpace)\src\share\tools\ProjectCreator\DirectoryTreeNode.java \ $(WorkSpace)\src\share\tools\ProjectCreator\FileFormatException.java \ - $(WorkSpace)\src\share\tools\ProjectCreator\Macro.java \ - $(WorkSpace)\src\share\tools\ProjectCreator\MacroDefinitions.java \ $(WorkSpace)\src\share\tools\ProjectCreator\ProjectCreator.java \ $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatform.java \ $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC6.java \ @@ -50,6 +48,10 @@ ProjectCreatorSources=\ # This is only used internally ProjectCreatorIncludesPRIVATE=\ + -relativeInclude src\closed\share\vm \ + -relativeInclude src\closed\os\windows\vm \ + -relativeInclude src\closed\os_cpu\windows_$(Platform_arch)\vm \ + -relativeInclude src\closed\cpu\$(Platform_arch)\vm \ -relativeInclude src\share\vm \ -relativeInclude src\share\vm\prims \ -relativeInclude src\os\windows\vm \ @@ -84,7 +86,7 @@ ProjectCreatorIDEOptions=\ -buildBase $(HOTSPOTBUILDSPACE)\%f\%b \ -startAt src \ -compiler $(VcVersion) \ - -projectFileName $(HOTSPOTBUILDROOT)\$(ProjectFile) \ + -projectFileName $(HOTSPOTBUILDSPACE)\$(ProjectFile) \ -jdkTargetRoot $(HOTSPOTJDKDIST) \ -define ALIGN_STACK_FRAMES \ -define VM_LITTLE_ENDIAN \ @@ -106,13 +108,20 @@ ProjectCreatorIDEOptions=\ # Add in build-specific options !if "$(BUILDARCH)" == "i486" ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ + -platformName Win32 \ -define IA32 \ -ignorePath x86_64 \ -define TARGET_ARCH_MODEL_x86_32 !else +!if "$(BUILDARCH)" == "amd64" ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ + -platformName x64 \ + -define AMD64 \ + -define _LP64 \ -ignorePath x86_32 \ - -define TARGET_ARCH_MODEL_x86_64 + -define TARGET_ARCH_MODEL_x86_64 \ + -define TARGET_OS_ARCH_MODEL_windows_x86_64 +!endif !endif ProjectCreatorIDEOptionsIgnoreCompiler1=\ diff --git a/hotspot/make/windows/makefiles/rules.make b/hotspot/make/windows/makefiles/rules.make index 431ff3ecb85..4d884c1b71d 100644 --- a/hotspot/make/windows/makefiles/rules.make +++ b/hotspot/make/windows/makefiles/rules.make @@ -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 @@ -53,7 +53,7 @@ ProjectFile=jvm.vcproj !if "$(MSC_VER)" == "1200" VcVersion=VC6 -ProjectFile=vm.dsp +ProjectFile=jvm.dsp !elseif "$(MSC_VER)" == "1400" diff --git a/hotspot/make/windows/makefiles/vm.make b/hotspot/make/windows/makefiles/vm.make index 69ff1a7e780..4bcdd4a3bbe 100644 --- a/hotspot/make/windows/makefiles/vm.make +++ b/hotspot/make/windows/makefiles/vm.make @@ -27,6 +27,9 @@ Res_Files=.\version.res !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 @@ LINK_FLAGS=$(LINK_FLAGS) $(STACK_SIZE) /subsystem:windows /dll /base:0x8000000 \ /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=/Fp"vm.pch" /Yu"precompiled.hpp" 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 @@ bytecodeInterpreterWithChecks.obj: ..\generated\jvmtifiles\bytecodeInterpreterWi $(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 $< -{$(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm}.cpp.obj:: +{$(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 $< + +{$(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:: diff --git a/hotspot/make/windows/platform_amd64 b/hotspot/make/windows/platform_amd64 deleted file mode 100644 index 49a326e5690..00000000000 --- a/hotspot/make/windows/platform_amd64 +++ /dev/null @@ -1,15 +0,0 @@ -// Platform file for win32 NT platform - -os_family = windows - -arch = x86 - -arch_model = x86_64 - -os_arch = windows_x86 - -os_arch_model = windows_x86_64 - -lib_arch = amd64 - -compiler = visCPP diff --git a/hotspot/make/windows/platform_i486 b/hotspot/make/windows/platform_i486 deleted file mode 100644 index bdb31681038..00000000000 --- a/hotspot/make/windows/platform_i486 +++ /dev/null @@ -1,15 +0,0 @@ -// Platform file for windows platform - -os_family = windows - -arch = x86 - -arch_model = x86_32 - -os_arch = windows_x86 - -os_arch_model = windows_x86_32 - -lib_arch = i386 - -compiler = visCPP diff --git a/hotspot/make/windows/platform_ia64 b/hotspot/make/windows/platform_ia64 deleted file mode 100644 index ca269b499fd..00000000000 --- a/hotspot/make/windows/platform_ia64 +++ /dev/null @@ -1,12 +0,0 @@ -// Platform file for Itanium Windows platform $Revision: 1.0 $ - -os_family = win32 - -arch = ia64 - -os_arch = win32_ia64 - -compiler = visCPP - -gnu_dis_arch = ia64 - diff --git a/hotspot/make/windows/projectfiles/common/Makefile b/hotspot/make/windows/projectfiles/common/Makefile index 8d55b9097f9..3e7d159ac38 100644 --- a/hotspot/make/windows/projectfiles/common/Makefile +++ b/hotspot/make/windows/projectfiles/common/Makefile @@ -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 @@ -54,8 +54,6 @@ BootStrapDir=$(HOTSPOTJDKDIST) JvmtiOutDir=$(HOTSPOTBUILDSPACE)\$(Variant)\generated\jvmtifiles !include $(HOTSPOTWORKSPACE)/make/windows/makefiles/jvmti.make -Platform=$(HOTSPOTWORKSPACE)/make/windows/platform_$(BUILDARCH) - !if "$(Variant)" == "compiler2" # Pick up rules for building adlc !include $(HOTSPOTWORKSPACE)/make/windows/makefiles/adlc.make @@ -105,17 +103,16 @@ HOTSPOT_VM_DISTRO="OpenJDK" !endif ProjectCreatorIDEOptions = $(ProjectCreatorIDEOptions) \ - -platform $(Platform) \ -define HOTSPOT_RELEASE_VERSION=\\\"$(HOTSPOT_RELEASE_VERSION)\\\" \ -define JRE_RELEASE_VERSION=\\\"$(JRE_RELEASE_VERSION)\\\" \ -define HOTSPOT_VM_DISTRO=\\\"$(HOTSPOT_VM_DISTRO)\\\" -$(HOTSPOTBUILDROOT)/$(ProjectFile): $(HOTSPOTBUILDSPACE)/classes/ProjectCreator.class +$(HOTSPOTBUILDSPACE)/$(ProjectFile): $(HOTSPOTBUILDSPACE)/classes/ProjectCreator.class @$(RUN_JAVA) -Djava.class.path=$(HOTSPOTBUILDSPACE)/classes ProjectCreator WinGammaPlatform$(VcVersion) $(ProjectCreatorIDEOptions) clean: @rm -rf $(HOTSPOTBUILDSPACE)/classes - @rm -r ../$(ProjectFile) + @rm -r $(HOTSPOTBUILDSPACE)/$(ProjectFile) $(HOTSPOTBUILDSPACE)/classes/ProjectCreator.class: $(ProjectCreatorSources) @if exist $(HOTSPOTBUILDSPACE)\classes rmdir /s /q $(HOTSPOTBUILDSPACE)\classes diff --git a/hotspot/src/cpu/sparc/vm/assembler_sparc.cpp b/hotspot/src/cpu/sparc/vm/assembler_sparc.cpp index 0d81e2d1254..9d8642b3c09 100644 --- a/hotspot/src/cpu/sparc/vm/assembler_sparc.cpp +++ b/hotspot/src/cpu/sparc/vm/assembler_sparc.cpp @@ -2407,14 +2407,23 @@ void MacroAssembler::lcmp( Register Ra, Register Rb, Register Rresult) { #endif -void MacroAssembler::load_sized_value(Address src, Register dst, - size_t size_in_bytes, bool is_signed) { +void MacroAssembler::load_sized_value(Address src, Register dst, size_t size_in_bytes, bool is_signed) { switch (size_in_bytes) { - case 8: ldx(src, dst); break; - case 4: ld( src, dst); break; - case 2: is_signed ? ldsh(src, dst) : lduh(src, dst); break; - case 1: is_signed ? ldsb(src, dst) : ldub(src, dst); break; - default: ShouldNotReachHere(); + case 8: ld_long(src, dst); break; + case 4: ld( src, dst); break; + case 2: is_signed ? ldsh(src, dst) : lduh(src, dst); break; + case 1: is_signed ? ldsb(src, dst) : ldub(src, dst); break; + default: ShouldNotReachHere(); + } +} + +void MacroAssembler::store_sized_value(Register src, Address dst, size_t size_in_bytes) { + switch (size_in_bytes) { + case 8: st_long(src, dst); break; + case 4: st( src, dst); break; + case 2: sth( src, dst); break; + case 1: stb( src, dst); break; + default: ShouldNotReachHere(); } } diff --git a/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp b/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp index b6d7d9ab14a..86c616fb043 100644 --- a/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp +++ b/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp @@ -2330,8 +2330,9 @@ public: void lcmp( Register Ra, Register Rb, Register Rresult); #endif - // Loading values by size and signed-ness - void load_sized_value(Address src, Register dst, size_t size_in_bytes, bool is_signed); + // Load and store values by size and signed-ness + void load_sized_value( Address src, Register dst, size_t size_in_bytes, bool is_signed); + void store_sized_value(Register src, Address dst, size_t size_in_bytes); void float_cmp( bool is_float, int unordered_result, FloatRegister Fa, FloatRegister Fb, diff --git a/hotspot/src/cpu/sparc/vm/jni_sparc.h b/hotspot/src/cpu/sparc/vm/jni_sparc.h index 9712dfc9d0d..2e177a8692e 100644 --- a/hotspot/src/cpu/sparc/vm/jni_sparc.h +++ b/hotspot/src/cpu/sparc/vm/jni_sparc.h @@ -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; diff --git a/hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp b/hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp index 4fc102fa480..38213b7f054 100644 --- a/hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp +++ b/hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp @@ -596,16 +596,9 @@ void MethodHandles::generate_method_handle_stub(MacroAssembler* _masm, MethodHan __ st_ptr(O1_scratch, Address(O0_argslot, 0)); } else { Address prim_value_addr(O1_scratch, java_lang_boxing_object::value_offset_in_bytes(arg_type)); - __ load_sized_value(prim_value_addr, O2_scratch, type2aelembytes(arg_type), is_signed_subword_type(arg_type)); - if (arg_slots == 2) { - __ unimplemented("not yet tested"); -#ifndef _LP64 - __ signx(O2_scratch, O3_scratch); // Sign extend -#endif - __ st_long(O2_scratch, Address(O0_argslot, 0)); // Uses O2/O3 on !_LP64 - } else { - __ st_ptr( O2_scratch, Address(O0_argslot, 0)); - } + const int arg_size = type2aelembytes(arg_type); + __ load_sized_value(prim_value_addr, O2_scratch, arg_size, is_signed_subword_type(arg_type)); + __ store_sized_value(O2_scratch, Address(O0_argslot, 0), arg_size); // long store uses O2/O3 on !_LP64 } if (direct_to_method) { @@ -784,11 +777,9 @@ void MethodHandles::generate_method_handle_stub(MacroAssembler* _masm, MethodHan switch (ek) { case _adapter_opt_i2l: { - __ ldsw(arg_lsw, O2_scratch); // Load LSW -#ifndef _LP64 - __ signx(O2_scratch, O3_scratch); // Sign extend -#endif - __ st_long(O2_scratch, arg_msw); // Uses O2/O3 on !_LP64 + __ ldsw(arg_lsw, O2_scratch); // Load LSW + NOT_LP64(__ srlx(O2_scratch, BitsPerInt, O3_scratch)); // Move high bits to lower bits for std + __ st_long(O2_scratch, arg_msw); // Uses O2/O3 on !_LP64 } break; case _adapter_opt_unboxl: diff --git a/hotspot/src/cpu/sparc/vm/sparc.ad b/hotspot/src/cpu/sparc/vm/sparc.ad index 422b83f1476..cffc8fb5f7f 100644 --- a/hotspot/src/cpu/sparc/vm/sparc.ad +++ b/hotspot/src/cpu/sparc/vm/sparc.ad @@ -8125,6 +8125,17 @@ instruct convP2B( iRegI dst, iRegP src ) %{ %} #endif +instruct cmpLTMask0( iRegI dst, iRegI src, immI0 zero, flagsReg ccr ) %{ + match(Set dst (CmpLTMask src zero)); + effect(KILL ccr); + size(4); + format %{ "SRA $src,#31,$dst\t# cmpLTMask0" %} + ins_encode %{ + __ sra($src$$Register, 31, $dst$$Register); + %} + ins_pipe(ialu_reg_imm); +%} + instruct cmpLTMask_reg_reg( iRegI dst, iRegI p, iRegI q, flagsReg ccr ) %{ match(Set dst (CmpLTMask p q)); effect( KILL ccr ); @@ -8144,19 +8155,7 @@ instruct cadd_cmpLTMask( iRegI p, iRegI q, iRegI y, iRegI tmp, flagsReg ccr ) %{ format %{ "SUBcc $p,$q,$p\t! p' = p-q\n\t" "ADD $p,$y,$tmp\t! g3=p-q+y\n\t" - "MOVl $tmp,$p\t! p' < 0 ? p'+y : p'" %} - ins_encode( enc_cadd_cmpLTMask(p, q, y, tmp) ); - ins_pipe( cadd_cmpltmask ); -%} - -instruct cadd_cmpLTMask2( iRegI p, iRegI q, iRegI y, iRegI tmp, flagsReg ccr ) %{ - match(Set p (AddI (SubI p q) (AndI (CmpLTMask p q) y))); - effect( KILL ccr, TEMP tmp); - ins_cost(DEFAULT_COST*3); - - format %{ "SUBcc $p,$q,$p\t! p' = p-q\n\t" - "ADD $p,$y,$tmp\t! g3=p-q+y\n\t" - "MOVl $tmp,$p\t! p' < 0 ? p'+y : p'" %} + "MOVlt $tmp,$p\t! p' < 0 ? p'+y : p'" %} ins_encode( enc_cadd_cmpLTMask(p, q, y, tmp) ); ins_pipe( cadd_cmpltmask ); %} diff --git a/hotspot/src/cpu/x86/vm/assembler_x86.cpp b/hotspot/src/cpu/x86/vm/assembler_x86.cpp index 4c87f23cd13..63f53d72b6e 100644 --- a/hotspot/src/cpu/x86/vm/assembler_x86.cpp +++ b/hotspot/src/cpu/x86/vm/assembler_x86.cpp @@ -2349,6 +2349,17 @@ void Assembler::prefix(Prefix p) { a_byte(p); } +void Assembler::por(XMMRegister dst, XMMRegister src) { + NOT_LP64(assert(VM_Version::supports_sse2(), "")); + + emit_byte(0x66); + int encode = prefix_and_encode(dst->encoding(), src->encoding()); + emit_byte(0x0F); + + emit_byte(0xEB); + emit_byte(0xC0 | encode); +} + void Assembler::pshufd(XMMRegister dst, XMMRegister src, int mode) { assert(isByte(mode), "invalid value"); NOT_LP64(assert(VM_Version::supports_sse2(), "")); @@ -6528,20 +6539,39 @@ int MacroAssembler::load_unsigned_short(Register dst, Address src) { return off; } -void MacroAssembler::load_sized_value(Register dst, Address src, - size_t size_in_bytes, bool is_signed) { +void MacroAssembler::load_sized_value(Register dst, Address src, size_t size_in_bytes, bool is_signed, Register dst2) { switch (size_in_bytes) { #ifndef _LP64 - // For case 8, caller is responsible for manually loading - // the second word into another register. - case 8: movl(dst, src); break; + case 8: + assert(dst2 != noreg, "second dest register required"); + movl(dst, src); + movl(dst2, src.plus_disp(BytesPerInt)); + break; #else - case 8: movq(dst, src); break; + case 8: movq(dst, src); break; #endif - case 4: movl(dst, src); break; - case 2: is_signed ? load_signed_short(dst, src) : load_unsigned_short(dst, src); break; - case 1: is_signed ? load_signed_byte( dst, src) : load_unsigned_byte( dst, src); break; - default: ShouldNotReachHere(); + case 4: movl(dst, src); break; + case 2: is_signed ? load_signed_short(dst, src) : load_unsigned_short(dst, src); break; + case 1: is_signed ? load_signed_byte( dst, src) : load_unsigned_byte( dst, src); break; + default: ShouldNotReachHere(); + } +} + +void MacroAssembler::store_sized_value(Address dst, Register src, size_t size_in_bytes, Register src2) { + switch (size_in_bytes) { +#ifndef _LP64 + case 8: + assert(src2 != noreg, "second source register required"); + movl(dst, src); + movl(dst.plus_disp(BytesPerInt), src2); + break; +#else + case 8: movq(dst, src); break; +#endif + case 4: movl(dst, src); break; + case 2: movw(dst, src); break; + case 1: movb(dst, src); break; + default: ShouldNotReachHere(); } } @@ -8636,7 +8666,7 @@ void MacroAssembler::string_indexof(Register str1, Register str2, // Compare strings. void MacroAssembler::string_compare(Register str1, Register str2, Register cnt1, Register cnt2, Register result, - XMMRegister vec1, XMMRegister vec2) { + XMMRegister vec1) { Label LENGTH_DIFF_LABEL, POP_LABEL, DONE_LABEL, WHILE_HEAD_LABEL; // Compute the minimum of the string lengths and the @@ -8683,62 +8713,85 @@ void MacroAssembler::string_compare(Register str1, Register str2, bind(LSkip2); } - // Advance to next character - addptr(str1, 2); - addptr(str2, 2); + Address::ScaleFactor scale = Address::times_2; + int stride = 8; + + // Advance to next element + addptr(str1, 16/stride); + addptr(str2, 16/stride); if (UseSSE42Intrinsics) { - // With SSE4.2, use double quad vector compare - Label COMPARE_VECTORS, VECTOR_NOT_EQUAL, COMPARE_TAIL; + Label COMPARE_WIDE_VECTORS, VECTOR_NOT_EQUAL, COMPARE_TAIL; + int pcmpmask = 0x19; // Setup to compare 16-byte vectors - movl(cnt1, cnt2); - andl(cnt2, 0xfffffff8); // cnt2 holds the vector count - andl(cnt1, 0x00000007); // cnt1 holds the tail count - testl(cnt2, cnt2); + movl(result, cnt2); + andl(cnt2, ~(stride - 1)); // cnt2 holds the vector count jccb(Assembler::zero, COMPARE_TAIL); - lea(str2, Address(str2, cnt2, Address::times_2)); - lea(str1, Address(str1, cnt2, Address::times_2)); - negptr(cnt2); + lea(str1, Address(str1, result, scale)); + lea(str2, Address(str2, result, scale)); + negptr(result); - bind(COMPARE_VECTORS); - movdqu(vec1, Address(str1, cnt2, Address::times_2)); - movdqu(vec2, Address(str2, cnt2, Address::times_2)); - pxor(vec1, vec2); - ptest(vec1, vec1); - jccb(Assembler::notZero, VECTOR_NOT_EQUAL); - addptr(cnt2, 8); - jcc(Assembler::notZero, COMPARE_VECTORS); - jmpb(COMPARE_TAIL); + // pcmpestri + // inputs: + // vec1- substring + // rax - negative string length (elements count) + // mem - scaned string + // rdx - string length (elements count) + // pcmpmask - cmp mode: 11000 (string compare with negated result) + // + 00 (unsigned bytes) or + 01 (unsigned shorts) + // outputs: + // rcx - first mismatched element index + assert(result == rax && cnt2 == rdx && cnt1 == rcx, "pcmpestri"); + + bind(COMPARE_WIDE_VECTORS); + movdqu(vec1, Address(str1, result, scale)); + pcmpestri(vec1, Address(str2, result, scale), pcmpmask); + // After pcmpestri cnt1(rcx) contains mismatched element index + + jccb(Assembler::below, VECTOR_NOT_EQUAL); // CF==1 + addptr(result, stride); + subptr(cnt2, stride); + jccb(Assembler::notZero, COMPARE_WIDE_VECTORS); + + // compare wide vectors tail + testl(result, result); + jccb(Assembler::zero, LENGTH_DIFF_LABEL); + + movl(cnt2, stride); + movl(result, stride); + negptr(result); + movdqu(vec1, Address(str1, result, scale)); + pcmpestri(vec1, Address(str2, result, scale), pcmpmask); + jccb(Assembler::aboveEqual, LENGTH_DIFF_LABEL); // Mismatched characters in the vectors bind(VECTOR_NOT_EQUAL); - lea(str1, Address(str1, cnt2, Address::times_2)); - lea(str2, Address(str2, cnt2, Address::times_2)); - movl(cnt1, 8); + addptr(result, cnt1); + movptr(cnt2, result); + load_unsigned_short(result, Address(str1, cnt2, scale)); + load_unsigned_short(cnt1, Address(str2, cnt2, scale)); + subl(result, cnt1); + jmpb(POP_LABEL); - // Compare tail (< 8 chars), or rescan last vectors to - // find 1st mismatched characters - bind(COMPARE_TAIL); - testl(cnt1, cnt1); - jccb(Assembler::zero, LENGTH_DIFF_LABEL); - movl(cnt2, cnt1); + bind(COMPARE_TAIL); // limit is zero + movl(cnt2, result); // Fallthru to tail compare } // Shift str2 and str1 to the end of the arrays, negate min - lea(str1, Address(str1, cnt2, Address::times_2, 0)); - lea(str2, Address(str2, cnt2, Address::times_2, 0)); + lea(str1, Address(str1, cnt2, scale, 0)); + lea(str2, Address(str2, cnt2, scale, 0)); negptr(cnt2); - // Compare the rest of the characters + // Compare the rest of the elements bind(WHILE_HEAD_LABEL); - load_unsigned_short(result, Address(str1, cnt2, Address::times_2, 0)); - load_unsigned_short(cnt1, Address(str2, cnt2, Address::times_2, 0)); + load_unsigned_short(result, Address(str1, cnt2, scale, 0)); + load_unsigned_short(cnt1, Address(str2, cnt2, scale, 0)); subl(result, cnt1); jccb(Assembler::notZero, POP_LABEL); increment(cnt2); - jcc(Assembler::notZero, WHILE_HEAD_LABEL); + jccb(Assembler::notZero, WHILE_HEAD_LABEL); // Strings are equal up to min length. Return the length difference. bind(LENGTH_DIFF_LABEL); @@ -8747,7 +8800,7 @@ void MacroAssembler::string_compare(Register str1, Register str2, // Discard the stored length difference bind(POP_LABEL); - addptr(rsp, wordSize); + pop(cnt1); // That's it bind(DONE_LABEL); @@ -8795,6 +8848,7 @@ void MacroAssembler::char_arrays_equals(bool is_array_equ, Register ary1, Regist if (UseSSE42Intrinsics) { // With SSE4.2, use double quad vector compare Label COMPARE_WIDE_VECTORS, COMPARE_TAIL; + // Compare 16-byte vectors andl(result, 0x0000000e); // tail count (in bytes) andl(limit, 0xfffffff0); // vector count (in bytes) @@ -8808,11 +8862,23 @@ void MacroAssembler::char_arrays_equals(bool is_array_equ, Register ary1, Regist movdqu(vec1, Address(ary1, limit, Address::times_1)); movdqu(vec2, Address(ary2, limit, Address::times_1)); pxor(vec1, vec2); + ptest(vec1, vec1); jccb(Assembler::notZero, FALSE_LABEL); addptr(limit, 16); jcc(Assembler::notZero, COMPARE_WIDE_VECTORS); + testl(result, result); + jccb(Assembler::zero, TRUE_LABEL); + + movdqu(vec1, Address(ary1, result, Address::times_1, -16)); + movdqu(vec2, Address(ary2, result, Address::times_1, -16)); + pxor(vec1, vec2); + + ptest(vec1, vec1); + jccb(Assembler::notZero, FALSE_LABEL); + jmpb(TRUE_LABEL); + bind(COMPARE_TAIL); // limit is zero movl(limit, result); // Fallthru to tail compare diff --git a/hotspot/src/cpu/x86/vm/assembler_x86.hpp b/hotspot/src/cpu/x86/vm/assembler_x86.hpp index a1a8a96dee6..85139341414 100644 --- a/hotspot/src/cpu/x86/vm/assembler_x86.hpp +++ b/hotspot/src/cpu/x86/vm/assembler_x86.hpp @@ -1277,6 +1277,9 @@ private: void prefetcht2(Address src); void prefetchw(Address src); + // POR - Bitwise logical OR + void por(XMMRegister dst, XMMRegister src); + // Shuffle Packed Doublewords void pshufd(XMMRegister dst, XMMRegister src, int mode); void pshufd(XMMRegister dst, Address src, int mode); @@ -1522,8 +1525,9 @@ class MacroAssembler: public Assembler { // Support for sign-extension (hi:lo = extend_sign(lo)) void extend_sign(Register hi, Register lo); - // Loading values by size and signed-ness - void load_sized_value(Register dst, Address src, size_t size_in_bytes, bool is_signed); + // Load and store values by size and signed-ness + void load_sized_value(Register dst, Address src, size_t size_in_bytes, bool is_signed, Register dst2 = noreg); + void store_sized_value(Address dst, Register src, size_t size_in_bytes, Register src2 = noreg); // Support for inc/dec with optimal instruction selection depending on value @@ -2293,7 +2297,7 @@ public: // Compare strings. void string_compare(Register str1, Register str2, Register cnt1, Register cnt2, Register result, - XMMRegister vec1, XMMRegister vec2); + XMMRegister vec1); // Compare char[] arrays. void char_arrays_equals(bool is_array_equ, Register ary1, Register ary2, diff --git a/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp b/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp index 936bde4d811..79bff4838a8 100644 --- a/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp +++ b/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 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 @@ -1899,8 +1899,6 @@ address InterpreterGenerator::generate_normal_entry(bool synchronized) { Label do_double; Label done_conv; - address compiled_entry = __ pc(); - // The FPU stack is clean if UseSSE >= 2 but must be cleaned in other cases if (UseSSE < 2) { __ lea(state, Address(rbp, -(int)sizeof(BytecodeInterpreter))); @@ -1934,15 +1932,7 @@ address InterpreterGenerator::generate_normal_entry(bool synchronized) { __ jmp(done_conv); } -#if 0 - // emit a sentinel we can test for when converting an interpreter - // entry point to a compiled entry point. - __ a_long(Interpreter::return_sentinel); - __ a_long((int)compiled_entry); -#endif - // Return point to interpreter from compiled/native method - InternalAddress return_from_native_method(__ pc()); __ bind(done_conv); diff --git a/hotspot/src/cpu/x86/vm/interpreter_x86.hpp b/hotspot/src/cpu/x86/vm/interpreter_x86.hpp index 105a4038ced..f3ff867b893 100644 --- a/hotspot/src/cpu/x86/vm/interpreter_x86.hpp +++ b/hotspot/src/cpu/x86/vm/interpreter_x86.hpp @@ -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 @@ -26,14 +26,6 @@ #define CPU_X86_VM_INTERPRETER_X86_HPP public: - - // Sentinel placed in the code for interpreter returns so - // that i2c adapters and osr code can recognize an interpreter - // return address and convert the return to a specialized - // block of code to handle compiedl return values and cleaning - // the fpu stack. - static const int return_sentinel; - static Address::ScaleFactor stackElementScale() { return Address::times_4; } // Offset from rsp (which points to the last stack element) diff --git a/hotspot/src/cpu/x86/vm/interpreter_x86_32.cpp b/hotspot/src/cpu/x86/vm/interpreter_x86_32.cpp index d5424c63c58..20abf49e441 100644 --- a/hotspot/src/cpu/x86/vm/interpreter_x86_32.cpp +++ b/hotspot/src/cpu/x86/vm/interpreter_x86_32.cpp @@ -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 @@ -51,9 +51,6 @@ #define __ _masm-> -// Initialize the sentinel used to distinguish an interpreter return address. -const int Interpreter::return_sentinel = 0xfeedbeed; - //------------------------------------------------------------------------------------------------------------------------ address AbstractInterpreterGenerator::generate_slow_signature_handler() { diff --git a/hotspot/src/cpu/x86/vm/jni_x86.h b/hotspot/src/cpu/x86/vm/jni_x86.h index c6d322f2b24..9715d0e3237 100644 --- a/hotspot/src/cpu/x86/vm/jni_x86.h +++ b/hotspot/src/cpu/x86/vm/jni_x86.h @@ -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 - #define JNICALL +#endif + #define JNICALL typedef int jint; #ifdef _LP64 diff --git a/hotspot/src/cpu/x86/vm/methodHandles_x86.cpp b/hotspot/src/cpu/x86/vm/methodHandles_x86.cpp index bbbc29d6408..59c1c28eec8 100644 --- a/hotspot/src/cpu/x86/vm/methodHandles_x86.cpp +++ b/hotspot/src/cpu/x86/vm/methodHandles_x86.cpp @@ -602,24 +602,18 @@ void MethodHandles::generate_method_handle_stub(MacroAssembler* _masm, MethodHan // make room for the new argument: __ movl(rax_argslot, rcx_bmh_vmargslot); __ lea(rax_argslot, __ argument_address(rax_argslot)); - insert_arg_slots(_masm, arg_slots * stack_move_unit(), arg_mask, - rax_argslot, rbx_temp, rdx_temp); + + insert_arg_slots(_masm, arg_slots * stack_move_unit(), arg_mask, rax_argslot, rbx_temp, rdx_temp); // store bound argument into the new stack slot: __ load_heap_oop(rbx_temp, rcx_bmh_argument); - Address prim_value_addr(rbx_temp, java_lang_boxing_object::value_offset_in_bytes(arg_type)); if (arg_type == T_OBJECT) { __ movptr(Address(rax_argslot, 0), rbx_temp); } else { - __ load_sized_value(rdx_temp, prim_value_addr, - type2aelembytes(arg_type), is_signed_subword_type(arg_type)); - __ movptr(Address(rax_argslot, 0), rdx_temp); -#ifndef _LP64 - if (arg_slots == 2) { - __ movl(rdx_temp, prim_value_addr.plus_disp(wordSize)); - __ movl(Address(rax_argslot, Interpreter::stackElementSize), rdx_temp); - } -#endif //_LP64 + Address prim_value_addr(rbx_temp, java_lang_boxing_object::value_offset_in_bytes(arg_type)); + const int arg_size = type2aelembytes(arg_type); + __ load_sized_value(rdx_temp, prim_value_addr, arg_size, is_signed_subword_type(arg_type), rbx_temp); + __ store_sized_value(Address(rax_argslot, 0), rdx_temp, arg_size, rbx_temp); } if (direct_to_method) { diff --git a/hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp b/hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp index 9a1f72af1ab..181d4c2c62c 100644 --- a/hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp +++ b/hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp @@ -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 @@ -660,25 +660,6 @@ static void gen_i2c_adapter(MacroAssembler *masm, int comp_args_on_stack, const BasicType *sig_bt, const VMRegPair *regs) { - // we're being called from the interpreter but need to find the - // compiled return entry point. The return address on the stack - // should point at it and we just need to pull the old value out. - // load up the pointer to the compiled return entry point and - // rewrite our return pc. The code is arranged like so: - // - // .word Interpreter::return_sentinel - // .word address_of_compiled_return_point - // return_entry_point: blah_blah_blah - // - // So we can find the appropriate return point by loading up the word - // just prior to the current return address we have on the stack. - // - // We will only enter here from an interpreted frame and never from after - // passing thru a c2i. Azul allowed this but we do not. If we lose the - // race and use a c2i we will remain interpreted for the race loser(s). - // This removes all sorts of headaches on the x86 side and also eliminates - // the possibility of having c2i -> i2c -> c2i -> ... endless transitions. - // Note: rsi contains the senderSP on entry. We must preserve it since // we may do a i2c -> c2i transition if we lose a race where compiled @@ -687,40 +668,6 @@ static void gen_i2c_adapter(MacroAssembler *masm, // Pick up the return address __ movptr(rax, Address(rsp, 0)); - // If UseSSE >= 2 then no cleanup is needed on the return to the - // interpreter so skip fixing up the return entry point unless - // VerifyFPU is enabled. - if (UseSSE < 2 || VerifyFPU) { - Label skip, chk_int; - // If we were called from the call stub we need to do a little bit different - // cleanup than if the interpreter returned to the call stub. - - ExternalAddress stub_return_address(StubRoutines::_call_stub_return_address); - __ cmpptr(rax, stub_return_address.addr()); - __ jcc(Assembler::notEqual, chk_int); - assert(StubRoutines::x86::get_call_stub_compiled_return() != NULL, "must be set"); - __ lea(rax, ExternalAddress(StubRoutines::x86::get_call_stub_compiled_return())); - __ jmp(skip); - - // It must be the interpreter since we never get here via a c2i (unlike Azul) - - __ bind(chk_int); -#ifdef ASSERT - { - Label ok; - __ cmpl(Address(rax, -2*wordSize), Interpreter::return_sentinel); - __ jcc(Assembler::equal, ok); - __ int3(); - __ bind(ok); - } -#endif // ASSERT - __ movptr(rax, Address(rax, -wordSize)); - __ bind(skip); - } - - // rax, now contains the compiled return entry point which will do an - // cleanup needed for the return from compiled to interpreted. - // Must preserve original SP for loading incoming arguments because // we need to align the outgoing SP for compiled code. __ movptr(rdi, rsp); diff --git a/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp b/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp index d26e69f3b43..dea7fb948da 100644 --- a/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp +++ b/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp @@ -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 @@ -610,14 +610,6 @@ static void gen_i2c_adapter(MacroAssembler *masm, const BasicType *sig_bt, const VMRegPair *regs) { - // - // We will only enter here from an interpreted frame and never from after - // passing thru a c2i. Azul allowed this but we do not. If we lose the - // race and use a c2i we will remain interpreted for the race loser(s). - // This removes all sorts of headaches on the x86 side and also eliminates - // the possibility of having c2i -> i2c -> c2i -> ... endless transitions. - - // Note: r13 contains the senderSP on entry. We must preserve it since // we may do a i2c -> c2i transition if we lose a race where compiled // code goes non-entrant while we get args ready. @@ -627,6 +619,7 @@ static void gen_i2c_adapter(MacroAssembler *masm, // save code can segv when fxsave instructions find improperly // aligned stack pointer. + // Pick up the return address __ movptr(rax, Address(rsp, 0)); // Must preserve original SP for loading incoming arguments because diff --git a/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp b/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp index c3cf3f84835..9a7371cf6dd 100644 --- a/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp +++ b/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp @@ -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 @@ -240,9 +240,30 @@ class StubGenerator: public StubCodeGenerator { BLOCK_COMMENT("call_stub_return_address:"); return_address = __ pc(); - Label common_return; +#ifdef COMPILER2 + { + Label L_skip; + if (UseSSE >= 2) { + __ verify_FPU(0, "call_stub_return"); + } else { + for (int i = 1; i < 8; i++) { + __ ffree(i); + } - __ BIND(common_return); + // UseSSE <= 1 so double result should be left on TOS + __ movl(rsi, result_type); + __ cmpl(rsi, T_DOUBLE); + __ jcc(Assembler::equal, L_skip); + if (UseSSE == 0) { + // UseSSE == 0 so float result should be left on TOS + __ cmpl(rsi, T_FLOAT); + __ jcc(Assembler::equal, L_skip); + } + __ ffree(0); + } + __ BIND(L_skip); + } +#endif // COMPILER2 // store result depending on type // (everything that is not T_LONG, T_FLOAT or T_DOUBLE is treated as T_INT) @@ -305,37 +326,6 @@ class StubGenerator: public StubCodeGenerator { } __ jmp(exit); - // If we call compiled code directly from the call stub we will - // need to adjust the return back to the call stub to a specialized - // piece of code that can handle compiled results and cleaning the fpu - // stack. compiled code will be set to return here instead of the - // return above that handles interpreter returns. - - BLOCK_COMMENT("call_stub_compiled_return:"); - StubRoutines::x86::set_call_stub_compiled_return( __ pc()); - -#ifdef COMPILER2 - if (UseSSE >= 2) { - __ verify_FPU(0, "call_stub_compiled_return"); - } else { - for (int i = 1; i < 8; i++) { - __ ffree(i); - } - - // UseSSE <= 1 so double result should be left on TOS - __ movl(rsi, result_type); - __ cmpl(rsi, T_DOUBLE); - __ jcc(Assembler::equal, common_return); - if (UseSSE == 0) { - // UseSSE == 0 so float result should be left on TOS - __ cmpl(rsi, T_FLOAT); - __ jcc(Assembler::equal, common_return); - } - __ ffree(0); - } -#endif /* COMPILER2 */ - __ jmp(common_return); - return start; } diff --git a/hotspot/src/cpu/x86/vm/stubRoutines_x86_32.cpp b/hotspot/src/cpu/x86/vm/stubRoutines_x86_32.cpp index a04b3f29a1a..dfdab6f0038 100644 --- a/hotspot/src/cpu/x86/vm/stubRoutines_x86_32.cpp +++ b/hotspot/src/cpu/x86/vm/stubRoutines_x86_32.cpp @@ -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 @@ -39,6 +39,5 @@ // Implementation of the platform-specific part of StubRoutines - for // a description of how to extend it, see the stubRoutines.hpp file. -address StubRoutines::x86::_verify_mxcsr_entry = NULL; -address StubRoutines::x86::_verify_fpu_cntrl_wrd_entry= NULL; -address StubRoutines::x86::_call_stub_compiled_return = NULL; +address StubRoutines::x86::_verify_mxcsr_entry = NULL; +address StubRoutines::x86::_verify_fpu_cntrl_wrd_entry = NULL; diff --git a/hotspot/src/cpu/x86/vm/stubRoutines_x86_32.hpp b/hotspot/src/cpu/x86/vm/stubRoutines_x86_32.hpp index 0a78618e1b0..283274e3dde 100644 --- a/hotspot/src/cpu/x86/vm/stubRoutines_x86_32.hpp +++ b/hotspot/src/cpu/x86/vm/stubRoutines_x86_32.hpp @@ -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 @@ -44,24 +44,14 @@ class x86 { friend class VMStructs; private: - // If we call compiled code directly from the call stub we will - // need to adjust the return back to the call stub to a specialized - // piece of code that can handle compiled results and cleaning the fpu - // stack. The variable holds that location. - static address _call_stub_compiled_return; static address _verify_mxcsr_entry; static address _verify_fpu_cntrl_wrd_entry; - static jint _mxcsr_std; public: static address verify_mxcsr_entry() { return _verify_mxcsr_entry; } static address verify_fpu_cntrl_wrd_entry() { return _verify_fpu_cntrl_wrd_entry; } - - static address get_call_stub_compiled_return() { return _call_stub_compiled_return; } - static void set_call_stub_compiled_return(address ret) { _call_stub_compiled_return = ret; } }; - static bool returns_to_call_stub(address return_pc) { return (return_pc == _call_stub_return_address) || - return_pc == x86::get_call_stub_compiled_return(); } + static bool returns_to_call_stub(address return_pc) { return return_pc == _call_stub_return_address; } #endif // CPU_X86_VM_STUBROUTINES_X86_32_HPP diff --git a/hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp b/hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp index 74c4b6e3fb9..c3f20290e2b 100644 --- a/hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp +++ b/hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp @@ -177,9 +177,7 @@ address TemplateInterpreterGenerator::generate_continuation_for(TosState state) address TemplateInterpreterGenerator::generate_return_entry_for(TosState state, int step) { TosState incoming_state = state; - - Label interpreter_entry; - address compiled_entry = __ pc(); + address entry = __ pc(); #ifdef COMPILER2 // The FPU stack is clean if UseSSE >= 2 but must be cleaned in other cases @@ -197,14 +195,6 @@ address TemplateInterpreterGenerator::generate_return_entry_for(TosState state, __ MacroAssembler::verify_FPU(0, "generate_return_entry_for compiled"); } - __ jmp(interpreter_entry, relocInfo::none); - // emit a sentinel we can test for when converting an interpreter - // entry point to a compiled entry point. - __ a_long(Interpreter::return_sentinel); - __ a_long((int)compiled_entry); - address entry = __ pc(); - __ bind(interpreter_entry); - // In SSE mode, interpreter returns FP results in xmm0 but they need // to end up back on the FPU so it can operate on them. if (incoming_state == ftos && UseSSE >= 1) { diff --git a/hotspot/src/cpu/x86/vm/templateInterpreter_x86_64.cpp b/hotspot/src/cpu/x86/vm/templateInterpreter_x86_64.cpp index 8191a23878b..69ea49e8a88 100644 --- a/hotspot/src/cpu/x86/vm/templateInterpreter_x86_64.cpp +++ b/hotspot/src/cpu/x86/vm/templateInterpreter_x86_64.cpp @@ -190,13 +190,7 @@ address TemplateInterpreterGenerator::generate_continuation_for(TosState state) } -address TemplateInterpreterGenerator::generate_return_entry_for(TosState state, - int step) { - - // amd64 doesn't need to do anything special about compiled returns - // to the interpreter so the code that exists on x86 to place a sentinel - // here and the specialized cleanup code is not needed here. - +address TemplateInterpreterGenerator::generate_return_entry_for(TosState state, int step) { address entry = __ pc(); // Restore stack bottom in case i2c adjusted stack diff --git a/hotspot/src/cpu/x86/vm/templateTable_x86_32.cpp b/hotspot/src/cpu/x86/vm/templateTable_x86_32.cpp index 844a32d7ab3..742b20443c9 100644 --- a/hotspot/src/cpu/x86/vm/templateTable_x86_32.cpp +++ b/hotspot/src/cpu/x86/vm/templateTable_x86_32.cpp @@ -1710,39 +1710,6 @@ void TemplateTable::branch(bool is_jsr, bool is_wide) { __ pop(rdi); // get return address __ mov(rsp, rdx); // set sp to sender sp - - Label skip; - Label chkint; - - // The interpreter frame we have removed may be returning to - // either the callstub or the interpreter. Since we will - // now be returning from a compiled (OSR) nmethod we must - // adjust the return to the return were it can handler compiled - // results and clean the fpu stack. This is very similar to - // what a i2c adapter must do. - - // Are we returning to the call stub? - - __ cmp32(rdi, ExternalAddress(StubRoutines::_call_stub_return_address)); - __ jcc(Assembler::notEqual, chkint); - - // yes adjust to the specialized call stub return. - assert(StubRoutines::x86::get_call_stub_compiled_return() != NULL, "must be set"); - __ lea(rdi, ExternalAddress(StubRoutines::x86::get_call_stub_compiled_return())); - __ jmp(skip); - - __ bind(chkint); - - // Are we returning to the interpreter? Look for sentinel - - __ cmpl(Address(rdi, -2*wordSize), Interpreter::return_sentinel); - __ jcc(Assembler::notEqual, skip); - - // Adjust to compiled return back to interpreter - - __ movptr(rdi, Address(rdi, -wordSize)); - __ bind(skip); - // Align stack pointer for compiled code (note that caller is // responsible for undoing this fixup by remembering the old SP // in an rbp,-relative location) diff --git a/hotspot/src/cpu/x86/vm/x86_32.ad b/hotspot/src/cpu/x86/vm/x86_32.ad index b73bcda7fa9..a064d2999bc 100644 --- a/hotspot/src/cpu/x86/vm/x86_32.ad +++ b/hotspot/src/cpu/x86/vm/x86_32.ad @@ -12629,16 +12629,16 @@ instruct rep_stos(eCXRegI cnt, eDIRegP base, eAXRegI zero, Universe dummy, eFlag ins_pipe( pipe_slow ); %} -instruct string_compare(eDIRegP str1, eCXRegI cnt1, eSIRegP str2, eBXRegI cnt2, - eAXRegI result, regXD tmp1, regXD tmp2, eFlagsReg cr) %{ +instruct string_compare(eDIRegP str1, eCXRegI cnt1, eSIRegP str2, eDXRegI cnt2, + eAXRegI result, regXD tmp1, eFlagsReg cr) %{ match(Set result (StrComp (Binary str1 cnt1) (Binary str2 cnt2))); - effect(TEMP tmp1, TEMP tmp2, USE_KILL str1, USE_KILL str2, USE_KILL cnt1, USE_KILL cnt2, KILL cr); + effect(TEMP tmp1, USE_KILL str1, USE_KILL str2, USE_KILL cnt1, USE_KILL cnt2, KILL cr); - format %{ "String Compare $str1,$cnt1,$str2,$cnt2 -> $result // KILL $tmp1, $tmp2" %} + format %{ "String Compare $str1,$cnt1,$str2,$cnt2 -> $result // KILL $tmp1" %} ins_encode %{ __ string_compare($str1$$Register, $str2$$Register, $cnt1$$Register, $cnt2$$Register, $result$$Register, - $tmp1$$XMMRegister, $tmp2$$XMMRegister); + $tmp1$$XMMRegister); %} ins_pipe( pipe_slow ); %} diff --git a/hotspot/src/cpu/x86/vm/x86_64.ad b/hotspot/src/cpu/x86/vm/x86_64.ad index e007ce96cc8..b89d46a2996 100644 --- a/hotspot/src/cpu/x86/vm/x86_64.ad +++ b/hotspot/src/cpu/x86/vm/x86_64.ad @@ -11583,17 +11583,17 @@ instruct rep_stos(rcx_RegL cnt, rdi_RegP base, rax_RegI zero, Universe dummy, ins_pipe(pipe_slow); %} -instruct string_compare(rdi_RegP str1, rcx_RegI cnt1, rsi_RegP str2, rbx_RegI cnt2, - rax_RegI result, regD tmp1, regD tmp2, rFlagsReg cr) +instruct string_compare(rdi_RegP str1, rcx_RegI cnt1, rsi_RegP str2, rdx_RegI cnt2, + rax_RegI result, regD tmp1, rFlagsReg cr) %{ match(Set result (StrComp (Binary str1 cnt1) (Binary str2 cnt2))); - effect(TEMP tmp1, TEMP tmp2, USE_KILL str1, USE_KILL str2, USE_KILL cnt1, USE_KILL cnt2, KILL cr); + effect(TEMP tmp1, USE_KILL str1, USE_KILL str2, USE_KILL cnt1, USE_KILL cnt2, KILL cr); - format %{ "String Compare $str1,$cnt1,$str2,$cnt2 -> $result // KILL $tmp1, $tmp2" %} + format %{ "String Compare $str1,$cnt1,$str2,$cnt2 -> $result // KILL $tmp1" %} ins_encode %{ __ string_compare($str1$$Register, $str2$$Register, $cnt1$$Register, $cnt2$$Register, $result$$Register, - $tmp1$$XMMRegister, $tmp2$$XMMRegister); + $tmp1$$XMMRegister); %} ins_pipe( pipe_slow ); %} diff --git a/hotspot/src/cpu/zero/vm/jni_zero.h b/hotspot/src/cpu/zero/vm/jni_zero.h index 0e21634dff6..132a6bbb60d 100644 --- a/hotspot/src/cpu/zero/vm/jni_zero.h +++ b/hotspot/src/cpu/zero/vm/jni_zero.h @@ -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; diff --git a/hotspot/src/cpu/zero/vm/stubRoutines_zero.cpp b/hotspot/src/cpu/zero/vm/stubRoutines_zero.cpp index 4a8c7cb9329..96df53e0f5a 100644 --- a/hotspot/src/cpu/zero/vm/stubRoutines_zero.cpp +++ b/hotspot/src/cpu/zero/vm/stubRoutines_zero.cpp @@ -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. * Copyright 2008, 2009 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -30,7 +30,3 @@ #ifdef TARGET_OS_FAMILY_linux # include "thread_linux.inline.hpp" #endif - -#ifdef IA32 -address StubRoutines::x86::_call_stub_compiled_return = NULL; -#endif // IA32 diff --git a/hotspot/src/cpu/zero/vm/stubRoutines_zero.hpp b/hotspot/src/cpu/zero/vm/stubRoutines_zero.hpp index d4d521b4bc4..cee7d14b95f 100644 --- a/hotspot/src/cpu/zero/vm/stubRoutines_zero.hpp +++ b/hotspot/src/cpu/zero/vm/stubRoutines_zero.hpp @@ -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. * Copyright 2007, 2008, 2009, 2010 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -48,13 +48,4 @@ method_handles_adapters_code_size = 0 }; -#ifdef IA32 - class x86 { - friend class VMStructs; - - private: - static address _call_stub_compiled_return; - }; -#endif // IA32 - #endif // CPU_ZERO_VM_STUBROUTINES_ZERO_HPP diff --git a/hotspot/src/os/linux/vm/jvm_linux.cpp b/hotspot/src/os/linux/vm/jvm_linux.cpp index ea5bf2d36c7..6e305b80211 100644 --- a/hotspot/src/os/linux/vm/jvm_linux.cpp +++ b/hotspot/src/os/linux/vm/jvm_linux.cpp @@ -29,11 +29,6 @@ #include -/* - * 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 diff --git a/hotspot/src/os/linux/vm/osThread_linux.cpp b/hotspot/src/os/linux/vm/osThread_linux.cpp index f4ec9f78faa..bf454ff9003 100644 --- a/hotspot/src/os/linux/vm/osThread_linux.cpp +++ b/hotspot/src/os/linux/vm/osThread_linux.cpp @@ -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() { diff --git a/hotspot/src/os/linux/vm/os_linux.cpp b/hotspot/src/os/linux/vm/os_linux.cpp index 5d34fc50c7d..6bdcdd2165c 100644 --- a/hotspot/src/os/linux/vm/os_linux.cpp +++ b/hotspot/src/os/linux/vm/os_linux.cpp @@ -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 @@ char *os::scan_pages(char *start, char* end, page_info* page_expected, page_info 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 @@ bool os::unguard_memory(char* addr, size_t size) { 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 @@ bool os::large_page_init() { _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 @@ bool os::is_interrupted(Thread* thread, bool clear_interrupted) { // 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 @@ void os::pause() { } } -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. // diff --git a/hotspot/src/os/linux/vm/os_linux.inline.hpp b/hotspot/src/os/linux/vm/os_linux.inline.hpp index 9af7e789764..c2301be5052 100644 --- a/hotspot/src/os/linux/vm/os_linux.inline.hpp +++ b/hotspot/src/os/linux/vm/os_linux.inline.hpp @@ -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 diff --git a/hotspot/src/os/linux/vm/thread_linux.inline.hpp b/hotspot/src/os/linux/vm/thread_linux.inline.hpp index f09ed2877ef..93e1d481ef7 100644 --- a/hotspot/src/os/linux/vm/thread_linux.inline.hpp +++ b/hotspot/src/os/linux/vm/thread_linux.inline.hpp @@ -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 diff --git a/hotspot/src/os/posix/vm/os_posix.cpp b/hotspot/src/os/posix/vm/os_posix.cpp new file mode 100644 index 00000000000..079fa7bc0b2 --- /dev/null +++ b/hotspot/src/os/posix/vm/os_posix.cpp @@ -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 +#include + +// 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); +} + diff --git a/hotspot/src/os/solaris/vm/os_solaris.cpp b/hotspot/src/os/solaris/vm/os_solaris.cpp index 80c7c4d5058..848596b369b 100644 --- a/hotspot/src/os/solaris/vm/os_solaris.cpp +++ b/hotspot/src/os/solaris/vm/os_solaris.cpp @@ -1975,7 +1975,11 @@ bool os::dll_address_to_function_name(address addr, char *buf, #ifndef RTLD_DL_SYMENT #define RTLD_DL_SYMENT 1 #endif - Sym * info; +#ifdef _LP64 + Elf64_Sym * info; +#else + Elf32_Sym * info; +#endif if (dladdr1_func((void *)addr, &dlinfo, (void **)&info, RTLD_DL_SYMENT)) { if ((char *)dlinfo.dli_saddr + info->st_size > (char *)addr) { @@ -4221,7 +4225,9 @@ void os::os_exception_wrapper(java_call_t f, JavaValue* value, methodHandle* met // 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) { @@ -6422,4 +6428,3 @@ int os::bind(int fd, struct sockaddr *him, int len) { INTERRUPTIBLE_RETURN_INT_NORESTART(::bind(fd, him, len),\ os::Solaris::clear_interrupted); } - diff --git a/hotspot/src/os/windows/vm/os_windows.cpp b/hotspot/src/os/windows/vm/os_windows.cpp index 2eeb3d33392..1b1f04bd052 100644 --- a/hotspot/src/os/windows/vm/os_windows.cpp +++ b/hotspot/src/os/windows/vm/os_windows.cpp @@ -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 @@ void os::shutdown() { } } + +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 @@ volatile intx os::win32::_os_thread_count = 0; 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 @@ void os::win32::initialize_system_info() { 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 @@ void os::win32::initialize_system_info() { 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"); diff --git a/hotspot/src/os/windows/vm/os_windows.hpp b/hotspot/src/os/windows/vm/os_windows.hpp index ddc7e203657..5576f0bc38d 100644 --- a/hotspot/src/os/windows/vm/os_windows.hpp +++ b/hotspot/src/os/windows/vm/os_windows.hpp @@ -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 @@ class win32 { 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 @@ class win32 { // 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; } diff --git a/hotspot/src/os/windows/vm/perfMemory_windows.cpp b/hotspot/src/os/windows/vm/perfMemory_windows.cpp index fbccc3c89fa..4f3280d5906 100644 --- a/hotspot/src/os/windows/vm/perfMemory_windows.cpp +++ b/hotspot/src/os/windows/vm/perfMemory_windows.cpp @@ -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 @@ -298,8 +298,8 @@ static char* get_user_name() { static char* get_user_name_slow(int vmid) { // directory search - char* oldest_user = NULL; - time_t oldest_ctime = 0; + char* latest_user = NULL; + time_t latest_ctime = 0; const char* tmpdirname = os::get_temp_directory(); @@ -375,18 +375,29 @@ static char* get_user_name_slow(int vmid) { continue; } - // compare and save filename with latest creation time - if (statbuf.st_size > 0 && statbuf.st_ctime > oldest_ctime) { + // If we found a matching file with a newer creation time, then + // save the user name. The newer creation time indicates that + // we found a newer incarnation of the process associated with + // vmid. Due to the way that Windows recycles pids and the fact + // that we can't delete the file from the file system namespace + // until last close, it is possible for there to be more than + // one hsperfdata file with a name matching vmid (diff users). + // + // We no longer ignore hsperfdata files where (st_size == 0). + // In this function, all we're trying to do is determine the + // name of the user that owns the process associated with vmid + // so the size doesn't matter. Very rarely, we have observed + // hsperfdata files where (st_size == 0) and the st_size field + // later becomes the expected value. + // + if (statbuf.st_ctime > latest_ctime) { + char* user = strchr(dentry->d_name, '_') + 1; - if (statbuf.st_ctime > oldest_ctime) { - char* user = strchr(dentry->d_name, '_') + 1; + if (latest_user != NULL) FREE_C_HEAP_ARRAY(char, latest_user); + latest_user = NEW_C_HEAP_ARRAY(char, strlen(user)+1); - if (oldest_user != NULL) FREE_C_HEAP_ARRAY(char, oldest_user); - oldest_user = NEW_C_HEAP_ARRAY(char, strlen(user)+1); - - strcpy(oldest_user, user); - oldest_ctime = statbuf.st_ctime; - } + strcpy(latest_user, user); + latest_ctime = statbuf.st_ctime; } FREE_C_HEAP_ARRAY(char, filename); @@ -399,7 +410,7 @@ static char* get_user_name_slow(int vmid) { os::closedir(tmpdirp); FREE_C_HEAP_ARRAY(char, tdbuf); - return(oldest_user); + return(latest_user); } // return the name of the user that owns the process identified by vmid. @@ -1339,6 +1350,38 @@ static HANDLE create_sharedmem_resources(const char* dirname, const char* filena CloseHandle(fh); fh = NULL; return NULL; + } else { + // We created the file mapping, but rarely the size of the + // backing store file is reported as zero (0) which can cause + // failures when trying to use the hsperfdata file. + struct stat statbuf; + int ret_code = ::stat(filename, &statbuf); + if (ret_code == OS_ERR) { + if (PrintMiscellaneous && Verbose) { + warning("Could not get status information from file %s: %s\n", + filename, strerror(errno)); + } + CloseHandle(fmh); + CloseHandle(fh); + fh = NULL; + fmh = NULL; + return NULL; + } + + // We could always call FlushFileBuffers() but the Microsoft + // docs indicate that it is considered expensive so we only + // call it when we observe the size as zero (0). + if (statbuf.st_size == 0 && FlushFileBuffers(fh) != TRUE) { + DWORD lasterror = GetLastError(); + if (PrintMiscellaneous && Verbose) { + warning("could not flush file %s: %d\n", filename, lasterror); + } + CloseHandle(fmh); + CloseHandle(fh); + fh = NULL; + fmh = NULL; + return NULL; + } } // the file has been successfully created and the file mapping diff --git a/hotspot/src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp b/hotspot/src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp index e759e7d8dea..a9984d0e615 100644 --- a/hotspot/src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp +++ b/hotspot/src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp @@ -542,7 +542,7 @@ inline static bool checkICMiss(sigcontext* uc, address* pc, address* stub) { return false; } -extern "C" int +extern "C" JNIEXPORT int JVM_handle_linux_signal(int sig, siginfo_t* info, void* ucVoid, diff --git a/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp b/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp index f657dfec2d6..b5e159076d5 100644 --- a/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp +++ b/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp @@ -216,7 +216,7 @@ extern "C" void FetchNPFI () ; extern "C" void FetchNResume () ; #endif // AMD64 -extern "C" int +extern "C" JNIEXPORT int JVM_handle_linux_signal(int sig, siginfo_t* info, void* ucVoid, diff --git a/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp b/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp index fcada2aa417..9bee2332f87 100644 --- a/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp +++ b/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp @@ -1,6 +1,6 @@ /* - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright 2007, 2008 Red Hat, Inc. + * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright 2007, 2008, 2011 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -300,4 +300,18 @@ inline void* Atomic::cmpxchg_ptr(void* exchange_value, (intptr_t) compare_value); } +inline jlong Atomic::load(volatile jlong* src) { + volatile jlong dest; + os::atomic_copy64(src, &dest); + return dest; +} + +inline void Atomic::store(jlong store_value, jlong* dest) { + os::atomic_copy64((volatile jlong*)&store_value, (volatile jlong*)dest); +} + +inline void Atomic::store(jlong store_value, volatile jlong* dest) { + os::atomic_copy64((volatile jlong*)&store_value, dest); +} + #endif // OS_CPU_LINUX_ZERO_VM_ATOMIC_LINUX_ZERO_INLINE_HPP diff --git a/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp b/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp index 40e15e2f4f8..afeb60a93f4 100644 --- a/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp +++ b/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp @@ -116,7 +116,7 @@ frame os::fetch_frame_from_context(void* ucVoid) { ShouldNotCallThis(); } -extern "C" int +extern "C" JNIEXPORT int JVM_handle_linux_signal(int sig, siginfo_t* info, void* ucVoid, diff --git a/hotspot/src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp b/hotspot/src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp index 4830bfbb799..0d91eb967d5 100644 --- a/hotspot/src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp +++ b/hotspot/src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp @@ -67,7 +67,6 @@ extern "C" void _Atomic_move_long_v9(volatile jlong* src, volatile jlong* dst); inline void Atomic_move_long(volatile jlong* src, volatile jlong* dst) { #ifdef COMPILER2 // Compiler2 does not support v8, it is used only for v9. - assert (VM_Version::v9_instructions_work(), "only supported on v9"); _Atomic_move_long_v9(src, dst); #else // The branch is cheaper then emulated LDD. diff --git a/hotspot/src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp b/hotspot/src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp index 3b83be3ebba..e9724f1cd8e 100644 --- a/hotspot/src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp +++ b/hotspot/src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp @@ -317,9 +317,9 @@ extern "C" void Fetch32Resume () ; 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(); diff --git a/hotspot/src/os_cpu/solaris_sparc/vm/vm_version_solaris_sparc.cpp b/hotspot/src/os_cpu/solaris_sparc/vm/vm_version_solaris_sparc.cpp index 855e9a965f1..31f86cfaf52 100644 --- a/hotspot/src/os_cpu/solaris_sparc/vm/vm_version_solaris_sparc.cpp +++ b/hotspot/src/os_cpu/solaris_sparc/vm/vm_version_solaris_sparc.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2006, 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 @@ -189,14 +189,22 @@ int VM_Version::platform_features(int features) { tty->print_cr("cpu_info.implementation: %s", implementation); } #endif - if (strncmp(implementation, "SPARC64", 7) == 0) { + // Convert to UPPER case before compare. + char* impl = strdup(implementation); + + for (int i = 0; impl[i] != 0; i++) + impl[i] = (char)toupper((uint)impl[i]); + if (strstr(impl, "SPARC64") != NULL) { features |= sparc64_family_m; - } else if (strncmp(implementation, "UltraSPARC-T", 12) == 0) { + } else if (strstr(impl, "SPARC-T") != NULL) { features |= T_family_m; - if (strncmp(implementation, "UltraSPARC-T1", 13) == 0) { + if (strstr(impl, "SPARC-T1") != NULL) { features |= T1_model_m; } + } else { + assert(strstr(impl, "SPARC") != NULL, "should be sparc"); } + free((void*)impl); break; } } // for( diff --git a/hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp b/hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp index d9bb0eb58c3..2de4d6969bd 100644 --- a/hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp +++ b/hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp @@ -365,8 +365,6 @@ bool os::is_allocatable(size_t bytes) { } -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 FetchNPFI () ; 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 diff --git a/hotspot/src/os_cpu/windows_x86/vm/unwind_windows_x86.hpp b/hotspot/src/os_cpu/windows_x86/vm/unwind_windows_x86.hpp index 6762bf2308a..00b9b6c305d 100644 --- a/hotspot/src/os_cpu/windows_x86/vm/unwind_windows_x86.hpp +++ b/hotspot/src/os_cpu/windows_x86/vm/unwind_windows_x86.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2004, 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 @@ -71,7 +71,7 @@ typedef struct _DISPATCHER_CONTEXT { PVOID HandlerData; } DISPATCHER_CONTEXT, *PDISPATCHER_CONTEXT; -#if MSC_VER < 1500 +#if _MSC_VER < 1500 /* Not needed for VS2008 compiler, comes from winnt.h. */ typedef EXCEPTION_DISPOSITION (*PEXCEPTION_ROUTINE) ( diff --git a/hotspot/src/share/tools/ProjectCreator/BuildConfig.java b/hotspot/src/share/tools/ProjectCreator/BuildConfig.java index 6e97b28f1e6..82d7279c6ef 100644 --- a/hotspot/src/share/tools/ProjectCreator/BuildConfig.java +++ b/hotspot/src/share/tools/ProjectCreator/BuildConfig.java @@ -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 @@ -51,12 +51,14 @@ class BuildConfig { if (vars == null) vars = new Hashtable(); String flavourBuild = flavour + "_" + build; + String platformName = getFieldString(null, "PlatformName"); System.out.println(); System.out.println(flavourBuild); - put("Name", getCI().makeCfgName(flavourBuild)); + put("Name", getCI().makeCfgName(flavourBuild, platformName)); put("Flavour", flavour); put("Build", build); + put("PlatformName", platformName); // ones mentioned above were needed to expand format String buildBase = expandFormat(getFieldString(null, "BuildBase")); @@ -93,7 +95,7 @@ class BuildConfig { protected void initDefaultLinkerFlags() { Vector linkerFlags = new Vector(); - linkerFlags.addAll(getCI().getBaseLinkerFlags( get("OutputDir"), get("OutputDll"))); + linkerFlags.addAll(getCI().getBaseLinkerFlags( get("OutputDir"), get("OutputDll"), get("PlatformName"))); put("LinkerFlags", linkerFlags); } @@ -115,18 +117,15 @@ class BuildConfig { } - Vector getPreferredPaths(MacroDefinitions macros) { + Vector getPreferredPaths() { Vector preferredPaths = new Vector(); + // In the case of multiple files with the same name in - // different subdirectories, prefer the versions specified in - // the platform file as the "os_family" and "arch" macros. - for (Iterator iter = macros.getMacros(); iter.hasNext(); ) { - Macro macro = (Macro) iter.next(); - if (macro.name.equals("os_family") || - macro.name.equals("arch")) { - preferredPaths.add(macro.contents); - } - } + // different subdirectories, prefer these versions + preferredPaths.add("windows"); + preferredPaths.add("x86"); + preferredPaths.add("closed"); + // Also prefer "opto" over "adlc" for adlcVMDeps.hpp preferredPaths.add("opto"); @@ -137,18 +136,7 @@ class BuildConfig { void handleDB() { WinGammaPlatform platform = (WinGammaPlatform)getField(null, "PlatformObject"); - File incls = new File(get("OutputDir")+Util.sep+"incls"); - - incls.mkdirs(); - - MacroDefinitions macros = new MacroDefinitions(); - try { - macros.readFrom(getFieldString(null, "Platform"), false); - } catch (Exception e) { - throw new RuntimeException(e); - } - - putSpecificField("AllFilesHash", computeAllFiles(platform, macros)); + putSpecificField("AllFilesHash", computeAllFiles(platform)); } @@ -190,10 +178,10 @@ class BuildConfig { ht.put(expandFormat(key), expandFormat(value)); } - Hashtable computeAllFiles(WinGammaPlatform platform, MacroDefinitions macros) { + Hashtable computeAllFiles(WinGammaPlatform platform) { Hashtable rv = new Hashtable(); DirectoryTree tree = getSourceTree(get("SourceBase"), getFieldString(null, "StartAt")); - Vector preferredPaths = getPreferredPaths(macros); + Vector preferredPaths = getPreferredPaths(); // Hold errors until end Vector filesNotFound = new Vector(); @@ -228,8 +216,7 @@ class BuildConfig { System.err.println("Error: some files were not found or " + "appeared in multiple subdirectories of " + "directory " + get("SourceBase") + " and could not " + - "be resolved with the os_family and arch " + - "macros in the platform file."); + "be resolved with os_family and arch."); if (filesNotFound.size() != 0) { System.err.println("Files not found:"); for (Iterator iter = filesNotFound.iterator(); @@ -254,10 +241,14 @@ class BuildConfig { Vector sysDefines = new Vector(); sysDefines.add("WIN32"); sysDefines.add("_WINDOWS"); - sysDefines.add("HOTSPOT_BUILD_USER="+System.getProperty("user.name")); + sysDefines.add("HOTSPOT_BUILD_USER=\\\""+System.getProperty("user.name")+"\\\""); sysDefines.add("HOTSPOT_BUILD_TARGET=\\\""+get("Build")+"\\\""); sysDefines.add("_JNI_IMPLEMENTATION_"); - sysDefines.add("HOTSPOT_LIB_ARCH=\\\"i386\\\""); + if (vars.get("PlatformName").equals("Win32")) { + sysDefines.add("HOTSPOT_LIB_ARCH=\\\"i386\\\""); + } else { + sysDefines.add("HOTSPOT_LIB_ARCH=\\\"amd64\\\""); + } sysDefines.addAll(defines); @@ -710,7 +701,7 @@ class KernelProductConfig extends ProductConfig { } abstract class CompilerInterface { abstract Vector getBaseCompilerFlags(Vector defines, Vector includes, String outDir); - abstract Vector getBaseLinkerFlags(String outDir, String outDll); + abstract Vector getBaseLinkerFlags(String outDir, String outDll, String platformName); abstract Vector getDebugCompilerFlags(String opt); abstract Vector getDebugLinkerFlags(); abstract void getAdditionalNonKernelLinkerFlags(Vector rv); @@ -718,7 +709,7 @@ abstract class CompilerInterface { abstract Vector getProductLinkerFlags(); abstract String getOptFlag(); abstract String getNoOptFlag(); - abstract String makeCfgName(String flavourBuild); + abstract String makeCfgName(String flavourBuild, String platformName); void addAttr(Vector receiver, String attr, String value) { receiver.add(attr); receiver.add(value); diff --git a/hotspot/src/share/tools/ProjectCreator/DirectoryTree.java b/hotspot/src/share/tools/ProjectCreator/DirectoryTree.java index 7bfbc6a8ed8..76a5e4668ae 100644 --- a/hotspot/src/share/tools/ProjectCreator/DirectoryTree.java +++ b/hotspot/src/share/tools/ProjectCreator/DirectoryTree.java @@ -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 @@ -55,6 +55,9 @@ public class DirectoryTree { private Vector nodes = new Vector(); public FileIterator(Node rootNode) { + if(rootNode == null) { + return; + } nodes.add(rootNode); prune(); } @@ -112,10 +115,7 @@ public class DirectoryTree { throws IllegalArgumentException { File root = new File(Util.normalize(baseDirectory)); if (!root.isDirectory()) { - throw new IllegalArgumentException("baseDirectory \"" + - baseDirectory + - "\" does not exist or " + - "is not a directory"); + return; } try { root = root.getCanonicalFile(); diff --git a/hotspot/src/share/tools/ProjectCreator/FileFormatException.java b/hotspot/src/share/tools/ProjectCreator/FileFormatException.java index f16f0b2adca..077886f85dd 100644 --- a/hotspot/src/share/tools/ProjectCreator/FileFormatException.java +++ b/hotspot/src/share/tools/ProjectCreator/FileFormatException.java @@ -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 @@ -22,7 +22,9 @@ * */ +@SuppressWarnings("serial") public class FileFormatException extends Exception { + public FileFormatException() { super(); } diff --git a/hotspot/src/share/tools/ProjectCreator/MacroDefinitions.java b/hotspot/src/share/tools/ProjectCreator/MacroDefinitions.java deleted file mode 100644 index 9ed801ac95d..00000000000 --- a/hotspot/src/share/tools/ProjectCreator/MacroDefinitions.java +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - * - */ - -import java.io.*; -import java.util.*; - -public class MacroDefinitions { - private Vector macros; - - public MacroDefinitions() { - macros = new Vector(); - } - - public void addMacro(String name, String contents) { - Macro macro = new Macro(); - macro.name = name; - macro.contents = contents; - macros.add(macro); - } - - private boolean lineIsEmpty(String s) { - for (int i = 0; i < s.length(); i++) { - if (!Character.isWhitespace(s.charAt(i))) { - return false; - } - } - return true; - } - - public void readFrom(String fileName, boolean missingOk) - throws FileNotFoundException, FileFormatException, IOException { - BufferedReader reader = null; - try { - reader = new BufferedReader(new FileReader(fileName)); - } catch (FileNotFoundException e) { - if (missingOk) { - return; - } else { - throw(e); - } - } - String line; - do { - line = reader.readLine(); - if (line != null) { - // This had to be rewritten (compare to Database.java) - // because the Solaris platform file has been - // repurposed and now contains "macros" with spaces in - // them. - - if ((!line.startsWith("//")) && - (!lineIsEmpty(line))) { - int nameBegin = -1; - int nameEnd = -1; - boolean gotEquals = false; - int contentsBegin = -1; - int contentsEnd = -1; - - int i = 0; - // Scan forward for beginning of name - while (i < line.length()) { - if (!Character.isWhitespace(line.charAt(i))) { - break; - } - i++; - } - nameBegin = i; - - // Scan forward for end of name - while (i < line.length()) { - if (Character.isWhitespace(line.charAt(i))) { - break; - } - i++; - } - nameEnd = i; - - // Scan forward for equals sign - while (i < line.length()) { - if (line.charAt(i) == '=') { - gotEquals = true; - break; - } - i++; - } - - // Scan forward for start of contents - i++; - while (i < line.length()) { - if (!Character.isWhitespace(line.charAt(i))) { - break; - } - i++; - } - contentsBegin = i; - - // Scan *backward* for end of contents - i = line.length() - 1; - while (i >= 0) { - if (!Character.isWhitespace(line.charAt(i))) { - break; - } - } - contentsEnd = i+1; - - // Now do consistency check - if (!((nameBegin < nameEnd) && - (nameEnd < contentsBegin) && - (contentsBegin < contentsEnd) && - (gotEquals == true))) { - throw new FileFormatException( - "Expected \"macroname = value\", " + - "but found: " + line - ); - } - - String name = line.substring(nameBegin, nameEnd); - String contents = line.substring(contentsBegin, - contentsEnd); - addMacro(name, contents); - } - } - } while (line != null); - reader.close(); - } - - /** This returns an Iterator of Macros. You should not mutate the - returned Macro objects or use the Iterator to remove - macros. */ - public Iterator getMacros() { - return macros.iterator(); - } -} diff --git a/hotspot/src/share/tools/ProjectCreator/Util.java b/hotspot/src/share/tools/ProjectCreator/Util.java index e44b4f09c34..18b2f57b7b8 100644 --- a/hotspot/src/share/tools/ProjectCreator/Util.java +++ b/hotspot/src/share/tools/ProjectCreator/Util.java @@ -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 @@ -47,7 +47,7 @@ public class Util { return sb.toString(); } - static String join(String padder, String v[]) { + static String join(String padder, String v[]) { StringBuffer sb = new StringBuffer(); for (int i=0; i 2) { + if (file.charAt(1) == ':' && file.charAt(2) == '/') { + // convert drive letter to uppercase + String drive = file.substring(0, 1).toUpperCase(); + return drive + file.substring(1); + } + } + return file; } static String sep = File.separator; - static String os = "Win32"; //System.getProperty("os.name"); } diff --git a/hotspot/src/share/tools/ProjectCreator/WinGammaPlatform.java b/hotspot/src/share/tools/ProjectCreator/WinGammaPlatform.java index a2416f50be7..9d206f57b72 100644 --- a/hotspot/src/share/tools/ProjectCreator/WinGammaPlatform.java +++ b/hotspot/src/share/tools/ProjectCreator/WinGammaPlatform.java @@ -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 @@ -235,13 +235,6 @@ public abstract class WinGammaPlatform { (locationsInTree.size() == 0)) { filesNotFound.add(fileName); } else if (locationsInTree.size() > 1) { - // We shouldn't have duplicate file names in our workspace. - System.err.println(); - System.err.println("There are multiple files named as: " + fileName); - System.exit(-1); - // The following code could be safely removed if we don't need duplicate - // file names. - // Iterate through them, trying to find one with a // preferred path search: @@ -336,7 +329,7 @@ public abstract class WinGammaPlatform { String projectName = getProjectName(projectFileName, ext); - writeProjectFile(projectFileName, projectName, createAllConfigs()); + writeProjectFile(projectFileName, projectName, createAllConfigs(BuildConfig.getFieldString(null, "PlatformName"))); } protected void writePrologue(String[] args) { @@ -376,7 +369,13 @@ public abstract class WinGammaPlatform { HsArgHandler.STRING ), - new HsArgRule("-projectFileName", + new HsArgRule("-platformName", + "PlatformName", + null, + HsArgHandler.STRING + ), + + new HsArgRule("-projectFileName", "ProjectFileName", null, HsArgHandler.STRING @@ -394,12 +393,6 @@ public abstract class WinGammaPlatform { HsArgHandler.STRING ), - new HsArgRule("-platform", - "Platform", - null, - HsArgHandler.STRING - ), - new HsArgRule("-absoluteInclude", "AbsoluteInclude", null, @@ -590,28 +583,27 @@ public abstract class WinGammaPlatform { BuildConfig.putField(null, "PlatformObject", this); } - Vector createAllConfigs() { + Vector createAllConfigs(String platform) { Vector allConfigs = new Vector(); allConfigs.add(new C1DebugConfig()); - boolean b = true; - if (b) { - allConfigs.add(new C1FastDebugConfig()); - allConfigs.add(new C1ProductConfig()); + allConfigs.add(new C1FastDebugConfig()); + allConfigs.add(new C1ProductConfig()); - allConfigs.add(new C2DebugConfig()); - allConfigs.add(new C2FastDebugConfig()); - allConfigs.add(new C2ProductConfig()); + allConfigs.add(new C2DebugConfig()); + allConfigs.add(new C2FastDebugConfig()); + allConfigs.add(new C2ProductConfig()); - allConfigs.add(new TieredDebugConfig()); - allConfigs.add(new TieredFastDebugConfig()); - allConfigs.add(new TieredProductConfig()); + allConfigs.add(new TieredDebugConfig()); + allConfigs.add(new TieredFastDebugConfig()); + allConfigs.add(new TieredProductConfig()); - allConfigs.add(new CoreDebugConfig()); - allConfigs.add(new CoreFastDebugConfig()); - allConfigs.add(new CoreProductConfig()); + allConfigs.add(new CoreDebugConfig()); + allConfigs.add(new CoreFastDebugConfig()); + allConfigs.add(new CoreProductConfig()); + if (platform.equals("Win32")) { allConfigs.add(new KernelDebugConfig()); allConfigs.add(new KernelFastDebugConfig()); allConfigs.add(new KernelProductConfig()); diff --git a/hotspot/src/share/tools/ProjectCreator/WinGammaPlatformVC6.java b/hotspot/src/share/tools/ProjectCreator/WinGammaPlatformVC6.java index 6e59d78673b..f29abc051e4 100644 --- a/hotspot/src/share/tools/ProjectCreator/WinGammaPlatformVC6.java +++ b/hotspot/src/share/tools/ProjectCreator/WinGammaPlatformVC6.java @@ -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 @@ -223,7 +223,7 @@ class CompilerInterfaceVC6 extends CompilerInterface { return rv; } - Vector getBaseLinkerFlags(String outDir, String outDll) { + Vector getBaseLinkerFlags(String outDir, String outDll, String platformName) { Vector rv = new Vector(); rv.add("PROP Ignore_Export_Lib 0"); @@ -231,8 +231,12 @@ class CompilerInterfaceVC6 extends CompilerInterface { rv.add("ADD CPP /MD"); rv.add("ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib " + " advapi32.lib shell32.lib ole32.lib oleaut32.lib winmm.lib"); + String machine = "/machine:I386"; + if (platformName.equals("x64")) { + machine = "/machine:X64"; + } rv.add("ADD LINK32 /out:\""+outDll+"\" "+ - " /nologo /subsystem:windows /machine:I386" + + " /nologo /subsystem:windows /machine:" + machine + " /nologo /base:\"0x8000000\" /subsystem:windows /dll" + " /export:JNI_GetDefaultJavaVMInitArgs /export:JNI_CreateJavaVM /export:JNI_GetCreatedJavaVMs "+ " /export:jio_snprintf /export:jio_printf /export:jio_fprintf /export:jio_vfprintf "+ @@ -287,7 +291,7 @@ class CompilerInterfaceVC6 extends CompilerInterface { return "d"; } - String makeCfgName(String flavourBuild) { - return "vm - "+ Util.os + " " + flavourBuild; + String makeCfgName(String flavourBuild, String platform) { + return "vm - "+ platform + " " + flavourBuild; } } diff --git a/hotspot/src/share/tools/ProjectCreator/WinGammaPlatformVC7.java b/hotspot/src/share/tools/ProjectCreator/WinGammaPlatformVC7.java index dad8ed6d108..fd6fbfea83e 100644 --- a/hotspot/src/share/tools/ProjectCreator/WinGammaPlatformVC7.java +++ b/hotspot/src/share/tools/ProjectCreator/WinGammaPlatformVC7.java @@ -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 @@ -37,7 +37,7 @@ public class WinGammaPlatformVC7 extends WinGammaPlatform { public void writeProjectFile(String projectFileName, String projectName, Vector allConfigs) throws IOException { System.out.println(); - System.out.println(" Writing .vcproj file..."); + System.out.println(" Writing .vcproj file: "+projectFileName); // If we got this far without an error, we're safe to actually // write the .vcproj file printWriter = new PrintWriter(new FileWriter(projectFileName)); @@ -54,9 +54,8 @@ public class WinGammaPlatformVC7 extends WinGammaPlatform { "SccLocalPath", "" } ); - startTag("Platforms", null); - tag("Platform", new String[] {"Name", Util.os}); + tag("Platform", new String[] {"Name", (String) BuildConfig.getField(null, "PlatformName")}); endTag("Platforms"); startTag("Configurations", null); @@ -81,12 +80,47 @@ public class WinGammaPlatformVC7 extends WinGammaPlatform { abstract class NameFilter { - protected String fname; + protected String fname; abstract boolean match(FileInfo fi); String filterString() { return ""; } String name() { return this.fname;} + + @Override + // eclipse auto-generated + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + getOuterType().hashCode(); + result = prime * result + ((fname == null) ? 0 : fname.hashCode()); + return result; + } + + @Override + // eclipse auto-generated + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + NameFilter other = (NameFilter) obj; + if (!getOuterType().equals(other.getOuterType())) + return false; + if (fname == null) { + if (other.fname != null) + return false; + } else if (!fname.equals(other.fname)) + return false; + return true; + } + + // eclipse auto-generated + private WinGammaPlatformVC7 getOuterType() { + return WinGammaPlatformVC7.this; + } } class DirectoryFilter extends NameFilter { @@ -109,9 +143,50 @@ public class WinGammaPlatformVC7 extends WinGammaPlatform { boolean match(FileInfo fi) { - int lastSlashIndex = fi.full.lastIndexOf('/'); - String fullDir = fi.full.substring(0, lastSlashIndex); - return fullDir.endsWith(dir); + int lastSlashIndex = fi.full.lastIndexOf('/'); + String fullDir = fi.full.substring(0, lastSlashIndex); + return fullDir.endsWith(dir); + } + + @Override + // eclipse auto-generated + public int hashCode() { + final int prime = 31; + int result = super.hashCode(); + result = prime * result + getOuterType().hashCode(); + result = prime * result + baseLen; + result = prime * result + ((dir == null) ? 0 : dir.hashCode()); + result = prime * result + dirLen; + return result; + } + + @Override + // eclipse auto-generated + public boolean equals(Object obj) { + if (this == obj) + return true; + if (!super.equals(obj)) + return false; + if (getClass() != obj.getClass()) + return false; + DirectoryFilter other = (DirectoryFilter) obj; + if (!getOuterType().equals(other.getOuterType())) + return false; + if (baseLen != other.baseLen) + return false; + if (dir == null) { + if (other.dir != null) + return false; + } else if (!dir.equals(other.dir)) + return false; + if (dirLen != other.dirLen) + return false; + return true; + } + + // eclipse auto-generated + private WinGammaPlatformVC7 getOuterType() { + return WinGammaPlatformVC7.this; } } @@ -232,32 +307,39 @@ public class WinGammaPlatformVC7 extends WinGammaPlatform { DirectoryFilter container = null; for(FileInfo fileInfo : files) { - if (!fileInfo.full.startsWith(sbase)) { - continue; - } + if (!fileInfo.full.startsWith(sbase)) { + continue; + } - int lastSlash = fileInfo.full.lastIndexOf('/'); - String dir = fileInfo.full.substring(sbase.length(), lastSlash); - if(dir.equals("share/vm")) { - // skip files directly in share/vm - should only be precompiled.hpp which is handled below - continue; - } - if (!dir.equals(currentDir)) { - currentDir = dir; - if (container != null) { - rv.add(container); - } + int lastSlash = fileInfo.full.lastIndexOf('/'); + String dir = fileInfo.full.substring(sbase.length(), lastSlash); + if(dir.equals("share/vm")) { + // skip files directly in share/vm - should only be precompiled.hpp which is handled below + continue; + } + if (!dir.equals(currentDir)) { + currentDir = dir; + if (container != null && !rv.contains(container)) { + rv.add(container); + } - // remove "share/vm/" from names - String name = dir; - if (dir.startsWith("share/vm/")) { - name = dir.substring("share/vm/".length(), dir.length()); - } - container = new DirectoryFilter(name, dir, sbase); - } + // remove "share/vm/" from names + String name = dir; + if (dir.startsWith("share/vm/")) { + name = dir.substring("share/vm/".length(), dir.length()); + } + DirectoryFilter newfilter = new DirectoryFilter(name, dir, sbase); + int i = rv.indexOf(newfilter); + if(i == -1) { + container = newfilter; + } else { + // if the filter already exists, reuse it + container = (DirectoryFilter) rv.get(i); + } + } } - if (container != null) { - rv.add(container); + if (container != null && !rv.contains(container)) { + rv.add(container); } ContainerFilter generated = new ContainerFilter("Generated"); @@ -583,7 +665,7 @@ class CompilerInterfaceVC7 extends CompilerInterface { return rv; } - Vector getBaseLinkerFlags(String outDir, String outDll) { + Vector getBaseLinkerFlags(String outDir, String outDll, String platformName) { Vector rv = new Vector(); addAttr(rv, "Name", "VCLinkerTool"); @@ -610,8 +692,13 @@ class CompilerInterfaceVC7 extends CompilerInterface { addAttr(rv, "SubSystem", "2"); addAttr(rv, "BaseAddress", "0x8000000"); addAttr(rv, "ImportLibrary", outDir+Util.sep+"jvm.lib"); - // Set /MACHINE option. 1 is machineX86 - addAttr(rv, "TargetMachine", "1"); + if(platformName.equals("Win32")) { + // Set /MACHINE option. 1 is X86 + addAttr(rv, "TargetMachine", "1"); + } else { + // Set /MACHINE option. 17 is X64 + addAttr(rv, "TargetMachine", "17"); + } return rv; } @@ -656,12 +743,6 @@ class CompilerInterfaceVC7 extends CompilerInterface { addAttr(rv, "Optimization", "2"); // Set /Oy- option addAttr(rv, "OmitFramePointers", "FALSE"); - } - - Vector getProductCompilerFlags() { - Vector rv = new Vector(); - - getProductCompilerFlags_common(rv); // Set /Ob option. 1 is expandOnlyInline addAttr(rv, "InlineFunctionExpansion", "1"); // Set /GF option. @@ -670,6 +751,12 @@ class CompilerInterfaceVC7 extends CompilerInterface { addAttr(rv, "RuntimeLibrary", "2"); // Set /Gy option addAttr(rv, "EnableFunctionLevelLinking", "TRUE"); + } + + Vector getProductCompilerFlags() { + Vector rv = new Vector(); + + getProductCompilerFlags_common(rv); return rv; } @@ -693,7 +780,7 @@ class CompilerInterfaceVC7 extends CompilerInterface { return "0"; } - String makeCfgName(String flavourBuild) { - return flavourBuild + "|" + Util.os; + String makeCfgName(String flavourBuild, String platform) { + return flavourBuild + "|" + platform; } } diff --git a/hotspot/src/share/vm/adlc/adlc.hpp b/hotspot/src/share/vm/adlc/adlc.hpp index 3e00570f1e8..0ed4b77ed2f 100644 --- a/hotspot/src/share/vm/adlc/adlc.hpp +++ b/hotspot/src/share/vm/adlc/adlc.hpp @@ -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 @@ -42,11 +42,6 @@ using namespace std; #endif -// make sure the MSC_VER and _MSC_VER settings make sense -#if _MSC_VER != MSC_VER && (_MSC_VER != 1400 || MSC_VER != 1399) -#error "Something is wrong with the detection of MSC_VER in the makefiles" -#endif - #if _MSC_VER >= 1400 #define strdup _strdup #endif diff --git a/hotspot/src/share/vm/adlc/output_c.cpp b/hotspot/src/share/vm/adlc/output_c.cpp index 776c486f179..ddf1f99343b 100644 --- a/hotspot/src/share/vm/adlc/output_c.cpp +++ b/hotspot/src/share/vm/adlc/output_c.cpp @@ -1698,7 +1698,75 @@ void ArchDesc::defineExpand(FILE *fp, InstructForm *node) { fprintf(fp,"\n"); } // done generating expand rule - else if( node->_matrule != NULL ) { + // Generate projections for instruction's additional DEFs and KILLs + if( ! node->expands() && (node->needs_projections() || node->has_temps())) { + // Get string representing the MachNode that projections point at + const char *machNode = "this"; + // Generate the projections + fprintf(fp," // Add projection edges for additional defs or kills\n"); + + // Examine each component to see if it is a DEF or KILL + node->_components.reset(); + // Skip the first component, if already handled as (SET dst (...)) + Component *comp = NULL; + // For kills, the choice of projection numbers is arbitrary + int proj_no = 1; + bool declared_def = false; + bool declared_kill = false; + + while( (comp = node->_components.iter()) != NULL ) { + // Lookup register class associated with operand type + Form *form = (Form*)_globalNames[comp->_type]; + assert( form, "component type must be a defined form"); + OperandForm *op = form->is_operand(); + + if (comp->is(Component::TEMP)) { + fprintf(fp, " // TEMP %s\n", comp->_name); + if (!declared_def) { + // Define the variable "def" to hold new MachProjNodes + fprintf(fp, " MachTempNode *def;\n"); + declared_def = true; + } + if (op && op->_interface && op->_interface->is_RegInterface()) { + fprintf(fp," def = new (C) MachTempNode(state->MachOperGenerator( %s, C ));\n", + machOperEnum(op->_ident)); + fprintf(fp," add_req(def);\n"); + // The operand for TEMP is already constructed during + // this mach node construction, see buildMachNode(). + // + // int idx = node->operand_position_format(comp->_name); + // fprintf(fp," set_opnd_array(%d, state->MachOperGenerator( %s, C ));\n", + // idx, machOperEnum(op->_ident)); + } else { + assert(false, "can't have temps which aren't registers"); + } + } else if (comp->isa(Component::KILL)) { + fprintf(fp, " // DEF/KILL %s\n", comp->_name); + + if (!declared_kill) { + // Define the variable "kill" to hold new MachProjNodes + fprintf(fp, " MachProjNode *kill;\n"); + declared_kill = true; + } + + assert( op, "Support additional KILLS for base operands"); + const char *regmask = reg_mask(*op); + const char *ideal_type = op->ideal_type(_globalNames, _register); + + if (!op->is_bound_register()) { + syntax_err(node->_linenum, "In %s only bound registers can be killed: %s %s\n", + node->_ident, comp->_type, comp->_name); + } + + fprintf(fp," kill = "); + fprintf(fp,"new (C, 1) MachProjNode( %s, %d, (%s), Op_%s );\n", + machNode, proj_no++, regmask, ideal_type); + fprintf(fp," proj_list.push(kill);\n"); + } + } + } + + if( !node->expands() && node->_matrule != NULL ) { // Remove duplicated operands and inputs which use the same name. // Seach through match operands for the same name usage. uint cur_num_opnds = node->num_opnds(); @@ -1752,72 +1820,6 @@ void ArchDesc::defineExpand(FILE *fp, InstructForm *node) { } } - - // Generate projections for instruction's additional DEFs and KILLs - if( ! node->expands() && (node->needs_projections() || node->has_temps())) { - // Get string representing the MachNode that projections point at - const char *machNode = "this"; - // Generate the projections - fprintf(fp," // Add projection edges for additional defs or kills\n"); - - // Examine each component to see if it is a DEF or KILL - node->_components.reset(); - // Skip the first component, if already handled as (SET dst (...)) - Component *comp = NULL; - // For kills, the choice of projection numbers is arbitrary - int proj_no = 1; - bool declared_def = false; - bool declared_kill = false; - - while( (comp = node->_components.iter()) != NULL ) { - // Lookup register class associated with operand type - Form *form = (Form*)_globalNames[comp->_type]; - assert( form, "component type must be a defined form"); - OperandForm *op = form->is_operand(); - - if (comp->is(Component::TEMP)) { - fprintf(fp, " // TEMP %s\n", comp->_name); - if (!declared_def) { - // Define the variable "def" to hold new MachProjNodes - fprintf(fp, " MachTempNode *def;\n"); - declared_def = true; - } - if (op && op->_interface && op->_interface->is_RegInterface()) { - fprintf(fp," def = new (C) MachTempNode(state->MachOperGenerator( %s, C ));\n", - machOperEnum(op->_ident)); - fprintf(fp," add_req(def);\n"); - int idx = node->operand_position_format(comp->_name); - fprintf(fp," set_opnd_array(%d, state->MachOperGenerator( %s, C ));\n", - idx, machOperEnum(op->_ident)); - } else { - assert(false, "can't have temps which aren't registers"); - } - } else if (comp->isa(Component::KILL)) { - fprintf(fp, " // DEF/KILL %s\n", comp->_name); - - if (!declared_kill) { - // Define the variable "kill" to hold new MachProjNodes - fprintf(fp, " MachProjNode *kill;\n"); - declared_kill = true; - } - - assert( op, "Support additional KILLS for base operands"); - const char *regmask = reg_mask(*op); - const char *ideal_type = op->ideal_type(_globalNames, _register); - - if (!op->is_bound_register()) { - syntax_err(node->_linenum, "In %s only bound registers can be killed: %s %s\n", - node->_ident, comp->_type, comp->_name); - } - - fprintf(fp," kill = "); - fprintf(fp,"new (C, 1) MachProjNode( %s, %d, (%s), Op_%s );\n", - machNode, proj_no++, regmask, ideal_type); - fprintf(fp," proj_list.push(kill);\n"); - } - } - } - // If the node is a MachConstantNode, insert the MachConstantBaseNode edge. // NOTE: this edge must be the last input (see MachConstantNode::mach_constant_base_node_input). if (node->is_mach_constant()) { @@ -3776,12 +3778,10 @@ void ArchDesc::buildMachNode(FILE *fp_cpp, InstructForm *inst, const char *inden } dont_care = true; // For each operand not in the match rule, call MachOperGenerator - // with the enum for the opcode that needs to be built - // and the node just built, the parent of the operand. + // with the enum for the opcode that needs to be built. ComponentList clist = inst->_components; int index = clist.operand_position(comp->_name, comp->_usedef); const char *opcode = machOperEnum(comp->_type); - const char *parent = "node"; fprintf(fp_cpp, "%s node->set_opnd_array(%d, ", indent, index); fprintf(fp_cpp, "MachOperGenerator(%s, C));\n", opcode); } diff --git a/hotspot/src/share/vm/asm/assembler.cpp b/hotspot/src/share/vm/asm/assembler.cpp index e4e890931f5..2f739393f58 100644 --- a/hotspot/src/share/vm/asm/assembler.cpp +++ b/hotspot/src/share/vm/asm/assembler.cpp @@ -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 diff --git a/hotspot/src/share/vm/asm/assembler.hpp b/hotspot/src/share/vm/asm/assembler.hpp index 0b3544e695f..db0fbadbd5c 100644 --- a/hotspot/src/share/vm/asm/assembler.hpp +++ b/hotspot/src/share/vm/asm/assembler.hpp @@ -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 @@ class AbstractAssembler : public ResourceObj { #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 diff --git a/hotspot/src/share/vm/asm/codeBuffer.hpp b/hotspot/src/share/vm/asm/codeBuffer.hpp index 8ab664d4963..dfcd1cf0a27 100644 --- a/hotspot/src/share/vm/asm/codeBuffer.hpp +++ b/hotspot/src/share/vm/asm/codeBuffer.hpp @@ -566,6 +566,12 @@ class CodeBuffer: public StackObj { #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 }; diff --git a/hotspot/src/share/vm/c1/c1_Compilation.cpp b/hotspot/src/share/vm/c1/c1_Compilation.cpp index 88dc8c7d0d5..4521b0f623b 100644 --- a/hotspot/src/share/vm/c1/c1_Compilation.cpp +++ b/hotspot/src/share/vm/c1/c1_Compilation.cpp @@ -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 @@ -491,10 +491,11 @@ Compilation::Compilation(AbstractCompiler* compiler, ciEnv* env, ciMethod* metho // to start profiling on its own. _method->ensure_method_data(); } - } else if (is_profiling() && _would_profile) { + } else if (is_profiling()) { ciMethodData *md = method->method_data_or_null(); - assert(md != NULL, "Sanity"); - md->set_would_profile(_would_profile); + if (md != NULL) { + md->set_would_profile(_would_profile); + } } } diff --git a/hotspot/src/share/vm/c1/c1_Defs.hpp b/hotspot/src/share/vm/c1/c1_Defs.hpp index 7f964c09ac6..564e7b3cb5f 100644 --- a/hotspot/src/share/vm/c1/c1_Defs.hpp +++ b/hotspot/src/share/vm/c1/c1_Defs.hpp @@ -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 @@ enum { #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 diff --git a/hotspot/src/share/vm/c1/c1_FpuStackSim.hpp b/hotspot/src/share/vm/c1/c1_FpuStackSim.hpp index a84d8a15269..3e8adbe14c4 100644 --- a/hotspot/src/share/vm/c1/c1_FpuStackSim.hpp +++ b/hotspot/src/share/vm/c1/c1_FpuStackSim.hpp @@ -38,6 +38,12 @@ class FpuStackSim; #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 diff --git a/hotspot/src/share/vm/c1/c1_FrameMap.cpp b/hotspot/src/share/vm/c1/c1_FrameMap.cpp index 5b10b966db1..74eab9bd08e 100644 --- a/hotspot/src/share/vm/c1/c1_FrameMap.cpp +++ b/hotspot/src/share/vm/c1/c1_FrameMap.cpp @@ -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 diff --git a/hotspot/src/share/vm/c1/c1_FrameMap.hpp b/hotspot/src/share/vm/c1/c1_FrameMap.hpp index c112ad54006..266ae094057 100644 --- a/hotspot/src/share/vm/c1/c1_FrameMap.hpp +++ b/hotspot/src/share/vm/c1/c1_FrameMap.hpp @@ -87,6 +87,12 @@ class FrameMap : public CompilationResourceObj { #endif #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 diff --git a/hotspot/src/share/vm/c1/c1_Instruction.hpp b/hotspot/src/share/vm/c1/c1_Instruction.hpp index 1f37449db41..3a5eecc2d7b 100644 --- a/hotspot/src/share/vm/c1/c1_Instruction.hpp +++ b/hotspot/src/share/vm/c1/c1_Instruction.hpp @@ -316,6 +316,8 @@ class Instruction: public CompilationResourceObj { return res; } + static const int no_bci = -99; + enum InstructionFlag { NeedsNullCheckFlag = 0, CanTrapFlag, diff --git a/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp b/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp index 1b57ea2f095..510bf2f92a5 100644 --- a/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp +++ b/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp @@ -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) { diff --git a/hotspot/src/share/vm/c1/c1_LIRAssembler.hpp b/hotspot/src/share/vm/c1/c1_LIRAssembler.hpp index bb18c253eb5..074027a8719 100644 --- a/hotspot/src/share/vm/c1/c1_LIRAssembler.hpp +++ b/hotspot/src/share/vm/c1/c1_LIRAssembler.hpp @@ -252,6 +252,12 @@ class LIR_Assembler: public CompilationResourceObj { #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 }; diff --git a/hotspot/src/share/vm/c1/c1_LinearScan.cpp b/hotspot/src/share/vm/c1/c1_LinearScan.cpp index 7419f9e8fac..16fd0aea1ca 100644 --- a/hotspot/src/share/vm/c1/c1_LinearScan.cpp +++ b/hotspot/src/share/vm/c1/c1_LinearScan.cpp @@ -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 diff --git a/hotspot/src/share/vm/c1/c1_LinearScan.hpp b/hotspot/src/share/vm/c1/c1_LinearScan.hpp index 018570f9c56..3436cb5c2be 100644 --- a/hotspot/src/share/vm/c1/c1_LinearScan.hpp +++ b/hotspot/src/share/vm/c1/c1_LinearScan.hpp @@ -972,6 +972,12 @@ class LinearScanTimers : public StackObj { #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 diff --git a/hotspot/src/share/vm/c1/c1_MacroAssembler.hpp b/hotspot/src/share/vm/c1/c1_MacroAssembler.hpp index 41ee336343e..9887c2af61d 100644 --- a/hotspot/src/share/vm/c1/c1_MacroAssembler.hpp +++ b/hotspot/src/share/vm/c1/c1_MacroAssembler.hpp @@ -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 @@ class C1_MacroAssembler: public MacroAssembler { #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 }; diff --git a/hotspot/src/share/vm/c1/c1_globals.hpp b/hotspot/src/share/vm/c1/c1_globals.hpp index 9b4db1c0f9f..fd890cf7e47 100644 --- a/hotspot/src/share/vm/c1/c1_globals.hpp +++ b/hotspot/src/share/vm/c1/c1_globals.hpp @@ -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 diff --git a/hotspot/src/share/vm/ci/ciEnv.cpp b/hotspot/src/share/vm/ci/ciEnv.cpp index 55dfd0c78e2..14018b4729c 100644 --- a/hotspot/src/share/vm/ci/ciEnv.cpp +++ b/hotspot/src/share/vm/ci/ciEnv.cpp @@ -412,13 +412,17 @@ ciKlass* ciEnv::get_klass_by_name_impl(ciKlass* accessing_klass, fail_type = _unloaded_ciinstance_klass; } KlassHandle found_klass; - if (!require_local) { - klassOop kls = SystemDictionary::find_constrained_instance_or_array_klass( - sym, loader, KILL_COMPILE_ON_FATAL_(fail_type)); - found_klass = KlassHandle(THREAD, kls); - } else { - klassOop kls = SystemDictionary::find_instance_or_array_klass( - sym, loader, domain, KILL_COMPILE_ON_FATAL_(fail_type)); + { + ttyUnlocker ttyul; // release tty lock to avoid ordering problems + MutexLocker ml(Compile_lock); + klassOop kls; + if (!require_local) { + kls = SystemDictionary::find_constrained_instance_or_array_klass(sym, loader, + KILL_COMPILE_ON_FATAL_(fail_type)); + } else { + kls = SystemDictionary::find_instance_or_array_klass(sym, loader, domain, + KILL_COMPILE_ON_FATAL_(fail_type)); + } found_klass = KlassHandle(THREAD, kls); } diff --git a/hotspot/src/share/vm/ci/ciField.cpp b/hotspot/src/share/vm/ci/ciField.cpp index ef12c7c0ce9..82d141af9eb 100644 --- a/hotspot/src/share/vm/ci/ciField.cpp +++ b/hotspot/src/share/vm/ci/ciField.cpp @@ -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 @@ -212,9 +212,9 @@ void ciField::initialize_from(fieldDescriptor* fd) { // may change. The three examples are java.lang.System.in, // java.lang.System.out, and java.lang.System.err. - klassOop k = _holder->get_klassOop(); + Handle k = _holder->get_klassOop(); assert( SystemDictionary::System_klass() != NULL, "Check once per vm"); - if( k == SystemDictionary::System_klass() ) { + if( k() == SystemDictionary::System_klass() ) { // Check offsets for case 2: System.in, System.out, or System.err if( _offset == java_lang_System::in_offset_in_bytes() || _offset == java_lang_System::out_offset_in_bytes() || diff --git a/hotspot/src/share/vm/ci/ciInstanceKlass.cpp b/hotspot/src/share/vm/ci/ciInstanceKlass.cpp index 412f54f6e7f..8143649137e 100644 --- a/hotspot/src/share/vm/ci/ciInstanceKlass.cpp +++ b/hotspot/src/share/vm/ci/ciInstanceKlass.cpp @@ -46,6 +46,7 @@ ciInstanceKlass::ciInstanceKlass(KlassHandle h_k) : ciKlass(h_k), _non_static_fields(NULL) { assert(get_Klass()->oop_is_instance(), "wrong type"); + assert(get_instanceKlass()->is_loaded(), "must be at least loaded"); instanceKlass* ik = get_instanceKlass(); AccessFlags access_flags = ik->access_flags(); diff --git a/hotspot/src/share/vm/classfile/classFileParser.cpp b/hotspot/src/share/vm/classfile/classFileParser.cpp index b71a45c804f..3aacf66ff7b 100644 --- a/hotspot/src/share/vm/classfile/classFileParser.cpp +++ b/hotspot/src/share/vm/classfile/classFileParser.cpp @@ -331,7 +331,7 @@ constantPoolHandle ClassFileParser::parse_constant_pool(TRAPS) { length, CHECK_(nullHandle)); constantPoolOop constant_pool = oopFactory::new_constantPool(length, - methodOopDesc::IsSafeConc, + oopDesc::IsSafeConc, CHECK_(nullHandle)); constantPoolHandle cp (THREAD, constant_pool); @@ -1929,10 +1929,9 @@ methodHandle ClassFileParser::parse_method(constantPoolHandle cp, bool is_interf } // All sizing information for a methodOop is finally available, now create it - methodOop m_oop = oopFactory::new_method( - code_length, access_flags, linenumber_table_length, - total_lvt_length, checked_exceptions_length, - methodOopDesc::IsSafeConc, CHECK_(nullHandle)); + methodOop m_oop = oopFactory::new_method(code_length, access_flags, linenumber_table_length, + total_lvt_length, checked_exceptions_length, + oopDesc::IsSafeConc, CHECK_(nullHandle)); methodHandle m (THREAD, m_oop); ClassLoadingService::add_class_method_size(m_oop->size()*HeapWordSize); diff --git a/hotspot/src/share/vm/classfile/classFileStream.hpp b/hotspot/src/share/vm/classfile/classFileStream.hpp index dfadb7b00db..3c94a1edf1e 100644 --- a/hotspot/src/share/vm/classfile/classFileStream.hpp +++ b/hotspot/src/share/vm/classfile/classFileStream.hpp @@ -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 // diff --git a/hotspot/src/share/vm/classfile/classLoader.cpp b/hotspot/src/share/vm/classfile/classLoader.cpp index 41ca1692139..01ed5c0c174 100644 --- a/hotspot/src/share/vm/classfile/classLoader.cpp +++ b/hotspot/src/share/vm/classfile/classLoader.cpp @@ -1290,6 +1290,15 @@ void ClassLoader::compile_the_world() { int ClassLoader::_compile_the_world_counter = 0; static int _codecache_sweep_counter = 0; +// Filter out all exceptions except OOMs +static void clear_pending_exception_if_not_oom(TRAPS) { + if (HAS_PENDING_EXCEPTION && + !PENDING_EXCEPTION->is_a(SystemDictionary::OutOfMemoryError_klass())) { + CLEAR_PENDING_EXCEPTION; + } + // The CHECK at the caller will propagate the exception out +} + void ClassLoader::compile_the_world_in(char* name, Handle loader, TRAPS) { int len = (int)strlen(name); if (len > 6 && strcmp(".class", name + len - 6) == 0) { @@ -1312,12 +1321,12 @@ void ClassLoader::compile_the_world_in(char* name, Handle loader, TRAPS) { k->initialize(THREAD); } bool exception_occurred = HAS_PENDING_EXCEPTION; - CLEAR_PENDING_EXCEPTION; + clear_pending_exception_if_not_oom(CHECK); if (CompileTheWorldPreloadClasses && k.not_null()) { constantPoolKlass::preload_and_initialize_all_classes(k->constants(), THREAD); if (HAS_PENDING_EXCEPTION) { // If something went wrong in preloading we just ignore it - CLEAR_PENDING_EXCEPTION; + clear_pending_exception_if_not_oom(CHECK); tty->print_cr("Preloading failed for (%d) %s", _compile_the_world_counter, buffer); } } @@ -1344,7 +1353,7 @@ void ClassLoader::compile_the_world_in(char* name, Handle loader, TRAPS) { CompileBroker::compile_method(m, InvocationEntryBci, CompLevel_initial_compile, methodHandle(), 0, "CTW", THREAD); if (HAS_PENDING_EXCEPTION) { - CLEAR_PENDING_EXCEPTION; + clear_pending_exception_if_not_oom(CHECK); tty->print_cr("CompileTheWorld (%d) : Skipping method: %s", _compile_the_world_counter, m->name()->as_C_string()); } if (TieredCompilation) { @@ -1358,7 +1367,7 @@ void ClassLoader::compile_the_world_in(char* name, Handle loader, TRAPS) { CompileBroker::compile_method(m, InvocationEntryBci, CompLevel_full_optimization, methodHandle(), 0, "CTW", THREAD); if (HAS_PENDING_EXCEPTION) { - CLEAR_PENDING_EXCEPTION; + clear_pending_exception_if_not_oom(CHECK); tty->print_cr("CompileTheWorld (%d) : Skipping method: %s", _compile_the_world_counter, m->name()->as_C_string()); } } diff --git a/hotspot/src/share/vm/classfile/loaderConstraints.cpp b/hotspot/src/share/vm/classfile/loaderConstraints.cpp index 1cf77f9dab5..97ab80b3cae 100644 --- a/hotspot/src/share/vm/classfile/loaderConstraints.cpp +++ b/hotspot/src/share/vm/classfile/loaderConstraints.cpp @@ -322,8 +322,14 @@ bool LoaderConstraintTable::check_or_update(instanceKlassHandle k, klassOop LoaderConstraintTable::find_constrained_klass(Symbol* name, Handle loader) { LoaderConstraintEntry *p = *(find_loader_constraint(name, loader)); - if (p != NULL && p->klass() != NULL) + if (p != NULL && p->klass() != NULL) { + if (Klass::cast(p->klass())->oop_is_instance() && !instanceKlass::cast(p->klass())->is_loaded()) { + // Only return fully loaded classes. Classes found through the + // constraints might still be in the process of loading. + return NULL; + } return p->klass(); + } // No constraints, or else no klass loaded yet. return NULL; diff --git a/hotspot/src/share/vm/classfile/stackMapTable.hpp b/hotspot/src/share/vm/classfile/stackMapTable.hpp index 96115b40e15..2d2798a717a 100644 --- a/hotspot/src/share/vm/classfile/stackMapTable.hpp +++ b/hotspot/src/share/vm/classfile/stackMapTable.hpp @@ -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; diff --git a/hotspot/src/share/vm/classfile/systemDictionary.cpp b/hotspot/src/share/vm/classfile/systemDictionary.cpp index 522de398db6..dfe58e18b2c 100644 --- a/hotspot/src/share/vm/classfile/systemDictionary.cpp +++ b/hotspot/src/share/vm/classfile/systemDictionary.cpp @@ -1690,6 +1690,8 @@ klassOop SystemDictionary::try_get_next_class() { void SystemDictionary::add_to_hierarchy(instanceKlassHandle k, TRAPS) { assert(k.not_null(), "just checking"); + assert_locked_or_safepoint(Compile_lock); + // Link into hierachy. Make sure the vtables are initialized before linking into k->append_to_sibling_list(); // add to superklass/sibling list k->process_interfaces(THREAD); // handle all "implements" declarations @@ -2152,6 +2154,9 @@ void SystemDictionary::update_dictionary(int d_index, unsigned int d_hash, } +// Try to find a class name using the loader constraints. The +// loader constraints might know about a class that isn't fully loaded +// yet and these will be ignored. klassOop SystemDictionary::find_constrained_instance_or_array_klass( Symbol* class_name, Handle class_loader, TRAPS) { diff --git a/hotspot/src/share/vm/classfile/verifier.cpp b/hotspot/src/share/vm/classfile/verifier.cpp index 4d5e8257b90..65e6fbf5a54 100644 --- a/hotspot/src/share/vm/classfile/verifier.cpp +++ b/hotspot/src/share/vm/classfile/verifier.cpp @@ -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 diff --git a/hotspot/src/share/vm/classfile/vmSymbols.hpp b/hotspot/src/share/vm/classfile/vmSymbols.hpp index 69670aa9322..d149e3f05b9 100644 --- a/hotspot/src/share/vm/classfile/vmSymbols.hpp +++ b/hotspot/src/share/vm/classfile/vmSymbols.hpp @@ -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 */ \ diff --git a/hotspot/src/share/vm/code/codeBlob.cpp b/hotspot/src/share/vm/code/codeBlob.cpp index 81d09f5cc5c..b90ed8cbdda 100644 --- a/hotspot/src/share/vm/code/codeBlob.cpp +++ b/hotspot/src/share/vm/code/codeBlob.cpp @@ -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 diff --git a/hotspot/src/share/vm/code/compiledIC.hpp b/hotspot/src/share/vm/code/compiledIC.hpp index a5524ca164c..979dcd52300 100644 --- a/hotspot/src/share/vm/code/compiledIC.hpp +++ b/hotspot/src/share/vm/code/compiledIC.hpp @@ -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. diff --git a/hotspot/src/share/vm/code/icBuffer.cpp b/hotspot/src/share/vm/code/icBuffer.cpp index d36f9109efa..90dbf934a47 100644 --- a/hotspot/src/share/vm/code/icBuffer.cpp +++ b/hotspot/src/share/vm/code/icBuffer.cpp @@ -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); diff --git a/hotspot/src/share/vm/code/nmethod.cpp b/hotspot/src/share/vm/code/nmethod.cpp index f7cbc48de84..19a00227690 100644 --- a/hotspot/src/share/vm/code/nmethod.cpp +++ b/hotspot/src/share/vm/code/nmethod.cpp @@ -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 @@ void nmethod::post_compiled_method_load_event() { } 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 @@ void nmethod::post_compiled_method_unload() { // 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 diff --git a/hotspot/src/share/vm/code/nmethod.hpp b/hotspot/src/share/vm/code/nmethod.hpp index 5fa91f46f89..650c654d687 100644 --- a/hotspot/src/share/vm/code/nmethod.hpp +++ b/hotspot/src/share/vm/code/nmethod.hpp @@ -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 @@ public: 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; } diff --git a/hotspot/src/share/vm/code/relocInfo.cpp b/hotspot/src/share/vm/code/relocInfo.cpp index fa63dc7d827..55676b444de 100644 --- a/hotspot/src/share/vm/code/relocInfo.cpp +++ b/hotspot/src/share/vm/code/relocInfo.cpp @@ -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 diff --git a/hotspot/src/share/vm/code/relocInfo.hpp b/hotspot/src/share/vm/code/relocInfo.hpp index c3c4468a71f..e5587b259ed 100644 --- a/hotspot/src/share/vm/code/relocInfo.hpp +++ b/hotspot/src/share/vm/code/relocInfo.hpp @@ -429,6 +429,12 @@ class relocInfo VALUE_OBJ_CLASS_SPEC { #endif #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 diff --git a/hotspot/src/share/vm/code/vmreg.hpp b/hotspot/src/share/vm/code/vmreg.hpp index 1be8ea2f8da..cd00dd42836 100644 --- a/hotspot/src/share/vm/code/vmreg.hpp +++ b/hotspot/src/share/vm/code/vmreg.hpp @@ -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 @@ public: #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 }; diff --git a/hotspot/src/share/vm/compiler/compileBroker.cpp b/hotspot/src/share/vm/compiler/compileBroker.cpp index b8f7ae47383..d12385f2f20 100644 --- a/hotspot/src/share/vm/compiler/compileBroker.cpp +++ b/hotspot/src/share/vm/compiler/compileBroker.cpp @@ -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 @@ -768,7 +768,9 @@ CompilerThread* CompileBroker::make_compiler_thread(const char* name, CompileQue // Initialize the compilation queue void CompileBroker::init_compiler_threads(int c1_compiler_count, int c2_compiler_count) { EXCEPTION_MARK; +#ifndef ZERO assert(c2_compiler_count > 0 || c1_compiler_count > 0, "No compilers?"); +#endif // !ZERO if (c2_compiler_count > 0) { _c2_method_queue = new CompileQueue("C2MethodQueue", MethodCompileQueue_lock); } @@ -1210,7 +1212,17 @@ uint CompileBroker::assign_compile_id(methodHandle method, int osr_bci) { // 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; } diff --git a/hotspot/src/share/vm/compiler/disassembler.cpp b/hotspot/src/share/vm/compiler/disassembler.cpp index f81ce0e686b..4b1ad9ab8bf 100644 --- a/hotspot/src/share/vm/compiler/disassembler.cpp +++ b/hotspot/src/share/vm/compiler/disassembler.cpp @@ -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 diff --git a/hotspot/src/share/vm/compiler/disassembler.hpp b/hotspot/src/share/vm/compiler/disassembler.hpp index f954109228a..03b377065b7 100644 --- a/hotspot/src/share/vm/compiler/disassembler.hpp +++ b/hotspot/src/share/vm/compiler/disassembler.hpp @@ -69,6 +69,12 @@ class Disassembler { #endif #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 diff --git a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp index 953456f5ca2..67cf3c70464 100644 --- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp +++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp @@ -1040,9 +1040,10 @@ const { } else { // must read from what 'p' points to in each loop. klassOop k = ((volatile oopDesc*)p)->klass_or_null(); - if (k != NULL && - ((oopDesc*)p)->is_parsable() && - ((oopDesc*)p)->is_conc_safe()) { + // We trust the size of any object that has a non-NULL + // klass and (for those in the perm gen) is parsable + // -- irrespective of its conc_safe-ty. + if (k != NULL && ((oopDesc*)p)->is_parsable()) { assert(k->is_oop(), "Should really be klass oop."); oop o = (oop)p; assert(o->is_oop(), "Should be an oop"); @@ -1051,6 +1052,7 @@ const { assert(res != 0, "Block size should not be 0"); return res; } else { + // May return 0 if P-bits not present. return c->block_size_if_printezis_bits(p); } } diff --git a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp index 5b1d1eb47f3..e3134fecca3 100644 --- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp +++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp @@ -6360,18 +6360,16 @@ size_t CMSCollector::block_size_using_printezis_bits(HeapWord* addr) const { // A variant of the above (block_size_using_printezis_bits()) except // that we return 0 if the P-bits are not yet set. size_t CMSCollector::block_size_if_printezis_bits(HeapWord* addr) const { - if (_markBitMap.isMarked(addr)) { - assert(_markBitMap.isMarked(addr + 1), "Missing Printezis bit?"); + if (_markBitMap.isMarked(addr + 1)) { + assert(_markBitMap.isMarked(addr), "P-bit can be set only for marked objects"); HeapWord* nextOneAddr = _markBitMap.getNextMarkedWordAddress(addr + 2); size_t size = pointer_delta(nextOneAddr + 1, addr); assert(size == CompactibleFreeListSpace::adjustObjectSize(size), "alignment problem"); assert(size >= 3, "Necessary for Printezis marks to work"); return size; - } else { - assert(!_markBitMap.isMarked(addr + 1), "Bit map inconsistency?"); - return 0; } + return 0; } HeapWord* CMSCollector::next_card_start_after_block(HeapWord* addr) const { @@ -9212,7 +9210,6 @@ bool MarkRefsIntoAndScanClosure::take_from_overflow_list() { size_t MarkDeadObjectsClosure::do_blk(HeapWord* addr) { size_t res = _sp->block_size_no_stall(addr, _collector); - assert(res != 0, "Should always be able to compute a size"); if (_sp->block_is_obj(addr)) { if (_live_bit_map->isMarked(addr)) { // It can't have been dead in a previous cycle @@ -9221,6 +9218,7 @@ size_t MarkDeadObjectsClosure::do_blk(HeapWord* addr) { _dead_bit_map->mark(addr); // mark the dead object } } + // Could be 0, if the block size could not be computed without stalling. return res; } diff --git a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.hpp b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.hpp index 8c2fc490a2f..51d6e208875 100644 --- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.hpp +++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.hpp @@ -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 @@ -132,8 +132,7 @@ class VM_GenCollectFullConcurrent: public VM_GC_Operation { VM_GenCollectFullConcurrent(unsigned int gc_count_before, unsigned int full_gc_count_before, GCCause::Cause gc_cause) - : VM_GC_Operation(gc_count_before, full_gc_count_before, true /* full */) { - _gc_cause = gc_cause; + : VM_GC_Operation(gc_count_before, gc_cause, full_gc_count_before, true /* full */) { assert(FullGCCount_lock != NULL, "Error"); assert(UseAsyncConcMarkSweepGC, "Else will hang caller"); } diff --git a/hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp b/hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp index d26530323d2..c0d968aa8f4 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp @@ -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 @@ void ConcurrentG1Refine::init() { 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"); diff --git a/hotspot/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp b/hotspot/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp index 91fdd4a1996..5ff79ac6122 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp @@ -251,6 +251,14 @@ void ConcurrentMarkThread::run() { // 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 @@ void ConcurrentMarkThread::run() { 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"); diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp index 3d3522461a5..a4f01adf0aa 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp @@ -546,8 +546,11 @@ HeapRegion* G1CollectedHeap::new_region_work(size_t word_size, 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 @@ HeapWord* G1CollectedHeap::humongous_obj_allocate(size_t word_size) { 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 @@ resize_if_necessary_after_full_collection(size_t word_size) { 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 @@ HeapWord* G1CollectedHeap::expand_and_allocate(size_t word_size) { verify_region_sets_optional(); - size_t expand_bytes = word_size * HeapWordSize; - if (expand_bytes < MinHeapDeltaBytes) { - expand_bytes = MinHeapDeltaBytes; + 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 */); } - 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 @@ jint G1CollectedHeap::initialize() { 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::large_typearray_limit() { } 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 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) { 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 @@ void G1CollectedHeap::get_gc_alloc_regions() { 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::n_regions() { 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; } diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp index 4bad5fd4320..e3185856948 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp @@ -619,8 +619,10 @@ protected: 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 @@ public: // 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 diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp index 63a5d63c780..ff3c55acc4b 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp @@ -2011,7 +2011,7 @@ size_t G1CollectorPolicy::expansion_amount() { // 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; diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp index 622028c402d..48d3dbd100c 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp @@ -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 @@ bool G1RemSet::concurrentRefineOneCard_impl(jbyte* card_ptr, int worker_i, 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 diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp index 0e5d2318953..19a8338c6e6 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp @@ -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) diff --git a/hotspot/src/share/vm/gc_implementation/g1/vm_operations_g1.hpp b/hotspot/src/share/vm/gc_implementation/g1/vm_operations_g1.hpp index 1fc31d51dc4..825818dd4e6 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/vm_operations_g1.hpp +++ b/hotspot/src/share/vm/gc_implementation/g1/vm_operations_g1.hpp @@ -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 @@ -44,7 +44,7 @@ protected: public: VM_G1OperationWithAllocRequest(unsigned int gc_count_before, size_t word_size) - : VM_GC_Operation(gc_count_before), + : VM_GC_Operation(gc_count_before, GCCause::_allocation_failure), _word_size(word_size), _result(NULL), _pause_succeeded(false) { } HeapWord* result() { return _result; } bool pause_succeeded() { return _pause_succeeded; } @@ -55,9 +55,7 @@ public: VM_G1CollectFull(unsigned int gc_count_before, unsigned int full_gc_count_before, GCCause::Cause cause) - : VM_GC_Operation(gc_count_before, full_gc_count_before) { - _gc_cause = cause; - } + : VM_GC_Operation(gc_count_before, cause, full_gc_count_before) { } virtual VMOp_Type type() const { return VMOp_G1CollectFull; } virtual void doit(); virtual const char* name() const { diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp index 5eebf243751..98a9c957330 100644 --- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp +++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp @@ -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 @@ -112,9 +112,12 @@ jint ParallelScavengeHeap::initialize() { yg_cur_size = MAX2(yg_cur_size, yg_min_size); og_min_size = align_size_up(og_min_size, og_align); - og_max_size = align_size_up(og_max_size, og_align); + // Align old gen size down to preserve specified heap size. + assert(og_align == yg_align, "sanity"); + og_max_size = align_size_down(og_max_size, og_align); + og_max_size = MAX2(og_max_size, og_min_size); size_t og_cur_size = - align_size_up(_collector_policy->old_gen_size(), og_align); + align_size_down(_collector_policy->old_gen_size(), og_align); og_cur_size = MAX2(og_cur_size, og_min_size); pg_min_size = align_size_up(pg_min_size, pg_align); diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp index e69730202d5..0e2c6477aff 100644 --- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp +++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp @@ -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 @@ -1196,11 +1196,6 @@ class PSParallelCompact : AllStatic { static inline void adjust_pointer(oop* p) { adjust_pointer(p, false); } static inline void adjust_pointer(narrowOop* p) { adjust_pointer(p, false); } - template - static inline void adjust_pointer(T* p, - HeapWord* beg_addr, - HeapWord* end_addr); - // Reference Processing static ReferenceProcessor* const ref_processor() { return _ref_processor; } @@ -1408,15 +1403,6 @@ inline bool PSParallelCompact::should_update_klass(klassOop k) { return ((HeapWord*) k) >= dense_prefix(perm_space_id); } -template -inline void PSParallelCompact::adjust_pointer(T* p, - HeapWord* beg_addr, - HeapWord* end_addr) { - if (is_in((HeapWord*)p, beg_addr, end_addr)) { - adjust_pointer(p); - } -} - #ifdef ASSERT inline void PSParallelCompact::check_new_location(HeapWord* old_addr, HeapWord* new_addr) diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/vmPSOperations.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/vmPSOperations.cpp index 0f122a97b57..8a8419fef7f 100644 --- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/vmPSOperations.cpp +++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/vmPSOperations.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 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 @@ -34,7 +34,7 @@ // The following methods are used by the parallel scavenge collector VM_ParallelGCFailedAllocation::VM_ParallelGCFailedAllocation(size_t size, bool is_tlab, unsigned int gc_count) : - VM_GC_Operation(gc_count), + VM_GC_Operation(gc_count, GCCause::_allocation_failure), _size(size), _is_tlab(is_tlab), _result(NULL) @@ -57,7 +57,7 @@ void VM_ParallelGCFailedAllocation::doit() { VM_ParallelGCFailedPermanentAllocation::VM_ParallelGCFailedPermanentAllocation(size_t size, unsigned int gc_count, unsigned int full_gc_count) : - VM_GC_Operation(gc_count, full_gc_count, true /* full */), + VM_GC_Operation(gc_count, GCCause::_allocation_failure, full_gc_count, true /* full */), _size(size), _result(NULL) { @@ -80,9 +80,8 @@ void VM_ParallelGCFailedPermanentAllocation::doit() { VM_ParallelGCSystemGC::VM_ParallelGCSystemGC(unsigned int gc_count, unsigned int full_gc_count, GCCause::Cause gc_cause) : - VM_GC_Operation(gc_count, full_gc_count, true /* full */) + VM_GC_Operation(gc_count, gc_cause, full_gc_count, true /* full */) { - _gc_cause = gc_cause; } void VM_ParallelGCSystemGC::doit() { diff --git a/hotspot/src/share/vm/gc_implementation/shared/allocationStats.hpp b/hotspot/src/share/vm/gc_implementation/shared/allocationStats.hpp index b2d410ad617..4e089c14cde 100644 --- a/hotspot/src/share/vm/gc_implementation/shared/allocationStats.hpp +++ b/hotspot/src/share/vm/gc_implementation/shared/allocationStats.hpp @@ -116,10 +116,8 @@ class AllocationStats VALUE_OBJ_CLASS_SPEC { _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); diff --git a/hotspot/src/share/vm/gc_implementation/shared/gcUtil.cpp b/hotspot/src/share/vm/gc_implementation/shared/gcUtil.cpp index 267f73d3b99..caa6efed1c8 100644 --- a/hotspot/src/share/vm/gc_implementation/shared/gcUtil.cpp +++ b/hotspot/src/share/vm/gc_implementation/shared/gcUtil.cpp @@ -106,8 +106,8 @@ void AdaptivePaddedNoZeroDevAverage::sample(float new_sample) { } 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; diff --git a/hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.cpp b/hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.cpp index 5799550d114..0828c9ca7c2 100644 --- a/hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.cpp +++ b/hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.cpp @@ -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 @@ -87,6 +87,8 @@ bool VM_GC_Operation::skip_operation() const { bool VM_GC_Operation::doit_prologue() { assert(Thread::current()->is_Java_thread(), "just checking"); + assert(((_gc_cause != GCCause::_no_gc) && + (_gc_cause != GCCause::_no_cause_specified)), "Illegal GCCause"); acquire_pending_list_lock(); // If the GC count has changed someone beat us to the collection diff --git a/hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.hpp b/hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.hpp index 1a828facadc..a7dd82ca4a5 100644 --- a/hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.hpp +++ b/hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.hpp @@ -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 @@ -85,6 +85,7 @@ class VM_GC_Operation: public VM_Operation { public: VM_GC_Operation(unsigned int gc_count_before, + GCCause::Cause _cause, unsigned int full_gc_count_before = 0, bool full = false) { _full = full; @@ -92,7 +93,7 @@ class VM_GC_Operation: public VM_Operation { _gc_count_before = gc_count_before; // A subclass constructor will likely overwrite the following - _gc_cause = GCCause::_no_cause_specified; + _gc_cause = _cause; _gc_locked = false; @@ -136,6 +137,7 @@ class VM_GC_HeapInspection: public VM_GC_Operation { VM_GC_HeapInspection(outputStream* out, bool request_full_gc, bool need_prologue) : VM_GC_Operation(0 /* total collections, dummy, ignored */, + GCCause::_heap_inspection /* GC Cause */, 0 /* total full collections, dummy, ignored */, request_full_gc) { _out = out; @@ -160,7 +162,7 @@ class VM_GenCollectForAllocation: public VM_GC_Operation { VM_GenCollectForAllocation(size_t size, bool tlab, unsigned int gc_count_before) - : VM_GC_Operation(gc_count_before), + : VM_GC_Operation(gc_count_before, GCCause::_allocation_failure), _size(size), _tlab(tlab) { _res = NULL; @@ -182,9 +184,8 @@ class VM_GenCollectFull: public VM_GC_Operation { unsigned int full_gc_count_before, GCCause::Cause gc_cause, int max_level) - : VM_GC_Operation(gc_count_before, full_gc_count_before, true /* full */), - _max_level(max_level) - { _gc_cause = gc_cause; } + : VM_GC_Operation(gc_count_before, gc_cause, full_gc_count_before, true /* full */), + _max_level(max_level) { } ~VM_GenCollectFull() {} virtual VMOp_Type type() const { return VMOp_GenCollectFull; } virtual void doit(); @@ -199,7 +200,7 @@ class VM_GenCollectForPermanentAllocation: public VM_GC_Operation { unsigned int gc_count_before, unsigned int full_gc_count_before, GCCause::Cause gc_cause) - : VM_GC_Operation(gc_count_before, full_gc_count_before, true), + : VM_GC_Operation(gc_count_before, gc_cause, full_gc_count_before, true), _size(size) { _res = NULL; _gc_cause = gc_cause; diff --git a/hotspot/src/share/vm/gc_interface/collectedHeap.cpp b/hotspot/src/share/vm/gc_interface/collectedHeap.cpp index 83a6777b7e2..6ffd07c97cb 100644 --- a/hotspot/src/share/vm/gc_interface/collectedHeap.cpp +++ b/hotspot/src/share/vm/gc_interface/collectedHeap.cpp @@ -100,8 +100,7 @@ void CollectedHeap::check_for_bad_heap_word_value(HeapWord* addr, size_t size) { } } -void CollectedHeap::check_for_non_bad_heap_word_value(HeapWord* addr, size_t size) - { +void CollectedHeap::check_for_non_bad_heap_word_value(HeapWord* addr, size_t size) { if (CheckMemoryInitialization && ZapUnusedHeapArea) { for (size_t slot = 0; slot < size; slot += 1) { assert((*(intptr_t*) (addr + slot)) == ((intptr_t) badHeapWordVal), diff --git a/hotspot/src/share/vm/gc_interface/gcCause.cpp b/hotspot/src/share/vm/gc_interface/gcCause.cpp index 5868cd9c958..358b6b19e2f 100644 --- a/hotspot/src/share/vm/gc_interface/gcCause.cpp +++ b/hotspot/src/share/vm/gc_interface/gcCause.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 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 @@ -92,28 +92,3 @@ const char* GCCause::to_string(GCCause::Cause cause) { } ShouldNotReachHere(); } - -#ifndef PRODUCT - -bool GCCause::is_for_full_collection(GCCause::Cause cause) { - bool result; - - // There are more GCCause::Cause types than listed here. - // For brevity, we list only those that cause full collections. - switch (cause) { - case _allocation_failure: - case _tenured_generation_full: - case _permanent_generation_full: - case _cms_generation_full: - case _last_ditch_collection: - result = true; - break; - - default: - result = false; - break; - } - return result; -} - -#endif // PRODUCT diff --git a/hotspot/src/share/vm/gc_interface/gcCause.hpp b/hotspot/src/share/vm/gc_interface/gcCause.hpp index af40d989350..fc49e306bbc 100644 --- a/hotspot/src/share/vm/gc_interface/gcCause.hpp +++ b/hotspot/src/share/vm/gc_interface/gcCause.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 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 @@ -85,8 +85,6 @@ class GCCause : public AllStatic { // Return a string describing the GCCause. static const char* to_string(GCCause::Cause cause); - // Return true if the GCCause is for a full collection. - static bool is_for_full_collection(GCCause::Cause cause) PRODUCT_RETURN0; }; #endif // SHARE_VM_GC_INTERFACE_GCCAUSE_HPP diff --git a/hotspot/src/share/vm/interpreter/abstractInterpreter.hpp b/hotspot/src/share/vm/interpreter/abstractInterpreter.hpp index 73eae232dc9..2dd19992785 100644 --- a/hotspot/src/share/vm/interpreter/abstractInterpreter.hpp +++ b/hotspot/src/share/vm/interpreter/abstractInterpreter.hpp @@ -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 diff --git a/hotspot/src/share/vm/interpreter/bytecode.hpp b/hotspot/src/share/vm/interpreter/bytecode.hpp index b798c9a7a1b..7fb50dffb99 100644 --- a/hotspot/src/share/vm/interpreter/bytecode.hpp +++ b/hotspot/src/share/vm/interpreter/bytecode.hpp @@ -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; diff --git a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp index c214457b4f4..a5512f14176 100644 --- a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp +++ b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp @@ -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 @@ -1936,7 +1942,7 @@ run: constantPoolOop constants = istate->method()->constants(); if (!constants->tag_at(index).is_unresolved_klass()) { // Make sure klass is initialized and doesn't have a finalizer - oop entry = (klassOop) *constants->obj_at_addr(index); + oop entry = constants->slot_at(index).get_oop(); assert(entry->is_klass(), "Should be resolved klass"); klassOop k_entry = (klassOop) entry; assert(k_entry->klass_part()->oop_is_instance(), "Should be instanceKlass"); @@ -2026,7 +2032,7 @@ run: if (METHOD->constants()->tag_at(index).is_unresolved_klass()) { CALL_VM(InterpreterRuntime::quicken_io_cc(THREAD), handle_exception); } - klassOop klassOf = (klassOop) *(METHOD->constants()->obj_at_addr(index)); + klassOop klassOf = (klassOop) METHOD->constants()->slot_at(index).get_oop(); klassOop objKlassOop = STACK_OBJECT(-1)->klass(); //ebx // // Check for compatibilty. This check must not GC!! @@ -2061,7 +2067,7 @@ run: if (METHOD->constants()->tag_at(index).is_unresolved_klass()) { CALL_VM(InterpreterRuntime::quicken_io_cc(THREAD), handle_exception); } - klassOop klassOf = (klassOop) *(METHOD->constants()->obj_at_addr(index)); + klassOop klassOf = (klassOop) METHOD->constants()->slot_at(index).get_oop(); klassOop objKlassOop = STACK_OBJECT(-1)->klass(); // // Check for compatibilty. This check must not GC!! diff --git a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp index 636a070d668..1f59ee47ceb 100644 --- a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp +++ b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp @@ -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 @@ void print(); #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 diff --git a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.inline.hpp b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.inline.hpp index d0dcf6ce7b7..c0dc4b61b40 100644 --- a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.inline.hpp +++ b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.inline.hpp @@ -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 diff --git a/hotspot/src/share/vm/interpreter/bytecodeStream.hpp b/hotspot/src/share/vm/interpreter/bytecodeStream.hpp index 05e4e64d088..532a05632ad 100644 --- a/hotspot/src/share/vm/interpreter/bytecodeStream.hpp +++ b/hotspot/src/share/vm/interpreter/bytecodeStream.hpp @@ -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. diff --git a/hotspot/src/share/vm/interpreter/bytecodes.cpp b/hotspot/src/share/vm/interpreter/bytecodes.cpp index 45c42bb592e..5e4b9dcee2a 100644 --- a/hotspot/src/share/vm/interpreter/bytecodes.cpp +++ b/hotspot/src/share/vm/interpreter/bytecodes.cpp @@ -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)) diff --git a/hotspot/src/share/vm/interpreter/bytecodes.hpp b/hotspot/src/share/vm/interpreter/bytecodes.hpp index 29313cd44b6..6194ad62134 100644 --- a/hotspot/src/share/vm/interpreter/bytecodes.hpp +++ b/hotspot/src/share/vm/interpreter/bytecodes.hpp @@ -293,6 +293,12 @@ class Bytecodes: AllStatic { #endif #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 diff --git a/hotspot/src/share/vm/interpreter/cppInterpreter.hpp b/hotspot/src/share/vm/interpreter/cppInterpreter.hpp index c428634ecac..45d7921c07f 100644 --- a/hotspot/src/share/vm/interpreter/cppInterpreter.hpp +++ b/hotspot/src/share/vm/interpreter/cppInterpreter.hpp @@ -90,6 +90,12 @@ class CppInterpreter: public AbstractInterpreter { #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 }; diff --git a/hotspot/src/share/vm/interpreter/cppInterpreterGenerator.hpp b/hotspot/src/share/vm/interpreter/cppInterpreterGenerator.hpp index fa0b785c3c5..b324f953e30 100644 --- a/hotspot/src/share/vm/interpreter/cppInterpreterGenerator.hpp +++ b/hotspot/src/share/vm/interpreter/cppInterpreterGenerator.hpp @@ -53,6 +53,12 @@ class CppInterpreterGenerator: public AbstractInterpreterGenerator { #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 }; diff --git a/hotspot/src/share/vm/interpreter/interpreter.hpp b/hotspot/src/share/vm/interpreter/interpreter.hpp index 9de4afa6ade..698a2edcd8f 100644 --- a/hotspot/src/share/vm/interpreter/interpreter.hpp +++ b/hotspot/src/share/vm/interpreter/interpreter.hpp @@ -152,6 +152,12 @@ class Interpreter: public CC_INTERP_ONLY(CppInterpreter) NOT_CC_INTERP(TemplateI #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 }; diff --git a/hotspot/src/share/vm/interpreter/interpreterGenerator.hpp b/hotspot/src/share/vm/interpreter/interpreterGenerator.hpp index 1030248f4ec..1a228e20795 100644 --- a/hotspot/src/share/vm/interpreter/interpreterGenerator.hpp +++ b/hotspot/src/share/vm/interpreter/interpreterGenerator.hpp @@ -50,6 +50,12 @@ InterpreterGenerator(StubQueue* _code); #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 }; diff --git a/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp b/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp index b6ece3c2421..a5e92ee13c8 100644 --- a/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp +++ b/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp @@ -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 @@ void SignatureHandlerLibrary::add(methodHandle method) { 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 @@ void SignatureHandlerLibrary::add(methodHandle method) { // 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 } diff --git a/hotspot/src/share/vm/interpreter/interpreterRuntime.hpp b/hotspot/src/share/vm/interpreter/interpreterRuntime.hpp index 84b3910224b..caa9068af33 100644 --- a/hotspot/src/share/vm/interpreter/interpreterRuntime.hpp +++ b/hotspot/src/share/vm/interpreter/interpreterRuntime.hpp @@ -156,6 +156,12 @@ class InterpreterRuntime: AllStatic { #endif #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 diff --git a/hotspot/src/share/vm/interpreter/rewriter.cpp b/hotspot/src/share/vm/interpreter/rewriter.cpp index e80216c79c1..3bdebda0941 100644 --- a/hotspot/src/share/vm/interpreter/rewriter.cpp +++ b/hotspot/src/share/vm/interpreter/rewriter.cpp @@ -67,13 +67,11 @@ void Rewriter::compute_index_maps() { // Creates a constant pool cache given a CPC map -// This creates the constant pool cache initially in a state -// that is unsafe for concurrent GC processing but sets it to -// a safe mode before the constant pool cache is returned. void Rewriter::make_constant_pool_cache(TRAPS) { const int length = _cp_cache_map.length(); constantPoolCacheOop cache = - oopFactory::new_constantPoolCache(length, methodOopDesc::IsUnsafeConc, CHECK); + oopFactory::new_constantPoolCache(length, CHECK); + No_Safepoint_Verifier nsv; cache->initialize(_cp_cache_map); // Don't bother with the next pass if there is no JVM_CONSTANT_InvokeDynamic. diff --git a/hotspot/src/share/vm/interpreter/templateInterpreter.hpp b/hotspot/src/share/vm/interpreter/templateInterpreter.hpp index 73b02b57f33..40717ec5677 100644 --- a/hotspot/src/share/vm/interpreter/templateInterpreter.hpp +++ b/hotspot/src/share/vm/interpreter/templateInterpreter.hpp @@ -192,6 +192,12 @@ class TemplateInterpreter: public AbstractInterpreter { #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 }; diff --git a/hotspot/src/share/vm/interpreter/templateInterpreterGenerator.hpp b/hotspot/src/share/vm/interpreter/templateInterpreterGenerator.hpp index 3d92fff0454..dc63589ed42 100644 --- a/hotspot/src/share/vm/interpreter/templateInterpreterGenerator.hpp +++ b/hotspot/src/share/vm/interpreter/templateInterpreterGenerator.hpp @@ -96,6 +96,12 @@ class TemplateInterpreterGenerator: public AbstractInterpreterGenerator { #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 }; diff --git a/hotspot/src/share/vm/interpreter/templateTable.hpp b/hotspot/src/share/vm/interpreter/templateTable.hpp index 0bca2dcd348..d38623247e4 100644 --- a/hotspot/src/share/vm/interpreter/templateTable.hpp +++ b/hotspot/src/share/vm/interpreter/templateTable.hpp @@ -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 @@ class TemplateTable: AllStatic { #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 */ diff --git a/hotspot/src/share/vm/libadt/vectset.cpp b/hotspot/src/share/vm/libadt/vectset.cpp index 1dd9f4e26e3..93cb48d69d5 100644 --- a/hotspot/src/share/vm/libadt/vectset.cpp +++ b/hotspot/src/share/vm/libadt/vectset.cpp @@ -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 @@ -350,28 +350,11 @@ int VectorSet::hash() const return (int)_xor; } -//------------------------------iterate---------------------------------------- -SetI_ *VectorSet::iterate(uint &elem) const -{ - VSetI_ *foo = (new(ResourceObj::C_HEAP) VSetI_(this)); - elem = foo->next(); - return foo; -} - //============================================================================= -//------------------------------VSetI_----------------------------------------- -// Initialize the innards of a VectorSet iterator -VSetI_::VSetI_( const VectorSet *vset ) : s(vset) -{ - i = (uint)-1L; - j = (uint)-1L; - mask = (unsigned)(1L<<31); -} - //------------------------------next------------------------------------------- // Find and return the next element of a vector set, or return garbage and -// make "VSetI_::test()" fail. -uint VSetI_::next(void) +// make "VectorSetI::test()" fail. +uint VectorSetI::next(void) { j++; // Next element in word mask = (mask & max_jint) << 1;// Next bit in word diff --git a/hotspot/src/share/vm/libadt/vectset.hpp b/hotspot/src/share/vm/libadt/vectset.hpp index 22c97b2a22d..c184773ca15 100644 --- a/hotspot/src/share/vm/libadt/vectset.hpp +++ b/hotspot/src/share/vm/libadt/vectset.hpp @@ -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 @@ -98,6 +98,9 @@ public: uint Size(void) const; // Number of elements in the Set. void Sort(void); // Sort before iterating int hash() const; // Hash function + void Reset(void) { // Reset a set + memset( data, 0, size*sizeof(uint32) ); + } /* Removed for MCC BUG operator const VectorSet* (void) const { return this; } */ @@ -148,8 +151,7 @@ public: private: - friend class VSetI_; - SetI_ *iterate(uint&) const; + SetI_ *iterate(uint&) const { ShouldNotCallThis(); return NULL; } // Removed }; //------------------------------Iteration-------------------------------------- @@ -158,22 +160,26 @@ private: // or may not be iterated over; untouched elements will be affected once. // Usage: for( VectorSetI i(s); i.test(); i++ ) { body = i.elem; } -class VSetI_ : public SetI_ { +class VectorSetI : public StackObj { friend class VectorSet; - friend class VectorSetI; const VectorSet *s; uint i, j; uint32 mask; - VSetI_(const VectorSet *vset); uint next(void); + +public: + uint elem; // The publically accessible element + + VectorSetI( const VectorSet *vset ) : + s(vset), + i((uint)-1L), + j((uint)-1L), + mask((unsigned)(1L<<31)) { + elem = next(); + } + + void operator ++(void) { elem = next(); } int test(void) { return i < s->size; } }; -class VectorSetI : public SetI { -public: - VectorSetI( const VectorSet *s ) : SetI(s) { } - void operator ++(void) { elem = ((VSetI_*)impl)->next(); } - int test(void) { return ((VSetI_*)impl)->test(); } -}; - #endif // SHARE_VM_LIBADT_VECTSET_HPP diff --git a/hotspot/src/share/vm/memory/allocation.cpp b/hotspot/src/share/vm/memory/allocation.cpp index d334d4d8785..02197c5b684 100644 --- a/hotspot/src/share/vm/memory/allocation.cpp +++ b/hotspot/src/share/vm/memory/allocation.cpp @@ -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 @@ -157,7 +157,7 @@ ResourceObj::~ResourceObj() { void trace_heap_malloc(size_t size, const char* name, void* p) { // A lock is not needed here - tty uses a lock internally - tty->print_cr("Heap malloc " INTPTR_FORMAT " %7d %s", p, size, name == NULL ? "" : name); + tty->print_cr("Heap malloc " INTPTR_FORMAT " " SIZE_FORMAT " %s", p, size, name == NULL ? "" : name); } @@ -573,22 +573,27 @@ void AllocatedObj::print_value_on(outputStream* st) const { st->print("AllocatedObj(" INTPTR_FORMAT ")", this); } -size_t Arena::_bytes_allocated = 0; +julong Arena::_bytes_allocated = 0; + +void Arena::inc_bytes_allocated(size_t x) { inc_stat_counter(&_bytes_allocated, x); } AllocStats::AllocStats() { - start_mallocs = os::num_mallocs; - start_frees = os::num_frees; + start_mallocs = os::num_mallocs; + start_frees = os::num_frees; start_malloc_bytes = os::alloc_bytes; - start_res_bytes = Arena::_bytes_allocated; + start_mfree_bytes = os::free_bytes; + start_res_bytes = Arena::_bytes_allocated; } -int AllocStats::num_mallocs() { return os::num_mallocs - start_mallocs; } -size_t AllocStats::alloc_bytes() { return os::alloc_bytes - start_malloc_bytes; } -size_t AllocStats::resource_bytes() { return Arena::_bytes_allocated - start_res_bytes; } -int AllocStats::num_frees() { return os::num_frees - start_frees; } +julong AllocStats::num_mallocs() { return os::num_mallocs - start_mallocs; } +julong AllocStats::alloc_bytes() { return os::alloc_bytes - start_malloc_bytes; } +julong AllocStats::num_frees() { return os::num_frees - start_frees; } +julong AllocStats::free_bytes() { return os::free_bytes - start_mfree_bytes; } +julong AllocStats::resource_bytes() { return Arena::_bytes_allocated - start_res_bytes; } void AllocStats::print() { - tty->print("%d mallocs (%ldK), %d frees, %ldK resrc", - num_mallocs(), alloc_bytes()/K, num_frees(), resource_bytes()/K); + tty->print_cr(UINT64_FORMAT " mallocs (" UINT64_FORMAT "MB), " + UINT64_FORMAT" frees (" UINT64_FORMAT "MB), " UINT64_FORMAT "MB resrc", + num_mallocs(), alloc_bytes()/M, num_frees(), free_bytes()/M, resource_bytes()/M); } diff --git a/hotspot/src/share/vm/memory/allocation.hpp b/hotspot/src/share/vm/memory/allocation.hpp index c3eb1a5c49d..2c6845cd9f4 100644 --- a/hotspot/src/share/vm/memory/allocation.hpp +++ b/hotspot/src/share/vm/memory/allocation.hpp @@ -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 @@ -202,10 +202,11 @@ protected: char *_hwm, *_max; // High water mark and max in current chunk void* grow(size_t x); // Get a new Chunk of at least size x NOT_PRODUCT(size_t _size_in_bytes;) // Size of arena (used for memory usage tracing) - NOT_PRODUCT(static size_t _bytes_allocated;) // total #bytes allocated since start + NOT_PRODUCT(static julong _bytes_allocated;) // total #bytes allocated since start friend class AllocStats; debug_only(void* malloc(size_t size);) debug_only(void* internal_malloc_4(size_t x);) + NOT_PRODUCT(void inc_bytes_allocated(size_t x);) public: Arena(); Arena(size_t init_size); @@ -219,7 +220,7 @@ protected: assert(is_power_of_2(ARENA_AMALLOC_ALIGNMENT) , "should be a power of 2"); x = ARENA_ALIGN(x); debug_only(if (UseMallocOnly) return malloc(x);) - NOT_PRODUCT(_bytes_allocated += x); + NOT_PRODUCT(inc_bytes_allocated(x);) if (_hwm + x > _max) { return grow(x); } else { @@ -232,7 +233,7 @@ protected: void *Amalloc_4(size_t x) { assert( (x&(sizeof(char*)-1)) == 0, "misaligned size" ); debug_only(if (UseMallocOnly) return malloc(x);) - NOT_PRODUCT(_bytes_allocated += x); + NOT_PRODUCT(inc_bytes_allocated(x);) if (_hwm + x > _max) { return grow(x); } else { @@ -252,7 +253,7 @@ protected: size_t delta = (((size_t)_hwm + DALIGN_M1) & ~DALIGN_M1) - (size_t)_hwm; x += delta; #endif - NOT_PRODUCT(_bytes_allocated += x); + NOT_PRODUCT(inc_bytes_allocated(x);) if (_hwm + x > _max) { return grow(x); // grow() returns a result aligned >= 8 bytes. } else { @@ -406,15 +407,16 @@ extern bool warn_new_operator; // for statistics #ifndef PRODUCT class AllocStats : StackObj { - int start_mallocs, start_frees; - size_t start_malloc_bytes, start_res_bytes; + julong start_mallocs, start_frees; + julong start_malloc_bytes, start_mfree_bytes, start_res_bytes; public: AllocStats(); - int num_mallocs(); // since creation of receiver - size_t alloc_bytes(); - size_t resource_bytes(); - int num_frees(); + julong num_mallocs(); // since creation of receiver + julong alloc_bytes(); + julong num_frees(); + julong free_bytes(); + julong resource_bytes(); void print(); }; #endif diff --git a/hotspot/src/share/vm/memory/allocation.inline.hpp b/hotspot/src/share/vm/memory/allocation.inline.hpp index 19bac7475e4..795016df838 100644 --- a/hotspot/src/share/vm/memory/allocation.inline.hpp +++ b/hotspot/src/share/vm/memory/allocation.inline.hpp @@ -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 @@ -32,6 +32,20 @@ void trace_heap_malloc(size_t size, const char* name, void *p); void trace_heap_free(void *p); +#ifndef PRODUCT +// Increments unsigned long value for statistics (not atomic on MP). +inline void inc_stat_counter(volatile julong* dest, julong add_value) { +#if defined(SPARC) || defined(X86) + // Sparc and X86 have atomic jlong (8 bytes) instructions + julong value = Atomic::load((volatile jlong*)dest); + value += add_value; + Atomic::store((jlong)value, (volatile jlong*)dest); +#else + // possible word-tearing during load/store + *dest += add_value; +#endif +} +#endif // allocate using malloc; will fail if no memory available inline char* AllocateHeap(size_t size, const char* name = NULL) { diff --git a/hotspot/src/share/vm/memory/oopFactory.cpp b/hotspot/src/share/vm/memory/oopFactory.cpp index f737bfdadea..c8b45b68a04 100644 --- a/hotspot/src/share/vm/memory/oopFactory.cpp +++ b/hotspot/src/share/vm/memory/oopFactory.cpp @@ -111,10 +111,9 @@ constantPoolOop oopFactory::new_constantPool(int length, constantPoolCacheOop oopFactory::new_constantPoolCache(int length, - bool is_conc_safe, TRAPS) { constantPoolCacheKlass* ck = constantPoolCacheKlass::cast(Universe::constantPoolCacheKlassObj()); - return ck->allocate(length, is_conc_safe, CHECK_NULL); + return ck->allocate(length, CHECK_NULL); } diff --git a/hotspot/src/share/vm/memory/oopFactory.hpp b/hotspot/src/share/vm/memory/oopFactory.hpp index da01364d038..49b89bc3b17 100644 --- a/hotspot/src/share/vm/memory/oopFactory.hpp +++ b/hotspot/src/share/vm/memory/oopFactory.hpp @@ -69,7 +69,6 @@ class oopFactory: AllStatic { bool is_conc_safe, TRAPS); static constantPoolCacheOop new_constantPoolCache(int length, - bool is_conc_safe, TRAPS); // Instance classes diff --git a/hotspot/src/share/vm/oops/arrayKlassKlass.cpp b/hotspot/src/share/vm/oops/arrayKlassKlass.cpp index a27e62f10ac..5215d146ce2 100644 --- a/hotspot/src/share/vm/oops/arrayKlassKlass.cpp +++ b/hotspot/src/share/vm/oops/arrayKlassKlass.cpp @@ -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 @@ -128,27 +128,6 @@ int arrayKlassKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) { } return klassKlass::oop_update_pointers(cm, obj); } - -int -arrayKlassKlass::oop_update_pointers(ParCompactionManager* cm, oop obj, - HeapWord* beg_addr, HeapWord* end_addr) { - assert(obj->is_klass(), "must be klass"); - arrayKlass* ak = arrayKlass::cast(klassOop(obj)); - - oop* p; - p = ak->adr_component_mirror(); - PSParallelCompact::adjust_pointer(p, beg_addr, end_addr); - p = ak->adr_lower_dimension(); - PSParallelCompact::adjust_pointer(p, beg_addr, end_addr); - p = ak->adr_higher_dimension(); - PSParallelCompact::adjust_pointer(p, beg_addr, end_addr); - - { - HandleMark hm; - ak->vtable()->oop_update_pointers(cm, beg_addr, end_addr); - } - return klassKlass::oop_update_pointers(cm, obj, beg_addr, end_addr); -} #endif // SERIALGC // Printing diff --git a/hotspot/src/share/vm/oops/compiledICHolderKlass.cpp b/hotspot/src/share/vm/oops/compiledICHolderKlass.cpp index f91716d1254..6f982bf99b0 100644 --- a/hotspot/src/share/vm/oops/compiledICHolderKlass.cpp +++ b/hotspot/src/share/vm/oops/compiledICHolderKlass.cpp @@ -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 @@ -145,21 +145,6 @@ int compiledICHolderKlass::oop_update_pointers(ParCompactionManager* cm, PSParallelCompact::adjust_pointer(c->adr_holder_klass()); return c->object_size(); } - -int compiledICHolderKlass::oop_update_pointers(ParCompactionManager* cm, - oop obj, - HeapWord* beg_addr, - HeapWord* end_addr) { - assert(obj->is_compiledICHolder(), "must be compiledICHolder"); - compiledICHolderOop c = compiledICHolderOop(obj); - - oop* p; - p = c->adr_holder_method(); - PSParallelCompact::adjust_pointer(p, beg_addr, end_addr); - p = c->adr_holder_klass(); - PSParallelCompact::adjust_pointer(p, beg_addr, end_addr); - return c->object_size(); -} #endif // SERIALGC // Printing diff --git a/hotspot/src/share/vm/oops/constMethodKlass.cpp b/hotspot/src/share/vm/oops/constMethodKlass.cpp index 19e292d7ad7..6e065317d5d 100644 --- a/hotspot/src/share/vm/oops/constMethodKlass.cpp +++ b/hotspot/src/share/vm/oops/constMethodKlass.cpp @@ -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 @@ -184,21 +184,6 @@ int constMethodKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) { } return cm_oop->object_size(); } - -int constMethodKlass::oop_update_pointers(ParCompactionManager* cm, oop obj, - HeapWord* beg_addr, - HeapWord* end_addr) { - assert(obj->is_constMethod(), "should be constMethod"); - constMethodOop cm_oop = constMethodOop(obj); - - oop* const beg_oop = MAX2((oop*)beg_addr, cm_oop->oop_block_beg()); - oop* const end_oop = MIN2((oop*)end_addr, cm_oop->oop_block_end()); - for (oop* cur_oop = beg_oop; cur_oop < end_oop; ++cur_oop) { - PSParallelCompact::adjust_pointer(cur_oop); - } - - return cm_oop->object_size(); -} #endif // SERIALGC // Printing diff --git a/hotspot/src/share/vm/oops/constantPoolKlass.cpp b/hotspot/src/share/vm/oops/constantPoolKlass.cpp index 85d363b3e5a..ad1d7329551 100644 --- a/hotspot/src/share/vm/oops/constantPoolKlass.cpp +++ b/hotspot/src/share/vm/oops/constantPoolKlass.cpp @@ -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 @@ -55,26 +55,35 @@ constantPoolOop constantPoolKlass::allocate(int length, bool is_conc_safe, TRAPS) { int size = constantPoolOopDesc::object_size(length); KlassHandle klass (THREAD, as_klassOop()); - constantPoolOop c = - (constantPoolOop)CollectedHeap::permanent_obj_allocate(klass, size, CHECK_NULL); + assert(klass()->is_oop(), "Can't be null, else handlizing of c below won't work"); + constantPoolHandle pool; + { + constantPoolOop c = + (constantPoolOop)CollectedHeap::permanent_obj_allocate(klass, size, CHECK_NULL); + assert(c->klass_or_null() != NULL, "Handlizing below won't work"); + pool = constantPoolHandle(THREAD, c); + } - c->set_length(length); - c->set_tags(NULL); - c->set_cache(NULL); - c->set_operands(NULL); - c->set_pool_holder(NULL); - c->set_flags(0); + pool->set_length(length); + pool->set_tags(NULL); + pool->set_cache(NULL); + pool->set_operands(NULL); + pool->set_pool_holder(NULL); + pool->set_flags(0); // only set to non-zero if constant pool is merged by RedefineClasses - c->set_orig_length(0); + pool->set_orig_length(0); // if constant pool may change during RedefineClasses, it is created // unsafe for GC concurrent processing. - c->set_is_conc_safe(is_conc_safe); + pool->set_is_conc_safe(is_conc_safe); // all fields are initialized; needed for GC + // Note: because we may be in this "conc_unsafe" state when allocating + // t_oop below, which may in turn cause a GC, it is imperative that our + // size be correct, consistent and henceforth stable, at this stage. + assert(pool->is_oop() && pool->is_parsable(), "Else size() below is unreliable"); + assert(size == pool->size(), "size() is wrong"); + // initialize tag array - // Note: cannot introduce constant pool handle before since it is not - // completely initialized (no class) -> would cause assertion failure - constantPoolHandle pool (THREAD, c); typeArrayOop t_oop = oopFactory::new_permanent_byteArray(length, CHECK_NULL); typeArrayHandle tags (THREAD, t_oop); for (int index = 0; index < length; index++) { @@ -82,6 +91,8 @@ constantPoolOop constantPoolKlass::allocate(int length, bool is_conc_safe, TRAPS } pool->set_tags(tags()); + // Check that our size was stable at its old value. + assert(size == pool->size(), "size() changed"); return pool(); } @@ -271,40 +282,6 @@ int constantPoolKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) { return cp->object_size(); } -int -constantPoolKlass::oop_update_pointers(ParCompactionManager* cm, oop obj, - HeapWord* beg_addr, HeapWord* end_addr) { - assert (obj->is_constantPool(), "obj must be constant pool"); - constantPoolOop cp = (constantPoolOop) obj; - - // If the tags array is null we are in the middle of allocating this constant - // pool. - if (cp->tags() != NULL) { - oop* base = (oop*)cp->base(); - oop* const beg_oop = MAX2((oop*)beg_addr, base); - oop* const end_oop = MIN2((oop*)end_addr, base + cp->length()); - const size_t beg_idx = pointer_delta(beg_oop, base, sizeof(oop*)); - const size_t end_idx = pointer_delta(end_oop, base, sizeof(oop*)); - for (size_t cur_idx = beg_idx; cur_idx < end_idx; ++cur_idx, ++base) { - if (cp->is_pointer_entry(int(cur_idx))) { - PSParallelCompact::adjust_pointer(base); - } - } - } - - oop* p; - p = cp->tags_addr(); - PSParallelCompact::adjust_pointer(p, beg_addr, end_addr); - p = cp->cache_addr(); - PSParallelCompact::adjust_pointer(p, beg_addr, end_addr); - p = cp->operands_addr(); - PSParallelCompact::adjust_pointer(p, beg_addr, end_addr); - p = cp->pool_holder_addr(); - PSParallelCompact::adjust_pointer(p, beg_addr, end_addr); - - return cp->object_size(); -} - void constantPoolKlass::oop_push_contents(PSPromotionManager* pm, oop obj) { assert(obj->is_constantPool(), "should be constant pool"); constantPoolOop cp = (constantPoolOop) obj; diff --git a/hotspot/src/share/vm/oops/constantPoolOop.hpp b/hotspot/src/share/vm/oops/constantPoolOop.hpp index 8fbfcb05fec..fa482a5c4da 100644 --- a/hotspot/src/share/vm/oops/constantPoolOop.hpp +++ b/hotspot/src/share/vm/oops/constantPoolOop.hpp @@ -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. diff --git a/hotspot/src/share/vm/oops/cpCacheKlass.cpp b/hotspot/src/share/vm/oops/cpCacheKlass.cpp index c3ed892fe82..233c7e64464 100644 --- a/hotspot/src/share/vm/oops/cpCacheKlass.cpp +++ b/hotspot/src/share/vm/oops/cpCacheKlass.cpp @@ -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 @@ -49,43 +49,31 @@ int constantPoolCacheKlass::oop_size(oop obj) const { constantPoolCacheOop constantPoolCacheKlass::allocate(int length, - bool is_conc_safe, TRAPS) { // allocate memory int size = constantPoolCacheOopDesc::object_size(length); KlassHandle klass (THREAD, as_klassOop()); - // This is the original code. The code from permanent_obj_allocate() - // was in-lined to allow the setting of is_conc_safe before the klass - // is installed. + // Commented out below is the original code. The code from + // permanent_obj_allocate() was in-lined so that we could + // set the _length field, necessary to correctly compute its + // size(), before setting its klass word further below. // constantPoolCacheOop cache = (constantPoolCacheOop) // CollectedHeap::permanent_obj_allocate(klass, size, CHECK_NULL); oop obj = CollectedHeap::permanent_obj_allocate_no_klass_install(klass, size, CHECK_NULL); - constantPoolCacheOop cache = (constantPoolCacheOop) obj; - cache->set_is_conc_safe(is_conc_safe); - // The store to is_conc_safe must be visible before the klass - // is set. This should be done safely because _is_conc_safe has - // been declared volatile. If there are any problems, consider adding - // OrderAccess::storestore(); - CollectedHeap::post_allocation_install_obj_klass(klass, obj, size); NOT_PRODUCT(Universe::heap()->check_for_bad_heap_word_value((HeapWord*) obj, size)); - - // The length field affects the size of the object. The allocation - // above allocates the correct size (see calculation of "size") but - // the size() method of the constant pool cache oop will not reflect - // that size until the correct length is set. - cache->set_length(length); - - // The store of the length must be visible before is_conc_safe is - // set to a safe state. - // This should be done safely because _is_conc_safe has - // been declared volatile. If there are any problems, consider adding - // OrderAccess::storestore(); - cache->set_is_conc_safe(methodOopDesc::IsSafeConc); + constantPoolCacheOop cache = (constantPoolCacheOop) obj; + assert(!UseConcMarkSweepGC || obj->klass_or_null() == NULL, + "klass should be NULL here when using CMS"); + cache->set_length(length); // should become visible before klass is set below. cache->set_constant_pool(NULL); + + OrderAccess::storestore(); + obj->set_klass(klass()); + assert(cache->size() == size, "Incorrect cache->size()"); return cache; } @@ -176,11 +164,6 @@ int constantPoolCacheKlass::oop_adjust_pointers(oop obj) { return size; } -bool constantPoolCacheKlass::oop_is_conc_safe(oop obj) const { - assert(obj->is_constantPoolCache(), "should be constant pool"); - return constantPoolCacheOop(obj)->is_conc_safe(); -} - #ifndef SERIALGC void constantPoolCacheKlass::oop_push_contents(PSPromotionManager* pm, oop obj) { @@ -220,25 +203,6 @@ constantPoolCacheKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) { return cache->object_size(); } - -int -constantPoolCacheKlass::oop_update_pointers(ParCompactionManager* cm, oop obj, - HeapWord* beg_addr, - HeapWord* end_addr) { - assert(obj->is_constantPoolCache(), "obj must be constant pool cache"); - constantPoolCacheOop cache = (constantPoolCacheOop)obj; - - // Iteration over constant pool cache instance variables - oop* p; - p = (oop*)cache->constant_pool_addr(); - PSParallelCompact::adjust_pointer(p, beg_addr, end_addr); - - // Iteration over constant pool cache entries - for (int i = 0; i < cache->length(); ++i) { - cache->entry_at(i)->update_pointers(beg_addr, end_addr); - } - return cache->object_size(); -} #endif // SERIALGC void constantPoolCacheKlass::oop_print_on(oop obj, outputStream* st) { diff --git a/hotspot/src/share/vm/oops/cpCacheKlass.hpp b/hotspot/src/share/vm/oops/cpCacheKlass.hpp index a3f6f3ecc0f..4a1532cffef 100644 --- a/hotspot/src/share/vm/oops/cpCacheKlass.hpp +++ b/hotspot/src/share/vm/oops/cpCacheKlass.hpp @@ -39,7 +39,7 @@ class constantPoolCacheKlass: public Klass { // Allocation DEFINE_ALLOCATE_PERMANENT(constantPoolCacheKlass); - constantPoolCacheOop allocate(int length, bool is_conc_safe, TRAPS); + constantPoolCacheOop allocate(int length, TRAPS); static klassOop create_klass(TRAPS); // Casting from klassOop @@ -55,7 +55,6 @@ class constantPoolCacheKlass: public Klass { // Garbage collection void oop_follow_contents(oop obj); int oop_adjust_pointers(oop obj); - virtual bool oop_is_conc_safe(oop obj) const; // Parallel Scavenge and Parallel Old PARALLEL_GC_DECLS diff --git a/hotspot/src/share/vm/oops/cpCacheOop.cpp b/hotspot/src/share/vm/oops/cpCacheOop.cpp index e627a250b51..7dff5d6f497 100644 --- a/hotspot/src/share/vm/oops/cpCacheOop.cpp +++ b/hotspot/src/share/vm/oops/cpCacheOop.cpp @@ -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 @@ -98,15 +98,15 @@ void ConstantPoolCacheEntry::set_bytecode_2(Bytecodes::Code code) { // Atomically sets f1 if it is still NULL, otherwise it keeps the // current value. void ConstantPoolCacheEntry::set_f1_if_null_atomic(oop f1) { - // Use barriers as in oop_store - HeapWord* f1_addr = (HeapWord*) &_f1; - update_barrier_set_pre(f1_addr, f1); - void* result = Atomic::cmpxchg_ptr(f1, f1_addr, NULL); - bool success = (result == NULL); - if (success) { - update_barrier_set((void*) f1_addr, f1); - } + // Use barriers as in oop_store + oop* f1_addr = (oop*) &_f1; + update_barrier_set_pre(f1_addr, f1); + void* result = Atomic::cmpxchg_ptr(f1, f1_addr, NULL); + bool success = (result == NULL); + if (success) { + update_barrier_set(f1_addr, f1); } +} #ifdef ASSERT // It is possible to have two different dummy methodOops created @@ -368,16 +368,6 @@ void ConstantPoolCacheEntry::update_pointers() { PSParallelCompact::adjust_pointer((oop*)&_f2); } } - -void ConstantPoolCacheEntry::update_pointers(HeapWord* beg_addr, - HeapWord* end_addr) { - assert(in_words(size()) == 4, "check code below - may need adjustment"); - // field[1] is always oop or NULL - PSParallelCompact::adjust_pointer((oop*)&_f1, beg_addr, end_addr); - if (is_vfinal()) { - PSParallelCompact::adjust_pointer((oop*)&_f2, beg_addr, end_addr); - } -} #endif // SERIALGC // RedefineClasses() API support: diff --git a/hotspot/src/share/vm/oops/cpCacheOop.hpp b/hotspot/src/share/vm/oops/cpCacheOop.hpp index e180634250b..e59c4952182 100644 --- a/hotspot/src/share/vm/oops/cpCacheOop.hpp +++ b/hotspot/src/share/vm/oops/cpCacheOop.hpp @@ -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 @@ -287,7 +287,6 @@ class ConstantPoolCacheEntry VALUE_OBJ_CLASS_SPEC { #endif // SERIALGC void update_pointers(); - void update_pointers(HeapWord* beg_addr, HeapWord* end_addr); // RedefineClasses() API support: // If this constantPoolCacheEntry refers to old_method then update it @@ -321,9 +320,6 @@ class constantPoolCacheOopDesc: public oopDesc { private: int _length; constantPoolOop _constant_pool; // the corresponding constant pool - // If true, safe for concurrent GC processing, - // Set unconditionally in constantPoolCacheKlass::allocate() - volatile bool _is_conc_safe; // Sizing debug_only(friend class ClassVerifier;) @@ -390,12 +386,6 @@ class constantPoolCacheOopDesc: public oopDesc { return entry_at(primary_index); } - // GC support - // If the _length field has not been set, the size of the - // constantPoolCache cannot be correctly calculated. - bool is_conc_safe() { return _is_conc_safe; } - void set_is_conc_safe(bool v) { _is_conc_safe = v; } - // Code generation static ByteSize base_offset() { return in_ByteSize(sizeof(constantPoolCacheOopDesc)); } static ByteSize entry_offset(int raw_index) { diff --git a/hotspot/src/share/vm/oops/instanceKlass.cpp b/hotspot/src/share/vm/oops/instanceKlass.cpp index 893fddf3ba5..73f4d97dfcb 100644 --- a/hotspot/src/share/vm/oops/instanceKlass.cpp +++ b/hotspot/src/share/vm/oops/instanceKlass.cpp @@ -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 @@ -1736,14 +1736,6 @@ void instanceKlass::update_static_fields() { PSParallelCompact::adjust_pointer(p), \ assert_nothing) } - -void instanceKlass::update_static_fields(HeapWord* beg_addr, HeapWord* end_addr) { - InstanceKlass_BOUNDED_OOP_ITERATE( \ - start_of_static_fields(), static_oop_field_size(), \ - beg_addr, end_addr, \ - PSParallelCompact::adjust_pointer(p), \ - assert_nothing ) -} #endif // SERIALGC void instanceKlass::oop_follow_contents(oop obj) { @@ -1876,15 +1868,6 @@ int instanceKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) { return size_helper(); } -int instanceKlass::oop_update_pointers(ParCompactionManager* cm, oop obj, - HeapWord* beg_addr, HeapWord* end_addr) { - InstanceKlass_BOUNDED_OOP_MAP_ITERATE( \ - obj, beg_addr, end_addr, \ - PSParallelCompact::adjust_pointer(p), \ - assert_nothing) - return size_helper(); -} - void instanceKlass::push_static_fields(PSPromotionManager* pm) { InstanceKlass_OOP_ITERATE( \ start_of_static_fields(), static_oop_field_size(), \ diff --git a/hotspot/src/share/vm/oops/instanceKlass.hpp b/hotspot/src/share/vm/oops/instanceKlass.hpp index 6a09bdfa5cc..c2f7da14ba6 100644 --- a/hotspot/src/share/vm/oops/instanceKlass.hpp +++ b/hotspot/src/share/vm/oops/instanceKlass.hpp @@ -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 @@ -740,7 +740,6 @@ class instanceKlass: public Klass { void follow_static_fields(ParCompactionManager* cm); void copy_static_fields(ParCompactionManager* cm); void update_static_fields(); - void update_static_fields(HeapWord* beg_addr, HeapWord* end_addr); #endif // SERIALGC // Naming diff --git a/hotspot/src/share/vm/oops/instanceKlassKlass.cpp b/hotspot/src/share/vm/oops/instanceKlassKlass.cpp index e2667bba792..150621fa708 100644 --- a/hotspot/src/share/vm/oops/instanceKlassKlass.cpp +++ b/hotspot/src/share/vm/oops/instanceKlassKlass.cpp @@ -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 @@ -353,35 +353,6 @@ int instanceKlassKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) { return ik->object_size(); } -int instanceKlassKlass::oop_update_pointers(ParCompactionManager* cm, oop obj, - HeapWord* beg_addr, - HeapWord* end_addr) { - assert(obj->is_klass(),"must be a klass"); - assert(klassOop(obj)->klass_part()->oop_is_instance_slow(), - "must be instance klass"); - - instanceKlass* ik = instanceKlass::cast(klassOop(obj)); - ik->update_static_fields(beg_addr, end_addr); - ik->vtable()->oop_update_pointers(cm, beg_addr, end_addr); - ik->itable()->oop_update_pointers(cm, beg_addr, end_addr); - - oop* const beg_oop = MAX2((oop*)beg_addr, ik->oop_block_beg()); - oop* const end_oop = MIN2((oop*)end_addr, ik->oop_block_end()); - for (oop* cur_oop = beg_oop; cur_oop < end_oop; ++cur_oop) { - PSParallelCompact::adjust_pointer(cur_oop); - } - - // The oop_map_cache, jni_ids and jni_id_map are allocated from the C heap, - // and so don't lie within any 'Chunk' boundaries. Update them when the - // lowest addressed oop in the instanceKlass 'oop_block' is updated. - if (beg_oop == ik->oop_block_beg()) { - OopClosure* closure = PSParallelCompact::adjust_root_pointer_closure(); - iterate_c_heap_oops(ik, closure); - } - - klassKlass::oop_update_pointers(cm, obj, beg_addr, end_addr); - return ik->object_size(); -} #endif // SERIALGC klassOop diff --git a/hotspot/src/share/vm/oops/instanceRefKlass.cpp b/hotspot/src/share/vm/oops/instanceRefKlass.cpp index da2005dc778..4518a9da17b 100644 --- a/hotspot/src/share/vm/oops/instanceRefKlass.cpp +++ b/hotspot/src/share/vm/oops/instanceRefKlass.cpp @@ -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 @@ -344,33 +344,6 @@ int instanceRefKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) { } return size_helper(); } - - -template void -specialized_oop_update_pointers(ParCompactionManager* cm, oop obj, - HeapWord* beg_addr, HeapWord* end_addr) { - T* p; - T* referent_addr = p = (T*)java_lang_ref_Reference::referent_addr(obj); - PSParallelCompact::adjust_pointer(p, beg_addr, end_addr); - T* next_addr = p = (T*)java_lang_ref_Reference::next_addr(obj); - PSParallelCompact::adjust_pointer(p, beg_addr, end_addr); - T* discovered_addr = p = (T*)java_lang_ref_Reference::discovered_addr(obj); - PSParallelCompact::adjust_pointer(p, beg_addr, end_addr); - debug_only(trace_reference_gc("instanceRefKlass::oop_update_ptrs", obj, - referent_addr, next_addr, discovered_addr);) -} - -int -instanceRefKlass::oop_update_pointers(ParCompactionManager* cm, oop obj, - HeapWord* beg_addr, HeapWord* end_addr) { - instanceKlass::oop_update_pointers(cm, obj, beg_addr, end_addr); - if (UseCompressedOops) { - specialized_oop_update_pointers(cm, obj, beg_addr, end_addr); - } else { - specialized_oop_update_pointers(cm, obj, beg_addr, end_addr); - } - return size_helper(); -} #endif // SERIALGC void instanceRefKlass::update_nonstatic_oop_maps(klassOop k) { diff --git a/hotspot/src/share/vm/oops/klassKlass.cpp b/hotspot/src/share/vm/oops/klassKlass.cpp index 79867acf06d..6411609d73e 100644 --- a/hotspot/src/share/vm/oops/klassKlass.cpp +++ b/hotspot/src/share/vm/oops/klassKlass.cpp @@ -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 @@ -188,19 +188,6 @@ int klassKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) { return oop_size(obj); } - -int klassKlass::oop_update_pointers(ParCompactionManager* cm, oop obj, - HeapWord* beg_addr, HeapWord* end_addr) { - Klass* k = Klass::cast(klassOop(obj)); - - oop* const beg_oop = MAX2((oop*)beg_addr, k->oop_block_beg()); - oop* const end_oop = MIN2((oop*)end_addr, k->oop_block_end()); - for (oop* cur_oop = beg_oop; cur_oop < end_oop; ++cur_oop) { - PSParallelCompact::adjust_pointer(cur_oop); - } - - return oop_size(obj); -} #endif // SERIALGC diff --git a/hotspot/src/share/vm/oops/klassPS.hpp b/hotspot/src/share/vm/oops/klassPS.hpp index fa898b070ed..0aa7a580d4c 100644 --- a/hotspot/src/share/vm/oops/klassPS.hpp +++ b/hotspot/src/share/vm/oops/klassPS.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 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 @@ -37,17 +37,13 @@ objects that do (or may) cross chunk boundaries; it updates only those \ oops that are in the region [beg_addr, end_addr). */ \ virtual void oop_follow_contents(ParCompactionManager* cm, oop obj); \ - virtual int oop_update_pointers(ParCompactionManager* cm, oop obj); \ - virtual int oop_update_pointers(ParCompactionManager* cm, oop obj, \ - HeapWord* beg_addr, HeapWord* end_addr); + virtual int oop_update_pointers(ParCompactionManager* cm, oop obj); // Pure virtual version for klass.hpp #define PARALLEL_GC_DECLS_PV \ virtual void oop_push_contents(PSPromotionManager* pm, oop obj) = 0; \ virtual void oop_follow_contents(ParCompactionManager* cm, oop obj) = 0; \ - virtual int oop_update_pointers(ParCompactionManager* cm, oop obj) = 0; \ - virtual int oop_update_pointers(ParCompactionManager* cm, oop obj, \ - HeapWord* beg_addr, HeapWord* end_addr) = 0; + virtual int oop_update_pointers(ParCompactionManager* cm, oop obj) = 0; #else // SERIALGC #define PARALLEL_GC_DECLS #define PARALLEL_GC_DECLS_PV diff --git a/hotspot/src/share/vm/oops/klassVtable.cpp b/hotspot/src/share/vm/oops/klassVtable.cpp index 4ea39839b5e..f0939cb6919 100644 --- a/hotspot/src/share/vm/oops/klassVtable.cpp +++ b/hotspot/src/share/vm/oops/klassVtable.cpp @@ -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 @@ -677,25 +677,6 @@ void klassVtable::oop_update_pointers(ParCompactionManager* cm) { PSParallelCompact::adjust_pointer(adr_method_at(i)); } } - -void klassVtable::oop_update_pointers(ParCompactionManager* cm, - HeapWord* beg_addr, HeapWord* end_addr) { - const int n = length(); - const int entry_size = vtableEntry::size(); - - int beg_idx = 0; - HeapWord* const method_0 = (HeapWord*)adr_method_at(0); - if (beg_addr > method_0) { - // it's safe to use cast, as we have guarantees on vtable size to be sane - beg_idx = int((pointer_delta(beg_addr, method_0) + entry_size - 1) / entry_size); - } - - oop* const beg_oop = adr_method_at(beg_idx); - oop* const end_oop = MIN2((oop*)end_addr, adr_method_at(n)); - for (oop* cur_oop = beg_oop; cur_oop < end_oop; cur_oop += entry_size) { - PSParallelCompact::adjust_pointer(cur_oop); - } -} #endif // SERIALGC // Iterators @@ -820,25 +801,6 @@ void klassItable::oop_update_pointers(ParCompactionManager* cm) { ime++; } } - -void klassItable::oop_update_pointers(ParCompactionManager* cm, - HeapWord* beg_addr, HeapWord* end_addr) { - // offset table - itableOffsetEntry* ioe = offset_entry(0); - for(int i = 0; i < _size_offset_table; i++) { - oop* p = (oop*)&ioe->_interface; - PSParallelCompact::adjust_pointer(p, beg_addr, end_addr); - ioe++; - } - - // method table - itableMethodEntry* ime = method_entry(0); - for(int j = 0; j < _size_method_table; j++) { - oop* p = (oop*)&ime->_method; - PSParallelCompact::adjust_pointer(p, beg_addr, end_addr); - ime++; - } -} #endif // SERIALGC // Iterators diff --git a/hotspot/src/share/vm/oops/klassVtable.hpp b/hotspot/src/share/vm/oops/klassVtable.hpp index 1f77ea7291d..33f5b62e19b 100644 --- a/hotspot/src/share/vm/oops/klassVtable.hpp +++ b/hotspot/src/share/vm/oops/klassVtable.hpp @@ -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 @@ -99,8 +99,6 @@ class klassVtable : public ResourceObj { // Parallel Old void oop_follow_contents(ParCompactionManager* cm); void oop_update_pointers(ParCompactionManager* cm); - void oop_update_pointers(ParCompactionManager* cm, - HeapWord* beg_addr, HeapWord* end_addr); #endif // SERIALGC // Iterators @@ -295,8 +293,6 @@ class klassItable : public ResourceObj { // Parallel Old void oop_follow_contents(ParCompactionManager* cm); void oop_update_pointers(ParCompactionManager* cm); - void oop_update_pointers(ParCompactionManager* cm, - HeapWord* beg_addr, HeapWord* end_addr); #endif // SERIALGC // Iterators diff --git a/hotspot/src/share/vm/oops/methodDataKlass.cpp b/hotspot/src/share/vm/oops/methodDataKlass.cpp index 500dd7726db..c5202f538bc 100644 --- a/hotspot/src/share/vm/oops/methodDataKlass.cpp +++ b/hotspot/src/share/vm/oops/methodDataKlass.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2010, 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 @@ -188,25 +188,6 @@ int methodDataKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) { } return m->object_size(); } - -int -methodDataKlass::oop_update_pointers(ParCompactionManager* cm, oop obj, - HeapWord* beg_addr, HeapWord* end_addr) { - assert(obj->is_methodData(), "should be method data"); - - oop* p; - methodDataOop m = methodDataOop(obj); - - p = m->adr_method(); - PSParallelCompact::adjust_pointer(p, beg_addr, end_addr); - - ResourceMark rm; - ProfileData* data; - for (data = m->first_data(); m->is_valid(data); data = m->next_data(data)) { - data->update_pointers(beg_addr, end_addr); - } - return m->object_size(); -} #endif // SERIALGC #ifndef PRODUCT diff --git a/hotspot/src/share/vm/oops/methodDataOop.cpp b/hotspot/src/share/vm/oops/methodDataOop.cpp index b0856dbca46..2170edf46ab 100644 --- a/hotspot/src/share/vm/oops/methodDataOop.cpp +++ b/hotspot/src/share/vm/oops/methodDataOop.cpp @@ -271,17 +271,6 @@ void ReceiverTypeData::update_pointers() { } } } - -void ReceiverTypeData::update_pointers(HeapWord* beg_addr, HeapWord* end_addr) { - // The loop bounds could be computed based on beg_addr/end_addr and the - // boundary test hoisted outside the loop (see klassVTable for an example); - // however, row_limit() is small enough (2) to make that less efficient. - for (uint row = 0; row < row_limit(); row++) { - if (receiver_unchecked(row) != NULL) { - PSParallelCompact::adjust_pointer(adr_receiver(row), beg_addr, end_addr); - } - } -} #endif // SERIALGC #ifndef PRODUCT @@ -764,11 +753,13 @@ void methodDataOopDesc::initialize(methodHandle method) { if (TieredCompilation) { _invocation_counter.init(); _backedge_counter.init(); + _invocation_counter_start = 0; + _backedge_counter_start = 0; _num_loops = 0; _num_blocks = 0; _highest_comp_level = 0; _highest_osr_comp_level = 0; - _would_profile = false; + _would_profile = true; } set_creation_mileage(mileage_of(method())); diff --git a/hotspot/src/share/vm/oops/methodDataOop.hpp b/hotspot/src/share/vm/oops/methodDataOop.hpp index a3f64948956..906b18ea86b 100644 --- a/hotspot/src/share/vm/oops/methodDataOop.hpp +++ b/hotspot/src/share/vm/oops/methodDataOop.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2010, 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 @@ -452,7 +452,6 @@ public: // Parallel old support virtual void follow_contents(ParCompactionManager* cm) {} virtual void update_pointers() {} - virtual void update_pointers(HeapWord* beg_addr, HeapWord* end_addr) {} #endif // SERIALGC // CI translation: ProfileData can represent both MethodDataOop data @@ -748,7 +747,6 @@ public: // Parallel old support virtual void follow_contents(ParCompactionManager* cm); virtual void update_pointers(); - virtual void update_pointers(HeapWord* beg_addr, HeapWord* end_addr); #endif // SERIALGC oop* adr_receiver(uint row) { @@ -1224,6 +1222,9 @@ private: InvocationCounter _invocation_counter; // Same for backedges. InvocationCounter _backedge_counter; + // Counter values at the time profiling started. + int _invocation_counter_start; + int _backedge_counter_start; // Number of loops and blocks is computed when compiling the first // time with C1. It is used to determine if method is trivial. short _num_loops; @@ -1333,6 +1334,28 @@ public: return backedge_counter()->count(); } + int invocation_count_start() { + if (invocation_counter()->carry()) { + return 0; + } + return _invocation_counter_start; + } + + int backedge_count_start() { + if (backedge_counter()->carry()) { + return 0; + } + return _backedge_counter_start; + } + + int invocation_count_delta() { return invocation_count() - invocation_count_start(); } + int backedge_count_delta() { return backedge_count() - backedge_count_start(); } + + void reset_start_counters() { + _invocation_counter_start = invocation_count(); + _backedge_counter_start = backedge_count(); + } + InvocationCounter* invocation_counter() { return &_invocation_counter; } InvocationCounter* backedge_counter() { return &_backedge_counter; } diff --git a/hotspot/src/share/vm/oops/methodKlass.cpp b/hotspot/src/share/vm/oops/methodKlass.cpp index 08c49ae4d6a..85ac2c4cb8f 100644 --- a/hotspot/src/share/vm/oops/methodKlass.cpp +++ b/hotspot/src/share/vm/oops/methodKlass.cpp @@ -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 @@ -214,27 +214,6 @@ int methodKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) { #endif // COMPILER2 return m->object_size(); } - -int methodKlass::oop_update_pointers(ParCompactionManager* cm, oop obj, - HeapWord* beg_addr, HeapWord* end_addr) { - assert(obj->is_method(), "should be method"); - - oop* p; - methodOop m = methodOop(obj); - - p = m->adr_constMethod(); - PSParallelCompact::adjust_pointer(p, beg_addr, end_addr); - p = m->adr_constants(); - PSParallelCompact::adjust_pointer(p, beg_addr, end_addr); - -#ifdef COMPILER2 - if (m->method_data() != NULL) { - p = m->adr_method_data(); - PSParallelCompact::adjust_pointer(p, beg_addr, end_addr); - } -#endif // COMPILER2 - return m->object_size(); -} #endif // SERIALGC #ifndef PRODUCT diff --git a/hotspot/src/share/vm/oops/methodOop.cpp b/hotspot/src/share/vm/oops/methodOop.cpp index 42ffbec7f1a..dad734460a9 100644 --- a/hotspot/src/share/vm/oops/methodOop.cpp +++ b/hotspot/src/share/vm/oops/methodOop.cpp @@ -934,7 +934,7 @@ methodHandle methodOopDesc::make_invoke_method(KlassHandle holder, assert(m->signature() == signature, ""); assert(m->is_method_handle_invoke(), ""); #ifdef CC_INTERP - ResultTypeFinder rtf(signature()); + ResultTypeFinder rtf(signature); m->set_result_index(rtf.type()); #endif m->compute_size_of_parameters(THREAD); @@ -985,9 +985,11 @@ methodHandle methodOopDesc:: clone_with_new_data(methodHandle m, u_char* new_cod IsUnsafeConc, CHECK_(methodHandle())); methodHandle newm (THREAD, newm_oop); + NOT_PRODUCT(int nmsz = newm->is_parsable() ? newm->size() : -1;) int new_method_size = newm->method_size(); // Create a shallow copy of methodOopDesc part, but be careful to preserve the new constMethodOop constMethodOop newcm = newm->constMethod(); + NOT_PRODUCT(int ncmsz = newcm->is_parsable() ? newcm->size() : -1;) int new_const_method_size = newm->constMethod()->object_size(); memcpy(newm(), m(), sizeof(methodOopDesc)); @@ -999,9 +1001,19 @@ methodHandle methodOopDesc:: clone_with_new_data(methodHandle m, u_char* new_cod // or concurrent marking but those phases will be correct. Setting and // resetting is done in preference to a careful copying into newcm to // avoid having to know the precise layout of a constMethodOop. - m->constMethod()->set_is_conc_safe(false); + m->constMethod()->set_is_conc_safe(oopDesc::IsUnsafeConc); + assert(m->constMethod()->is_parsable(), "Should remain parsable"); + + // NOTE: this is a reachable object that transiently signals "conc_unsafe" + // However, no allocations are done during this window + // during which it is tagged conc_unsafe, so we are assured that any concurrent + // thread will not wait forever for the object to revert to "conc_safe". + // Further, any such conc_unsafe object will indicate a stable size + // through the transition. memcpy(newcm, m->constMethod(), sizeof(constMethodOopDesc)); - m->constMethod()->set_is_conc_safe(true); + m->constMethod()->set_is_conc_safe(oopDesc::IsSafeConc); + assert(m->constMethod()->is_parsable(), "Should remain parsable"); + // Reset correct method/const method, method size, and parameter info newcm->set_method(newm()); newm->set_constMethod(newcm); @@ -1035,6 +1047,8 @@ methodHandle methodOopDesc:: clone_with_new_data(methodHandle m, u_char* new_cod // Only set is_conc_safe to true when changes to newcm are // complete. + assert(!newm->is_parsable() || nmsz < 0 || newm->size() == nmsz, "newm->size() inconsistency"); + assert(!newcm->is_parsable() || ncmsz < 0 || newcm->size() == ncmsz, "newcm->size() inconsistency"); newcm->set_is_conc_safe(true); return newm; } @@ -1372,7 +1386,7 @@ void CompressedLineNumberWriteStream::write_pair_regular(int bci_delta, int line } // See comment in methodOop.hpp which explains why this exists. -#if defined(_M_AMD64) && MSC_VER >= 1400 +#if defined(_M_AMD64) && _MSC_VER >= 1400 #pragma optimize("", off) void CompressedLineNumberWriteStream::write_pair(int bci, int line) { write_pair_inline(bci, line); diff --git a/hotspot/src/share/vm/oops/methodOop.hpp b/hotspot/src/share/vm/oops/methodOop.hpp index 279424514d1..3b2ed335516 100644 --- a/hotspot/src/share/vm/oops/methodOop.hpp +++ b/hotspot/src/share/vm/oops/methodOop.hpp @@ -144,9 +144,6 @@ class methodOopDesc : public oopDesc { public: - static const bool IsUnsafeConc = false; - static const bool IsSafeConc = true; - // accessors for instance variables constMethodOop constMethod() const { return _constMethod; } void set_constMethod(constMethodOop xconst) { oop_store_without_check((oop*)&_constMethod, (oop)xconst); } @@ -732,8 +729,8 @@ class CompressedLineNumberWriteStream: public CompressedWriteStream { // Disabling optimization doesn't work for methods in header files // so we force it to call through the non-optimized version in the .cpp. // It's gross, but it's the only way we can ensure that all callers are -// fixed. MSC_VER is defined in build/windows/makefiles/compile.make. -#if defined(_M_AMD64) && MSC_VER >= 1400 +// fixed. _MSC_VER is defined by the windows compiler +#if defined(_M_AMD64) && _MSC_VER >= 1400 void write_pair(int bci, int line); #else void write_pair(int bci, int line) { write_pair_inline(bci, line); } diff --git a/hotspot/src/share/vm/oops/objArrayKlass.cpp b/hotspot/src/share/vm/oops/objArrayKlass.cpp index 405301d8d71..da9667dee7b 100644 --- a/hotspot/src/share/vm/oops/objArrayKlass.cpp +++ b/hotspot/src/share/vm/oops/objArrayKlass.cpp @@ -470,16 +470,6 @@ int objArrayKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) { ObjArrayKlass_OOP_ITERATE(a, p, PSParallelCompact::adjust_pointer(p)) return a->object_size(); } - -int objArrayKlass::oop_update_pointers(ParCompactionManager* cm, oop obj, - HeapWord* beg_addr, HeapWord* end_addr) { - assert (obj->is_objArray(), "obj must be obj array"); - objArrayOop a = objArrayOop(obj); - ObjArrayKlass_BOUNDED_OOP_ITERATE( \ - a, p, beg_addr, end_addr, \ - PSParallelCompact::adjust_pointer(p)) - return a->object_size(); -} #endif // SERIALGC // JVM support diff --git a/hotspot/src/share/vm/oops/objArrayKlassKlass.cpp b/hotspot/src/share/vm/oops/objArrayKlassKlass.cpp index b85e8dffc66..a21110250a2 100644 --- a/hotspot/src/share/vm/oops/objArrayKlassKlass.cpp +++ b/hotspot/src/share/vm/oops/objArrayKlassKlass.cpp @@ -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 @@ -254,22 +254,6 @@ int objArrayKlassKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) { return arrayKlassKlass::oop_update_pointers(cm, obj); } - -int objArrayKlassKlass::oop_update_pointers(ParCompactionManager* cm, oop obj, - HeapWord* beg_addr, - HeapWord* end_addr) { - assert(obj->is_klass(), "must be klass"); - assert(klassOop(obj)->klass_part()->oop_is_objArray_slow(), "must be obj array"); - - oop* p; - objArrayKlass* oak = objArrayKlass::cast((klassOop)obj); - p = oak->element_klass_addr(); - PSParallelCompact::adjust_pointer(p, beg_addr, end_addr); - p = oak->bottom_klass_addr(); - PSParallelCompact::adjust_pointer(p, beg_addr, end_addr); - - return arrayKlassKlass::oop_update_pointers(cm, obj, beg_addr, end_addr); -} #endif // SERIALGC #ifndef PRODUCT diff --git a/hotspot/src/share/vm/oops/oop.hpp b/hotspot/src/share/vm/oops/oop.hpp index dae1c43c0ff..7553ec38ff9 100644 --- a/hotspot/src/share/vm/oops/oop.hpp +++ b/hotspot/src/share/vm/oops/oop.hpp @@ -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 @@ -71,6 +71,11 @@ class oopDesc { static BarrierSet* _bs; public: + enum ConcSafeType { + IsUnsafeConc = false, + IsSafeConc = true + }; + markOop mark() const { return _mark; } markOop* mark_addr() const { return (markOop*) &_mark; } @@ -317,13 +322,6 @@ class oopDesc { // Parallel Old void update_contents(ParCompactionManager* cm); - void update_contents(ParCompactionManager* cm, - HeapWord* begin_limit, - HeapWord* end_limit); - void update_contents(ParCompactionManager* cm, - klassOop old_klass, - HeapWord* begin_limit, - HeapWord* end_limit); void follow_contents(ParCompactionManager* cm); void follow_header(ParCompactionManager* cm); @@ -364,7 +362,6 @@ class oopDesc { #ifndef SERIALGC // Parallel old void update_header(); - void update_header(HeapWord* beg_addr, HeapWord* end_addr); #endif // SERIALGC // mark-sweep support diff --git a/hotspot/src/share/vm/oops/oop.inline.hpp b/hotspot/src/share/vm/oops/oop.inline.hpp index 9975941cc62..afdccfb262b 100644 --- a/hotspot/src/share/vm/oops/oop.inline.hpp +++ b/hotspot/src/share/vm/oops/oop.inline.hpp @@ -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 diff --git a/hotspot/src/share/vm/oops/oop.pcgc.inline.hpp b/hotspot/src/share/vm/oops/oop.pcgc.inline.hpp index fc969970cba..cee33200c1a 100644 --- a/hotspot/src/share/vm/oops/oop.pcgc.inline.hpp +++ b/hotspot/src/share/vm/oops/oop.pcgc.inline.hpp @@ -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 @@ -57,41 +57,6 @@ inline void oopDesc::update_contents(ParCompactionManager* cm) { // Else skip it. The typeArrayKlass in the header never needs scavenging. } -inline void oopDesc::update_contents(ParCompactionManager* cm, - HeapWord* begin_limit, - HeapWord* end_limit) { - // The klass field must be updated before anything else - // can be done. - debug_only(klassOopDesc* original_klass = klass()); - - update_contents(cm, klass(), begin_limit, end_limit); -} - -inline void oopDesc::update_contents(ParCompactionManager* cm, - klassOop old_klass, - HeapWord* begin_limit, - HeapWord* end_limit) { - - klassOop updated_klass = - PSParallelCompact::summary_data().calc_new_klass(old_klass); - - // Needs to be boundary aware for the 64 bit case - // update_header(); - // The klass has moved. Is the location of the klass - // within the limits? - if ((((HeapWord*)&_metadata._klass) >= begin_limit) && - (((HeapWord*)&_metadata._klass) < end_limit)) { - set_klass(updated_klass); - } - - Klass* klass = updated_klass->klass_part(); - if (!klass->oop_is_typeArray()) { - // It might contain oops beyond the header, so take the virtual call. - klass->oop_update_pointers(cm, this, begin_limit, end_limit); - } - // Else skip it. The typeArrayKlass in the header never needs scavenging. -} - inline void oopDesc::follow_contents(ParCompactionManager* cm) { assert (PSParallelCompact::mark_bitmap()->is_marked(this), "should be marked"); @@ -140,13 +105,4 @@ inline void oopDesc::update_header() { } } -inline void oopDesc::update_header(HeapWord* beg_addr, HeapWord* end_addr) { - if (UseCompressedOops) { - PSParallelCompact::adjust_pointer(compressed_klass_addr(), - beg_addr, end_addr); - } else { - PSParallelCompact::adjust_pointer(klass_addr(), beg_addr, end_addr); - } -} - #endif // SHARE_VM_OOPS_OOP_PCGC_INLINE_HPP diff --git a/hotspot/src/share/vm/oops/typeArrayKlass.cpp b/hotspot/src/share/vm/oops/typeArrayKlass.cpp index 3ec36256945..a733e4bb138 100644 --- a/hotspot/src/share/vm/oops/typeArrayKlass.cpp +++ b/hotspot/src/share/vm/oops/typeArrayKlass.cpp @@ -250,13 +250,6 @@ typeArrayKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) { assert(obj->is_typeArray(),"must be a type array"); return typeArrayOop(obj)->object_size(); } - -int -typeArrayKlass::oop_update_pointers(ParCompactionManager* cm, oop obj, - HeapWord* beg_addr, HeapWord* end_addr) { - assert(obj->is_typeArray(),"must be a type array"); - return typeArrayOop(obj)->object_size(); -} #endif // SERIALGC void typeArrayKlass::initialize(TRAPS) { diff --git a/hotspot/src/share/vm/oops/typeArrayOop.hpp b/hotspot/src/share/vm/oops/typeArrayOop.hpp index 05d4ef81db0..c39987be5c7 100644 --- a/hotspot/src/share/vm/oops/typeArrayOop.hpp +++ b/hotspot/src/share/vm/oops/typeArrayOop.hpp @@ -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} diff --git a/hotspot/src/share/vm/opto/buildOopMap.cpp b/hotspot/src/share/vm/opto/buildOopMap.cpp index 564fd369aff..32a174729c7 100644 --- a/hotspot/src/share/vm/opto/buildOopMap.cpp +++ b/hotspot/src/share/vm/opto/buildOopMap.cpp @@ -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. // diff --git a/hotspot/src/share/vm/opto/c2_globals.hpp b/hotspot/src/share/vm/opto/c2_globals.hpp index fe516dff508..159b2805081 100644 --- a/hotspot/src/share/vm/opto/c2_globals.hpp +++ b/hotspot/src/share/vm/opto/c2_globals.hpp @@ -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 diff --git a/hotspot/src/share/vm/opto/c2compiler.cpp b/hotspot/src/share/vm/opto/c2compiler.cpp index 889fc4295ae..7b0b9be59a6 100644 --- a/hotspot/src/share/vm/opto/c2compiler.cpp +++ b/hotspot/src/share/vm/opto/c2compiler.cpp @@ -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; diff --git a/hotspot/src/share/vm/opto/compile.cpp b/hotspot/src/share/vm/opto/compile.cpp index cad5224e62d..a1d9659af82 100644 --- a/hotspot/src/share/vm/opto/compile.cpp +++ b/hotspot/src/share/vm/opto/compile.cpp @@ -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 ----------------------- diff --git a/hotspot/src/share/vm/opto/escape.cpp b/hotspot/src/share/vm/opto/escape.cpp index 62db164b520..788a79785bb 100644 --- a/hotspot/src/share/vm/opto/escape.cpp +++ b/hotspot/src/share/vm/opto/escape.cpp @@ -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 @@ -93,6 +93,9 @@ void PointsToNode::dump(bool print_state) const { ConnectionGraph::ConnectionGraph(Compile * C, PhaseIterGVN *igvn) : _nodes(C->comp_arena(), C->unique(), C->unique(), PointsToNode()), _processed(C->comp_arena()), + pt_ptset(C->comp_arena()), + pt_visited(C->comp_arena()), + pt_worklist(C->comp_arena(), 4, 0, 0), _collecting(true), _progress(false), _compile(C), @@ -220,9 +223,7 @@ PointsToNode::EscapeState ConnectionGraph::escape_state(Node *n) { PointsToNode::EscapeState orig_es = es; // compute max escape state of anything this node could point to - VectorSet ptset(Thread::current()->resource_area()); - PointsTo(ptset, n); - for(VectorSetI i(&ptset); i.test() && es != PointsToNode::GlobalEscape; ++i) { + for(VectorSetI i(PointsTo(n)); i.test() && es != PointsToNode::GlobalEscape; ++i) { uint pt = i.elem; PointsToNode::EscapeState pes = ptnode_adr(pt)->escape_state(); if (pes > es) @@ -236,9 +237,10 @@ PointsToNode::EscapeState ConnectionGraph::escape_state(Node *n) { return es; } -void ConnectionGraph::PointsTo(VectorSet &ptset, Node * n) { - VectorSet visited(Thread::current()->resource_area()); - GrowableArray worklist; +VectorSet* ConnectionGraph::PointsTo(Node * n) { + pt_ptset.Reset(); + pt_visited.Reset(); + pt_worklist.clear(); #ifdef ASSERT Node *orig_n = n; @@ -249,8 +251,8 @@ void ConnectionGraph::PointsTo(VectorSet &ptset, Node * n) { // If we have a JavaObject, return just that object if (npt->node_type() == PointsToNode::JavaObject) { - ptset.set(n->_idx); - return; + pt_ptset.set(n->_idx); + return &pt_ptset; } #ifdef ASSERT if (npt->_node == NULL) { @@ -260,10 +262,10 @@ void ConnectionGraph::PointsTo(VectorSet &ptset, Node * n) { assert(npt->_node != NULL, "unregistered node"); } #endif - worklist.push(n->_idx); - while(worklist.length() > 0) { - int ni = worklist.pop(); - if (visited.test_set(ni)) + pt_worklist.push(n->_idx); + while(pt_worklist.length() > 0) { + int ni = pt_worklist.pop(); + if (pt_visited.test_set(ni)) continue; PointsToNode* pn = ptnode_adr(ni); @@ -276,10 +278,10 @@ void ConnectionGraph::PointsTo(VectorSet &ptset, Node * n) { uint etgt = pn->edge_target(e); PointsToNode::EdgeType et = pn->edge_type(e); if (et == PointsToNode::PointsToEdge) { - ptset.set(etgt); + pt_ptset.set(etgt); edges_processed++; } else if (et == PointsToNode::DeferredEdge) { - worklist.push(etgt); + pt_worklist.push(etgt); edges_processed++; } else { assert(false,"neither PointsToEdge or DeferredEdge"); @@ -288,16 +290,17 @@ void ConnectionGraph::PointsTo(VectorSet &ptset, Node * n) { if (edges_processed == 0) { // no deferred or pointsto edges found. Assume the value was set // outside this method. Add the phantom object to the pointsto set. - ptset.set(_phantom_object); + pt_ptset.set(_phantom_object); } } + return &pt_ptset; } void ConnectionGraph::remove_deferred(uint ni, GrowableArray* deferred_edges, VectorSet* visited) { // This method is most expensive during ConnectionGraph construction. // Reuse vectorSet and an additional growable array for deferred edges. deferred_edges->clear(); - visited->Clear(); + visited->Reset(); visited->set(ni); PointsToNode *ptn = ptnode_adr(ni); @@ -1009,7 +1012,6 @@ void ConnectionGraph::split_unique_types(GrowableArray &alloc_worklist) uint new_index_start = (uint) _compile->num_alias_types(); Arena* arena = Thread::current()->resource_area(); VectorSet visited(arena); - VectorSet ptset(arena); // Phase 1: Process possible allocations from alloc_worklist. @@ -1137,10 +1139,9 @@ void ConnectionGraph::split_unique_types(GrowableArray &alloc_worklist) } } } else if (n->is_AddP()) { - ptset.Clear(); - PointsTo(ptset, get_addp_base(n)); - assert(ptset.Size() == 1, "AddP address is unique"); - uint elem = ptset.getelem(); // Allocation node's index + VectorSet* ptset = PointsTo(get_addp_base(n)); + assert(ptset->Size() == 1, "AddP address is unique"); + uint elem = ptset->getelem(); // Allocation node's index if (elem == _phantom_object) { assert(false, "escaped allocation"); continue; // Assume the value was set outside this method. @@ -1157,10 +1158,9 @@ void ConnectionGraph::split_unique_types(GrowableArray &alloc_worklist) assert(n->is_Phi(), "loops only through Phi's"); continue; // already processed } - ptset.Clear(); - PointsTo(ptset, n); - if (ptset.Size() == 1) { - uint elem = ptset.getelem(); // Allocation node's index + VectorSet* ptset = PointsTo(n); + if (ptset->Size() == 1) { + uint elem = ptset->getelem(); // Allocation node's index if (elem == _phantom_object) { assert(false, "escaped allocation"); continue; // Assume the value was set outside this method. @@ -1434,7 +1434,7 @@ void ConnectionGraph::split_unique_types(GrowableArray &alloc_worklist) // Update the memory inputs of MemNodes with the value we computed // in Phase 2 and move stores memory users to corresponding memory slices. #ifdef ASSERT - visited.Clear(); + visited.Reset(); Node_Stack old_mems(arena, _compile->unique() >> 2); #endif for (uint i = 0; i < nodes_size(); i++) { @@ -1640,7 +1640,6 @@ bool ConnectionGraph::compute_escape() { #undef CG_BUILD_ITER_LIMIT Arena* arena = Thread::current()->resource_area(); - VectorSet ptset(arena); VectorSet visited(arena); worklist.clear(); @@ -1657,7 +1656,7 @@ bool ConnectionGraph::compute_escape() { if (n->is_AddP()) { // Search for objects which are not scalar replaceable // and adjust their escape state. - verify_escape_state(ni, ptset, igvn); + adjust_escape_state(ni, igvn); } } } @@ -1776,8 +1775,8 @@ bool ConnectionGraph::compute_escape() { return has_non_escaping_obj; } -// Search for objects which are not scalar replaceable. -void ConnectionGraph::verify_escape_state(int nidx, VectorSet& ptset, PhaseTransform* phase) { +// Adjust escape state after Connection Graph is built. +void ConnectionGraph::adjust_escape_state(int nidx, PhaseTransform* phase) { PointsToNode* ptn = ptnode_adr(nidx); Node* n = ptn->_node; assert(n->is_AddP(), "Should be called for AddP nodes only"); @@ -1792,9 +1791,8 @@ void ConnectionGraph::verify_escape_state(int nidx, VectorSet& ptset, PhaseTrans int offset = ptn->offset(); Node* base = get_addp_base(n); - ptset.Clear(); - PointsTo(ptset, base); - int ptset_size = ptset.Size(); + VectorSet* ptset = PointsTo(base); + int ptset_size = ptset->Size(); // Check if a oop field's initializing value is recorded and add // a corresponding NULL field's value if it is not recorded. @@ -1814,7 +1812,7 @@ void ConnectionGraph::verify_escape_state(int nidx, VectorSet& ptset, PhaseTrans // Do a simple control flow analysis to distinguish above cases. // if (offset != Type::OffsetBot && ptset_size == 1) { - uint elem = ptset.getelem(); // Allocation node's index + uint elem = ptset->getelem(); // Allocation node's index // It does not matter if it is not Allocation node since // only non-escaping allocations are scalar replaced. if (ptnode_adr(elem)->_node->is_Allocate() && @@ -1913,7 +1911,7 @@ void ConnectionGraph::verify_escape_state(int nidx, VectorSet& ptset, PhaseTrans // if (ptset_size > 1 || ptset_size != 0 && (has_LoadStore || offset == Type::OffsetBot)) { - for( VectorSetI j(&ptset); j.test(); ++j ) { + for( VectorSetI j(ptset); j.test(); ++j ) { set_escape_state(j.elem, PointsToNode::ArgEscape); ptnode_adr(j.elem)->_scalar_replaceable = false; } @@ -1937,7 +1935,6 @@ void ConnectionGraph::process_call_arguments(CallNode *call, PhaseTransform *pha // Stub calls, objects do not escape but they are not scale replaceable. // Adjust escape state for outgoing arguments. const TypeTuple * d = call->tf()->domain(); - VectorSet ptset(Thread::current()->resource_area()); for (uint i = TypeFunc::Parms; i < d->cnt(); i++) { const Type* at = d->field_at(i); Node *arg = call->in(i)->uncast(); @@ -1970,9 +1967,7 @@ void ConnectionGraph::process_call_arguments(CallNode *call, PhaseTransform *pha // arg = get_addp_base(arg); } - ptset.Clear(); - PointsTo(ptset, arg); - for( VectorSetI j(&ptset); j.test(); ++j ) { + for( VectorSetI j(PointsTo(arg)); j.test(); ++j ) { uint pt = j.elem; set_escape_state(pt, PointsToNode::ArgEscape); } @@ -1990,7 +1985,6 @@ void ConnectionGraph::process_call_arguments(CallNode *call, PhaseTransform *pha // fall-through if not a Java method or no analyzer information if (call_analyzer != NULL) { const TypeTuple * d = call->tf()->domain(); - VectorSet ptset(Thread::current()->resource_area()); bool copy_dependencies = false; for (uint i = TypeFunc::Parms; i < d->cnt(); i++) { const Type* at = d->field_at(i); @@ -2015,9 +2009,7 @@ void ConnectionGraph::process_call_arguments(CallNode *call, PhaseTransform *pha copy_dependencies = true; } - ptset.Clear(); - PointsTo(ptset, arg); - for( VectorSetI j(&ptset); j.test(); ++j ) { + for( VectorSetI j(PointsTo(arg)); j.test(); ++j ) { uint pt = j.elem; if (global_escapes) { //The argument global escapes, mark everything it could point to @@ -2045,15 +2037,12 @@ void ConnectionGraph::process_call_arguments(CallNode *call, PhaseTransform *pha { // adjust escape state for outgoing arguments const TypeTuple * d = call->tf()->domain(); - VectorSet ptset(Thread::current()->resource_area()); for (uint i = TypeFunc::Parms; i < d->cnt(); i++) { const Type* at = d->field_at(i); if (at->isa_oopptr() != NULL) { Node *arg = call->in(i)->uncast(); set_escape_state(arg->_idx, PointsToNode::GlobalEscape); - ptset.Clear(); - PointsTo(ptset, arg); - for( VectorSetI j(&ptset); j.test(); ++j ) { + for( VectorSetI j(PointsTo(arg)); j.test(); ++j ) { uint pt = j.elem; set_escape_state(pt, PointsToNode::GlobalEscape); } @@ -2515,9 +2504,7 @@ void ConnectionGraph::build_connection_graph(Node *n, PhaseTransform *phase) { { Node *base = get_addp_base(n); // Create a field edge to this node from everything base could point to. - VectorSet ptset(Thread::current()->resource_area()); - PointsTo(ptset, base); - for( VectorSetI i(&ptset); i.test(); ++i ) { + for( VectorSetI i(PointsTo(base)); i.test(); ++i ) { uint pt = i.elem; add_field_edge(pt, n_idx, address_offset(n, phase)); } @@ -2583,10 +2570,8 @@ void ConnectionGraph::build_connection_graph(Node *n, PhaseTransform *phase) { // For everything "adr_base" could point to, create a deferred edge from // this node to each field with the same offset. - VectorSet ptset(Thread::current()->resource_area()); - PointsTo(ptset, adr_base); int offset = address_offset(adr, phase); - for( VectorSetI i(&ptset); i.test(); ++i ) { + for( VectorSetI i(PointsTo(adr_base)); i.test(); ++i ) { uint pt = i.elem; add_deferred_edge_to_fields(n_idx, pt, offset); } @@ -2676,9 +2661,7 @@ void ConnectionGraph::build_connection_graph(Node *n, PhaseTransform *phase) { Node *val = n->in(MemNode::ValueIn)->uncast(); // For everything "adr_base" could point to, create a deferred edge // to "val" from each field with the same offset. - VectorSet ptset(Thread::current()->resource_area()); - PointsTo(ptset, adr_base); - for( VectorSetI i(&ptset); i.test(); ++i ) { + for( VectorSetI i(PointsTo(adr_base)); i.test(); ++i ) { uint pt = i.elem; add_edge_from_fields(pt, val->_idx, address_offset(adr, phase)); } diff --git a/hotspot/src/share/vm/opto/escape.hpp b/hotspot/src/share/vm/opto/escape.hpp index 51198305bbf..0cd00f406bf 100644 --- a/hotspot/src/share/vm/opto/escape.hpp +++ b/hotspot/src/share/vm/opto/escape.hpp @@ -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 @@ -268,7 +268,12 @@ private: // walk the connection graph starting at the node corresponding to "n" and // add the index of everything it could point to, to "ptset". This may cause // Phi's encountered to get (re)processed (which requires "phase".) - void PointsTo(VectorSet &ptset, Node * n); + VectorSet* PointsTo(Node * n); + + // Reused structures for PointsTo(). + VectorSet pt_ptset; + VectorSet pt_visited; + GrowableArray pt_worklist; // Edge manipulation. The "from_i" and "to_i" arguments are the // node indices of the source and destination of the edge @@ -334,8 +339,11 @@ private: // Set the escape state of a node void set_escape_state(uint ni, PointsToNode::EscapeState es); - // Search for objects which are not scalar replaceable. - void verify_escape_state(int nidx, VectorSet& ptset, PhaseTransform* phase); + // Adjust escape state after Connection Graph is built. + void adjust_escape_state(int nidx, PhaseTransform* phase); + + // Compute the escape information + bool compute_escape(); public: ConnectionGraph(Compile *C, PhaseIterGVN *igvn); @@ -346,9 +354,6 @@ public: // Perform escape analysis static void do_analysis(Compile *C, PhaseIterGVN *igvn); - // Compute the escape information - bool compute_escape(); - // escape state of a node PointsToNode::EscapeState escape_state(Node *n); diff --git a/hotspot/src/share/vm/opto/gcm.cpp b/hotspot/src/share/vm/opto/gcm.cpp index 1a0116445d2..2122f7ca733 100644 --- a/hotspot/src/share/vm/opto/gcm.cpp +++ b/hotspot/src/share/vm/opto/gcm.cpp @@ -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 diff --git a/hotspot/src/share/vm/opto/indexSet.cpp b/hotspot/src/share/vm/opto/indexSet.cpp index efbb4e3c370..4ba99e72783 100644 --- a/hotspot/src/share/vm/opto/indexSet.cpp +++ b/hotspot/src/share/vm/opto/indexSet.cpp @@ -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 @@ -39,12 +39,12 @@ IndexSet::BitBlock IndexSet::_empty_block = IndexSet::BitBlock(); #ifdef ASSERT // Initialize statistics counters -uint IndexSet::_alloc_new = 0; -uint IndexSet::_alloc_total = 0; +julong IndexSet::_alloc_new = 0; +julong IndexSet::_alloc_total = 0; -long IndexSet::_total_bits = 0; -long IndexSet::_total_used_blocks = 0; -long IndexSet::_total_unused_blocks = 0; +julong IndexSet::_total_bits = 0; +julong IndexSet::_total_used_blocks = 0; +julong IndexSet::_total_unused_blocks = 0; // Per set, or all sets operation tracing int IndexSet::_serial_count = 1; @@ -141,7 +141,7 @@ void IndexSet::populate_free_list() { #ifdef ASSERT if (CollectIndexSetStatistics) { - _alloc_new += bitblock_alloc_chunk_size; + inc_stat_counter(&_alloc_new, bitblock_alloc_chunk_size); } #endif } @@ -154,7 +154,7 @@ void IndexSet::populate_free_list() { IndexSet::BitBlock *IndexSet::alloc_block() { #ifdef ASSERT if (CollectIndexSetStatistics) { - _alloc_total++; + inc_stat_counter(&_alloc_total, 1); } #endif Compile *compile = Compile::current(); @@ -391,13 +391,13 @@ void IndexSet::dump() const { // Update block/bit counts to reflect that this set has been iterated over. void IndexSet::tally_iteration_statistics() const { - _total_bits += count(); + inc_stat_counter(&_total_bits, count()); for (uint i = 0; i < _max_blocks; i++) { if (_blocks[i] != &_empty_block) { - _total_used_blocks++; + inc_stat_counter(&_total_used_blocks, 1); } else { - _total_unused_blocks++; + inc_stat_counter(&_total_unused_blocks, 1); } } } @@ -406,17 +406,17 @@ void IndexSet::tally_iteration_statistics() const { // Print statistics about IndexSet usage. void IndexSet::print_statistics() { - long total_blocks = _total_used_blocks + _total_unused_blocks; + julong total_blocks = _total_used_blocks + _total_unused_blocks; tty->print_cr ("Accumulated IndexSet usage statistics:"); tty->print_cr ("--------------------------------------"); tty->print_cr (" Iteration:"); - tty->print_cr (" blocks visited: %d", total_blocks); - tty->print_cr (" blocks empty: %4.2f%%", 100.0*_total_unused_blocks/total_blocks); - tty->print_cr (" bit density (bits/used blocks): %4.2f%%", (double)_total_bits/_total_used_blocks); - tty->print_cr (" bit density (bits/all blocks): %4.2f%%", (double)_total_bits/total_blocks); + tty->print_cr (" blocks visited: " UINT64_FORMAT, total_blocks); + tty->print_cr (" blocks empty: %4.2f%%", 100.0*(double)_total_unused_blocks/total_blocks); + tty->print_cr (" bit density (bits/used blocks): %4.2f", (double)_total_bits/_total_used_blocks); + tty->print_cr (" bit density (bits/all blocks): %4.2f", (double)_total_bits/total_blocks); tty->print_cr (" Allocation:"); - tty->print_cr (" blocks allocated: %d", _alloc_new); - tty->print_cr (" blocks used/reused: %d", _alloc_total); + tty->print_cr (" blocks allocated: " UINT64_FORMAT, _alloc_new); + tty->print_cr (" blocks used/reused: " UINT64_FORMAT, _alloc_total); } //---------------------------- IndexSet::verify() ----------------------------- diff --git a/hotspot/src/share/vm/opto/indexSet.hpp b/hotspot/src/share/vm/opto/indexSet.hpp index 0c4119c2db2..ef5aed18b67 100644 --- a/hotspot/src/share/vm/opto/indexSet.hpp +++ b/hotspot/src/share/vm/opto/indexSet.hpp @@ -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 @@ -352,13 +352,13 @@ class IndexSet : public ResourceObj { void tally_iteration_statistics() const; // BitBlock allocation statistics - static uint _alloc_new; - static uint _alloc_total; + static julong _alloc_new; + static julong _alloc_total; // Block density statistics - static long _total_bits; - static long _total_used_blocks; - static long _total_unused_blocks; + static julong _total_bits; + static julong _total_used_blocks; + static julong _total_unused_blocks; // Sanity tests void verify() const; diff --git a/hotspot/src/share/vm/opto/locknode.hpp b/hotspot/src/share/vm/opto/locknode.hpp index 3858a038fc2..64a1027a73c 100644 --- a/hotspot/src/share/vm/opto/locknode.hpp +++ b/hotspot/src/share/vm/opto/locknode.hpp @@ -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 { diff --git a/hotspot/src/share/vm/opto/loopnode.cpp b/hotspot/src/share/vm/opto/loopnode.cpp index 785ef443985..204eeea65b8 100644 --- a/hotspot/src/share/vm/opto/loopnode.cpp +++ b/hotspot/src/share/vm/opto/loopnode.cpp @@ -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 @@ -1480,6 +1480,8 @@ void PhaseIdealLoop::eliminate_useless_predicates() { // Create a PhaseLoop. Build the ideal Loop tree. Map each Ideal Node to // its corresponding LoopNode. If 'optimize' is true, do some loop cleanups. void PhaseIdealLoop::build_and_optimize(bool do_split_ifs, bool do_loop_pred) { + ResourceMark rm; + int old_progress = C->major_progress(); // Reset major-progress flag for the driver's heuristics @@ -2013,7 +2015,7 @@ void PhaseIdealLoop::recompute_dom_depth() { if (_dom_stk == NULL) { uint init_size = C->unique() / 100; // Guess that 1/100 is a reasonable initial size. if (init_size < 10) init_size = 10; - _dom_stk = new (C->node_arena()) GrowableArray(C->node_arena(), init_size, 0, 0); + _dom_stk = new GrowableArray(init_size); } // Compute new depth for each node. for (i = 0; i < _idom_size; i++) { diff --git a/hotspot/src/share/vm/opto/loopnode.hpp b/hotspot/src/share/vm/opto/loopnode.hpp index f11b7c94233..7f44acccf63 100644 --- a/hotspot/src/share/vm/opto/loopnode.hpp +++ b/hotspot/src/share/vm/opto/loopnode.hpp @@ -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 @@ -700,7 +700,7 @@ private: PhaseIdealLoop( PhaseIterGVN &igvn) : PhaseTransform(Ideal_Loop), _igvn(igvn), - _dom_lca_tags(C->comp_arena()), + _dom_lca_tags(arena()), // Thread::resource_area _verify_me(NULL), _verify_only(true) { build_and_optimize(false, false); @@ -721,7 +721,7 @@ public: PhaseIdealLoop( PhaseIterGVN &igvn, bool do_split_ifs, bool do_loop_pred) : PhaseTransform(Ideal_Loop), _igvn(igvn), - _dom_lca_tags(C->comp_arena()), + _dom_lca_tags(arena()), // Thread::resource_area _verify_me(NULL), _verify_only(false) { build_and_optimize(do_split_ifs, do_loop_pred); @@ -731,7 +731,7 @@ public: PhaseIdealLoop( PhaseIterGVN &igvn, const PhaseIdealLoop *verify_me) : PhaseTransform(Ideal_Loop), _igvn(igvn), - _dom_lca_tags(C->comp_arena()), + _dom_lca_tags(arena()), // Thread::resource_area _verify_me(verify_me), _verify_only(false) { build_and_optimize(false, false); diff --git a/hotspot/src/share/vm/opto/node.cpp b/hotspot/src/share/vm/opto/node.cpp index 70f809b2973..8174605f4e5 100644 --- a/hotspot/src/share/vm/opto/node.cpp +++ b/hotspot/src/share/vm/opto/node.cpp @@ -743,6 +743,9 @@ void Node::add_req_batch( Node *n, uint m ) { //------------------------------del_req---------------------------------------- // Delete the required edge and compact the edge array void Node::del_req( uint idx ) { + assert( idx < _cnt, "oob"); + assert( !VerifyHashTableKeys || _hash_lock == 0, + "remove node from hash table before modifying it"); // First remove corresponding def-use edge Node *n = in(idx); if (n != NULL) n->del_out((Node *)this); diff --git a/hotspot/src/share/vm/opto/output.hpp b/hotspot/src/share/vm/opto/output.hpp index 7e3237198e3..51eaa5c5e2b 100644 --- a/hotspot/src/share/vm/opto/output.hpp +++ b/hotspot/src/share/vm/opto/output.hpp @@ -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; diff --git a/hotspot/src/share/vm/opto/phase.cpp b/hotspot/src/share/vm/opto/phase.cpp index 7bf7e6aec08..ae79a55d991 100644 --- a/hotspot/src/share/vm/opto/phase.cpp +++ b/hotspot/src/share/vm/opto/phase.cpp @@ -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 @@ -99,16 +99,18 @@ void Phase::print_timers() { tty->print_cr (" stub compilation : %3.3f sec.", Phase::_t_stubCompilation.seconds()); tty->print_cr (" Phases:"); tty->print_cr (" parse : %3.3f sec", Phase::_t_parser.seconds()); - if (DoEscapeAnalysis) { - tty->print_cr (" escape analysis : %3.3f sec", Phase::_t_escapeAnalysis.seconds()); - } tty->print_cr (" optimizer : %3.3f sec", Phase::_t_optimizer.seconds()); if( Verbose || WizardMode ) { + if (DoEscapeAnalysis) { + // EA is part of Optimizer. + tty->print_cr (" escape analysis: %3.3f sec", Phase::_t_escapeAnalysis.seconds()); + } tty->print_cr (" iterGVN : %3.3f sec", Phase::_t_iterGVN.seconds()); tty->print_cr (" idealLoop : %3.3f sec", Phase::_t_idealLoop.seconds()); tty->print_cr (" idealLoopVerify: %3.3f sec", Phase::_t_idealLoopVerify.seconds()); tty->print_cr (" ccp : %3.3f sec", Phase::_t_ccp.seconds()); tty->print_cr (" iterGVN2 : %3.3f sec", Phase::_t_iterGVN2.seconds()); + tty->print_cr (" macroExpand : %3.3f sec", Phase::_t_macroExpand.seconds()); tty->print_cr (" graphReshape : %3.3f sec", Phase::_t_graphReshaping.seconds()); double optimizer_subtotal = Phase::_t_iterGVN.seconds() + Phase::_t_idealLoop.seconds() + Phase::_t_ccp.seconds() + @@ -133,18 +135,15 @@ void Phase::print_timers() { double percent_of_regalloc = ((regalloc_subtotal == 0.0) ? 0.0 : (regalloc_subtotal / Phase::_t_registerAllocation.seconds() * 100.0)); tty->print_cr (" subtotal : %3.3f sec, %3.2f %%", regalloc_subtotal, percent_of_regalloc); } - tty->print_cr (" macroExpand : %3.3f sec", Phase::_t_macroExpand.seconds()); tty->print_cr (" blockOrdering : %3.3f sec", Phase::_t_blockOrdering.seconds()); tty->print_cr (" peephole : %3.3f sec", Phase::_t_peephole.seconds()); tty->print_cr (" codeGen : %3.3f sec", Phase::_t_codeGeneration.seconds()); tty->print_cr (" install_code : %3.3f sec", Phase::_t_registerMethod.seconds()); tty->print_cr (" -------------- : ----------"); double phase_subtotal = Phase::_t_parser.seconds() + - (DoEscapeAnalysis ? Phase::_t_escapeAnalysis.seconds() : 0.0) + Phase::_t_optimizer.seconds() + Phase::_t_graphReshaping.seconds() + Phase::_t_matcher.seconds() + Phase::_t_scheduler.seconds() + Phase::_t_registerAllocation.seconds() + Phase::_t_blockOrdering.seconds() + - Phase::_t_macroExpand.seconds() + Phase::_t_peephole.seconds() + Phase::_t_codeGeneration.seconds() + Phase::_t_registerMethod.seconds(); double percent_of_method_compile = ((phase_subtotal == 0.0) ? 0.0 : phase_subtotal / Phase::_t_methodCompilation.seconds()) * 100.0; // counters inside Compile::CodeGen include time for adapters and stubs diff --git a/hotspot/src/share/vm/opto/regmask.cpp b/hotspot/src/share/vm/opto/regmask.cpp index b1ba93801f9..3841a42fc53 100644 --- a/hotspot/src/share/vm/opto/regmask.cpp +++ b/hotspot/src/share/vm/opto/regmask.cpp @@ -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 */ diff --git a/hotspot/src/share/vm/opto/regmask.hpp b/hotspot/src/share/vm/opto/regmask.hpp index b1c280da298..7c3e7182580 100644 --- a/hotspot/src/share/vm/opto/regmask.hpp +++ b/hotspot/src/share/vm/opto/regmask.hpp @@ -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: // diff --git a/hotspot/src/share/vm/opto/runtime.cpp b/hotspot/src/share/vm/opto/runtime.cpp index 5231c0e0a10..b0544fef2ec 100644 --- a/hotspot/src/share/vm/opto/runtime.cpp +++ b/hotspot/src/share/vm/opto/runtime.cpp @@ -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: diff --git a/hotspot/src/share/vm/prims/forte.cpp b/hotspot/src/share/vm/prims/forte.cpp index c1cb5531263..3c48f01d245 100644 --- a/hotspot/src/share/vm/prims/forte.cpp +++ b/hotspot/src/share/vm/prims/forte.cpp @@ -520,6 +520,7 @@ static void forte_fill_call_trace_given_top(JavaThread* thd, // 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. diff --git a/hotspot/src/share/vm/prims/jniCheck.cpp b/hotspot/src/share/vm/prims/jniCheck.cpp index f344c0e3d40..6301c9865cb 100644 --- a/hotspot/src/share/vm/prims/jniCheck.cpp +++ b/hotspot/src/share/vm/prims/jniCheck.cpp @@ -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, diff --git a/hotspot/src/share/vm/prims/jni_md.h b/hotspot/src/share/vm/prims/jni_md.h index 3cf4017f4db..72aa1dc3977 100644 --- a/hotspot/src/share/vm/prims/jni_md.h +++ b/hotspot/src/share/vm/prims/jni_md.h @@ -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 /* diff --git a/hotspot/src/share/vm/prims/jvm.cpp b/hotspot/src/share/vm/prims/jvm.cpp index 86851e686ee..417052502cc 100644 --- a/hotspot/src/share/vm/prims/jvm.cpp +++ b/hotspot/src/share/vm/prims/jvm.cpp @@ -2585,7 +2585,7 @@ int jio_vfprintf(FILE* f, const char *fmt, va_list args) { } -int jio_printf(const char *fmt, ...) { +JNIEXPORT int jio_printf(const char *fmt, ...) { int len; va_list args; va_start(args, fmt); diff --git a/hotspot/src/share/vm/prims/jvm.h b/hotspot/src/share/vm/prims/jvm.h index ec8ca4049a6..07097af3cc5 100644 --- a/hotspot/src/share/vm/prims/jvm.h +++ b/hotspot/src/share/vm/prims/jvm.h @@ -1417,16 +1417,16 @@ JVM_GetHostName(char* name, int namelen); * 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); diff --git a/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.cpp b/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.cpp index 16bdd1291c5..fa08cf712d0 100644 --- a/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.cpp +++ b/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.cpp @@ -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() diff --git a/hotspot/src/share/vm/prims/jvmtiExport.cpp b/hotspot/src/share/vm/prims/jvmtiExport.cpp index 782ba3cfde6..49086af7869 100644 --- a/hotspot/src/share/vm/prims/jvmtiExport.cpp +++ b/hotspot/src/share/vm/prims/jvmtiExport.cpp @@ -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 @@ public: // pending CompiledMethodUnload support // -bool JvmtiExport::_have_pending_compiled_method_unload_events; -GrowableArray* JvmtiExport::_pending_compiled_method_unload_method_ids; -GrowableArray* 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 @@ void JvmtiExport::post_compiled_method_unload_internal(JavaThread* self, jmethod 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 @@ void JvmtiExport::post_compiled_method_unload_internal(JavaThread* self, jmethod } } -// 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 @@ jvmtiCompiledMethodLoadInlineRecord* create_inline_record(nmethod* nm) { } 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 @@ void JvmtiExport::post_compiled_method_load(nmethod *nm) { 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 @@ void JvmtiExport::post_compiled_method_load(JvmtiEnv* env, const jmethodID metho } } -// 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(10,true); - _pending_compiled_method_unload_code_begins = new (ResourceObj::C_HEAP) GrowableArray(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 @@ void JvmtiExport::post_dynamic_code_generated(const char *name, const void *code 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); } diff --git a/hotspot/src/share/vm/prims/jvmtiExport.hpp b/hotspot/src/share/vm/prims/jvmtiExport.hpp index c78384a5286..3bdff222a5f 100644 --- a/hotspot/src/share/vm/prims/jvmtiExport.hpp +++ b/hotspot/src/share/vm/prims/jvmtiExport.hpp @@ -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 @@ class JvmtiExport : public AllStatic { 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* _pending_compiled_method_unload_method_ids; - static GrowableArray* _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 @@ class JvmtiExport : public AllStatic { // 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 @@ class JvmtiExport : public AllStatic { 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); diff --git a/hotspot/src/share/vm/prims/jvmtiImpl.cpp b/hotspot/src/share/vm/prims/jvmtiImpl.cpp index 888d5bc18e6..7faf3eec57f 100644 --- a/hotspot/src/share/vm/prims/jvmtiImpl.cpp +++ b/hotspot/src/share/vm/prims/jvmtiImpl.cpp @@ -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 @@ void JvmtiSuspendControl::print() { 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 diff --git a/hotspot/src/share/vm/prims/jvmtiImpl.hpp b/hotspot/src/share/vm/prims/jvmtiImpl.hpp index 4f543cc4322..8adb5c44887 100644 --- a/hotspot/src/share/vm/prims/jvmtiImpl.hpp +++ b/hotspot/src/share/vm/prims/jvmtiImpl.hpp @@ -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 @@ public: #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); } diff --git a/hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp b/hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp index 0bc15e0b3bf..26e9e5bc857 100644 --- a/hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp +++ b/hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp @@ -1247,12 +1247,12 @@ jvmtiError VM_RedefineClasses::merge_cp_and_rewrite( // Constant pools are not easily reused so we allocate a new one // each time. // merge_cp is created unsafe for concurrent GC processing. It - // should be marked safe before discarding it because, even if - // garbage. If it crosses a card boundary, it may be scanned + // should be marked safe before discarding it. Even though + // garbage, if it crosses a card boundary, it may be scanned // in order to find the start of the first complete object on the card. constantPoolHandle merge_cp(THREAD, oopFactory::new_constantPool(merge_cp_length, - methodOopDesc::IsUnsafeConc, + oopDesc::IsUnsafeConc, THREAD)); int orig_length = old_cp->orig_length(); if (orig_length == 0) { @@ -2343,7 +2343,7 @@ void VM_RedefineClasses::set_new_constant_pool( // sized constant pool with the klass to save space. constantPoolHandle smaller_cp(THREAD, oopFactory::new_constantPool(scratch_cp_length, - methodOopDesc::IsUnsafeConc, + oopDesc::IsUnsafeConc, THREAD)); // preserve orig_length() value in the smaller copy int orig_length = scratch_cp->orig_length(); diff --git a/hotspot/src/share/vm/prims/methodHandleWalk.cpp b/hotspot/src/share/vm/prims/methodHandleWalk.cpp index 6419b14622d..61a7eeb4f70 100644 --- a/hotspot/src/share/vm/prims/methodHandleWalk.cpp +++ b/hotspot/src/share/vm/prims/methodHandleWalk.cpp @@ -1134,8 +1134,9 @@ int MethodHandleCompiler::cpool_primitive_put(BasicType bt, jvalue* con) { constantPoolHandle MethodHandleCompiler::get_constant_pool(TRAPS) const { constantPoolHandle nullHandle; - bool is_conc_safe = true; - constantPoolOop cpool_oop = oopFactory::new_constantPool(_constants.length(), is_conc_safe, CHECK_(nullHandle)); + constantPoolOop cpool_oop = oopFactory::new_constantPool(_constants.length(), + oopDesc::IsSafeConc, + CHECK_(nullHandle)); constantPoolHandle cpool(THREAD, cpool_oop); // Fill the real constant pool skipping the zero element. @@ -1180,10 +1181,9 @@ methodHandle MethodHandleCompiler::get_method_oop(TRAPS) const { else flags_bits = (/*JVM_MH_INVOKE_BITS |*/ JVM_ACC_PUBLIC | JVM_ACC_FINAL | JVM_ACC_SYNTHETIC); - bool is_conc_safe = true; methodOop m_oop = oopFactory::new_method(bytecode_length(), accessFlags_from(flags_bits), - 0, 0, 0, is_conc_safe, CHECK_(nullHandle)); + 0, 0, 0, oopDesc::IsSafeConc, CHECK_(nullHandle)); methodHandle m(THREAD, m_oop); m_oop = NULL; // oop not GC safe diff --git a/hotspot/src/share/vm/runtime/arguments.cpp b/hotspot/src/share/vm/runtime/arguments.cpp index 814e0df928b..c058be086c4 100644 --- a/hotspot/src/share/vm/runtime/arguments.cpp +++ b/hotspot/src/share/vm/runtime/arguments.cpp @@ -1410,7 +1410,7 @@ void Arguments::set_ergonomics_flags() { // by ergonomics. if (MaxHeapSize <= max_heap_for_compressed_oops()) { #if !defined(COMPILER1) || defined(TIERED) - if (FLAG_IS_DEFAULT(UseCompressedOops) && !UseG1GC) { + if (FLAG_IS_DEFAULT(UseCompressedOops)) { FLAG_SET_ERGO(bool, UseCompressedOops, true); } #endif @@ -3103,6 +3103,19 @@ jint Arguments::parse(const JavaVMInitArgs* args) { // Set flags if Aggressive optimization flags (-XX:+AggressiveOpts) enabled. set_aggressive_opts_flags(); + // Turn off biased locking for locking debug mode flags, + // which are subtlely different from each other but neither works with + // biased locking. + if (!UseFastLocking || UseHeavyMonitors) { + if (!FLAG_IS_DEFAULT(UseBiasedLocking) && UseBiasedLocking) { + // flag set to true on command line; warn the user that they + // can't enable biased locking here + warning("Biased Locking is not supported with locking debug flags" + "; ignoring UseBiasedLocking flag." ); + } + UseBiasedLocking = false; + } + #ifdef CC_INTERP // Clear flags not supported by the C++ interpreter FLAG_SET_DEFAULT(ProfileInterpreter, false); diff --git a/hotspot/src/share/vm/runtime/deoptimization.cpp b/hotspot/src/share/vm/runtime/deoptimization.cpp index 7944c5a74a7..36fd0be4bd3 100644 --- a/hotspot/src/share/vm/runtime/deoptimization.cpp +++ b/hotspot/src/share/vm/runtime/deoptimization.cpp @@ -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; diff --git a/hotspot/src/share/vm/runtime/dtraceJSDT.hpp b/hotspot/src/share/vm/runtime/dtraceJSDT.hpp index 15febe45916..d6c80c7374a 100644 --- a/hotspot/src/share/vm/runtime/dtraceJSDT.hpp +++ b/hotspot/src/share/vm/runtime/dtraceJSDT.hpp @@ -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; diff --git a/hotspot/src/share/vm/runtime/fprofiler.hpp b/hotspot/src/share/vm/runtime/fprofiler.hpp index 58a5f8ca081..2731dea7b6b 100644 --- a/hotspot/src/share/vm/runtime/fprofiler.hpp +++ b/hotspot/src/share/vm/runtime/fprofiler.hpp @@ -231,13 +231,13 @@ public: 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 @@ public: // 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 diff --git a/hotspot/src/share/vm/runtime/frame.cpp b/hotspot/src/share/vm/runtime/frame.cpp index c1ce9690752..5c205501a2c 100644 --- a/hotspot/src/share/vm/runtime/frame.cpp +++ b/hotspot/src/share/vm/runtime/frame.cpp @@ -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; diff --git a/hotspot/src/share/vm/runtime/frame.hpp b/hotspot/src/share/vm/runtime/frame.hpp index 8fc6699dbaa..4750f3a5a69 100644 --- a/hotspot/src/share/vm/runtime/frame.hpp +++ b/hotspot/src/share/vm/runtime/frame.hpp @@ -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 @@ class frame VALUE_OBJ_CLASS_SPEC { #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 }; diff --git a/hotspot/src/share/vm/runtime/frame.inline.hpp b/hotspot/src/share/vm/runtime/frame.inline.hpp index 9ecae452766..739a50b9a25 100644 --- a/hotspot/src/share/vm/runtime/frame.inline.hpp +++ b/hotspot/src/share/vm/runtime/frame.inline.hpp @@ -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 @@ inline bool frame::is_first_frame() const { #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 diff --git a/hotspot/src/share/vm/runtime/globals.hpp b/hotspot/src/share/vm/runtime/globals.hpp index 94bc7818841..667c14e9d43 100644 --- a/hotspot/src/share/vm/runtime/globals.hpp +++ b/hotspot/src/share/vm/runtime/globals.hpp @@ -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 @@ class CommandLineFlags { 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") \ \ @@ -712,6 +740,9 @@ class CommandLineFlags { develop(bool, PrintMalloc, false, \ "print all malloc/free calls") \ \ + develop(bool, PrintMallocStatistics, false, \ + "print malloc/free statistics") \ + \ develop(bool, ZapResourceArea, trueInDebug, \ "Zap freed resource/arena space with 0xABABABAB") \ \ @@ -762,6 +793,9 @@ class CommandLineFlags { 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 +1960,9 @@ class CommandLineFlags { 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") \ \ @@ -2851,9 +2888,13 @@ class CommandLineFlags { "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 +3584,13 @@ class CommandLineFlags { \ /* 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_ file on exit") \ @@ -3597,6 +3642,12 @@ class CommandLineFlags { 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, \ @@ -3625,7 +3676,7 @@ class CommandLineFlags { product(uintx, SharedReadOnlySize, 10*M, \ "Size of read-only space in permanent generation (in bytes)") \ \ - product(uintx, SharedMiscDataSize, 4*M, \ + product(uintx, SharedMiscDataSize, NOT_LP64(4*M) LP64_ONLY(5*M), \ "Size of the shared data area adjacent to the heap (in bytes)") \ \ product(uintx, SharedMiscCodeSize, 4*M, \ diff --git a/hotspot/src/share/vm/runtime/icache.hpp b/hotspot/src/share/vm/runtime/icache.hpp index d8b991fbd65..7ffce5b140d 100644 --- a/hotspot/src/share/vm/runtime/icache.hpp +++ b/hotspot/src/share/vm/runtime/icache.hpp @@ -77,6 +77,12 @@ class AbstractICache : AllStatic { #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 diff --git a/hotspot/src/share/vm/runtime/java.cpp b/hotspot/src/share/vm/runtime/java.cpp index ea7cc2860e5..939a6750e89 100644 --- a/hotspot/src/share/vm/runtime/java.cpp +++ b/hotspot/src/share/vm/runtime/java.cpp @@ -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 @@ -320,7 +326,7 @@ void print_statistics() { } print_bytecode_count(); - if (WizardMode) { + if (PrintMallocStatistics) { tty->print("allocation stats: "); alloc_stats.print(); tty->cr(); diff --git a/hotspot/src/share/vm/runtime/javaCalls.hpp b/hotspot/src/share/vm/runtime/javaCalls.hpp index 7567268e0f6..535bcc15957 100644 --- a/hotspot/src/share/vm/runtime/javaCalls.hpp +++ b/hotspot/src/share/vm/runtime/javaCalls.hpp @@ -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 diff --git a/hotspot/src/share/vm/runtime/javaFrameAnchor.hpp b/hotspot/src/share/vm/runtime/javaFrameAnchor.hpp index 314031b7ca0..af5d7728411 100644 --- a/hotspot/src/share/vm/runtime/javaFrameAnchor.hpp +++ b/hotspot/src/share/vm/runtime/javaFrameAnchor.hpp @@ -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 @@ friend class JavaCallWrapper; #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: diff --git a/hotspot/src/share/vm/runtime/mutexLocker.cpp b/hotspot/src/share/vm/runtime/mutexLocker.cpp index 25b0c339d01..b3d082f8865 100644 --- a/hotspot/src/share/vm/runtime/mutexLocker.cpp +++ b/hotspot/src/share/vm/runtime/mutexLocker.cpp @@ -129,7 +129,7 @@ Mutex* HotCardCache_lock = NULL; 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 @@ void mutex_init() { 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 diff --git a/hotspot/src/share/vm/runtime/mutexLocker.hpp b/hotspot/src/share/vm/runtime/mutexLocker.hpp index ad3c24ca8a5..58060b82887 100644 --- a/hotspot/src/share/vm/runtime/mutexLocker.hpp +++ b/hotspot/src/share/vm/runtime/mutexLocker.hpp @@ -131,7 +131,7 @@ extern Mutex* MMUTracker_lock; // protects the MMU 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 diff --git a/hotspot/src/share/vm/runtime/os.cpp b/hotspot/src/share/vm/runtime/os.cpp index 5b106f4fee9..f13b5e28812 100644 --- a/hotspot/src/share/vm/runtime/os.cpp +++ b/hotspot/src/share/vm/runtime/os.cpp @@ -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 @@ -72,9 +72,10 @@ int os::_processor_count = 0; size_t os::_page_sizes[os::page_sizes_max]; #ifndef PRODUCT -int os::num_mallocs = 0; // # of calls to malloc/realloc -size_t os::alloc_bytes = 0; // # of bytes allocated -int os::num_frees = 0; // # of calls to free +julong os::num_mallocs = 0; // # of calls to malloc/realloc +julong os::alloc_bytes = 0; // # of bytes allocated +julong os::num_frees = 0; // # of calls to free +julong os::free_bytes = 0; // # of bytes freed #endif // Fill in buffer with current local time as an ISO-8601 string. @@ -490,9 +491,9 @@ void print_neighbor_blocks(void* ptr) { } if (start_of_prev_block + space_before + size + space_after == start_of_this_block) { - tty->print_cr("### previous object: %p (%ld bytes)", obj, size); + tty->print_cr("### previous object: " PTR_FORMAT " (" SSIZE_FORMAT " bytes)", obj, size); } else { - tty->print_cr("### previous object (not sure if correct): %p (%ld bytes)", obj, size); + tty->print_cr("### previous object (not sure if correct): " PTR_FORMAT " (" SSIZE_FORMAT " bytes)", obj, size); } // now find successor block @@ -504,16 +505,16 @@ void print_neighbor_blocks(void* ptr) { start_of_next_block[1] == badResourceValue && start_of_next_block[2] == badResourceValue && start_of_next_block[3] == badResourceValue) { - tty->print_cr("### next object: %p (%ld bytes)", next_obj, next_size); + tty->print_cr("### next object: " PTR_FORMAT " (" SSIZE_FORMAT " bytes)", next_obj, next_size); } else { - tty->print_cr("### next object (not sure if correct): %p (%ld bytes)", next_obj, next_size); + tty->print_cr("### next object (not sure if correct): " PTR_FORMAT " (" SSIZE_FORMAT " bytes)", next_obj, next_size); } } void report_heap_error(void* memblock, void* bad, const char* where) { - tty->print_cr("## nof_mallocs = %d, nof_frees = %d", os::num_mallocs, os::num_frees); - tty->print_cr("## memory stomp: byte at %p %s object %p", bad, where, memblock); + tty->print_cr("## nof_mallocs = " UINT64_FORMAT ", nof_frees = " UINT64_FORMAT, os::num_mallocs, os::num_frees); + tty->print_cr("## memory stomp: byte at " PTR_FORMAT " %s object " PTR_FORMAT, bad, where, memblock); print_neighbor_blocks(memblock); fatal("memory stomping error"); } @@ -538,8 +539,8 @@ void verify_block(void* memblock) { #endif void* os::malloc(size_t size) { - NOT_PRODUCT(num_mallocs++); - NOT_PRODUCT(alloc_bytes += size); + NOT_PRODUCT(inc_stat_counter(&num_mallocs, 1)); + NOT_PRODUCT(inc_stat_counter(&alloc_bytes, size)); if (size == 0) { // return a valid pointer if size is zero @@ -562,26 +563,26 @@ void* os::malloc(size_t size) { #endif u_char* memblock = ptr + space_before; if ((intptr_t)memblock == (intptr_t)MallocCatchPtr) { - tty->print_cr("os::malloc caught, %lu bytes --> %p", size, memblock); + tty->print_cr("os::malloc caught, " SIZE_FORMAT " bytes --> " PTR_FORMAT, size, memblock); breakpoint(); } debug_only(if (paranoid) verify_block(memblock)); - if (PrintMalloc && tty != NULL) tty->print_cr("os::malloc %lu bytes --> %p", size, memblock); + if (PrintMalloc && tty != NULL) tty->print_cr("os::malloc " SIZE_FORMAT " bytes --> " PTR_FORMAT, size, memblock); return memblock; } void* os::realloc(void *memblock, size_t size) { - NOT_PRODUCT(num_mallocs++); - NOT_PRODUCT(alloc_bytes += size); #ifndef ASSERT + NOT_PRODUCT(inc_stat_counter(&num_mallocs, 1)); + NOT_PRODUCT(inc_stat_counter(&alloc_bytes, size)); return ::realloc(memblock, size); #else if (memblock == NULL) { - return os::malloc(size); + return malloc(size); } if ((intptr_t)memblock == (intptr_t)MallocCatchPtr) { - tty->print_cr("os::realloc caught %p", memblock); + tty->print_cr("os::realloc caught " PTR_FORMAT, memblock); breakpoint(); } verify_block(memblock); @@ -589,13 +590,13 @@ void* os::realloc(void *memblock, size_t size) { if (size == 0) return NULL; // always move the block void* ptr = malloc(size); - if (PrintMalloc) tty->print_cr("os::remalloc %lu bytes, %p --> %p", size, memblock, ptr); + if (PrintMalloc) tty->print_cr("os::remalloc " SIZE_FORMAT " bytes, " PTR_FORMAT " --> " PTR_FORMAT, size, memblock, ptr); // Copy to new memory if malloc didn't fail if ( ptr != NULL ) { memcpy(ptr, memblock, MIN2(size, get_size(memblock))); if (paranoid) verify_block(ptr); if ((intptr_t)ptr == (intptr_t)MallocCatchPtr) { - tty->print_cr("os::realloc caught, %lu bytes --> %p", size, ptr); + tty->print_cr("os::realloc caught, " SIZE_FORMAT " bytes --> " PTR_FORMAT, size, ptr); breakpoint(); } free(memblock); @@ -606,17 +607,14 @@ void* os::realloc(void *memblock, size_t size) { void os::free(void *memblock) { - NOT_PRODUCT(num_frees++); + NOT_PRODUCT(inc_stat_counter(&num_frees, 1)); #ifdef ASSERT if (memblock == NULL) return; if ((intptr_t)memblock == (intptr_t)MallocCatchPtr) { - if (tty != NULL) tty->print_cr("os::free caught %p", memblock); + if (tty != NULL) tty->print_cr("os::free caught " PTR_FORMAT, memblock); breakpoint(); } verify_block(memblock); - if (PrintMalloc && tty != NULL) - // tty->print_cr("os::free %p", memblock); - fprintf(stderr, "os::free %p\n", memblock); NOT_PRODUCT(if (MallocVerifyInterval > 0) check_heap()); // Added by detlefs. if (MallocCushion) { @@ -627,12 +625,18 @@ void os::free(void *memblock) { *p = (u_char)freeBlockPad; } size_t size = get_size(memblock); + inc_stat_counter(&free_bytes, size); u_char* end = ptr + space_before + size; for (u_char* q = end; q < end + MallocCushion; q++) { guarantee(*q == badResourceValue, "Thing freed should be malloc result."); *q = (u_char)freeBlockPad; } + if (PrintMalloc && tty != NULL) + fprintf(stderr, "os::free " SIZE_FORMAT " bytes --> " PTR_FORMAT "\n", size, memblock); + } else if (PrintMalloc && tty != NULL) { + // tty->print_cr("os::free %p", memblock); + fprintf(stderr, "os::free " PTR_FORMAT "\n", memblock); } #endif ::free((char*)memblock - space_before); diff --git a/hotspot/src/share/vm/runtime/os.hpp b/hotspot/src/share/vm/runtime/os.hpp index b1476b6395c..f7ac1bcf85f 100644 --- a/hotspot/src/share/vm/runtime/os.hpp +++ b/hotspot/src/share/vm/runtime/os.hpp @@ -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 @@ -559,9 +559,10 @@ class os: AllStatic { static char* strdup(const char *); // Like strdup #ifndef PRODUCT - static int num_mallocs; // # of calls to malloc/realloc - static size_t alloc_bytes; // # of bytes allocated - static int num_frees; // # of calls to free + static julong num_mallocs; // # of calls to malloc/realloc + static julong alloc_bytes; // # of bytes allocated + static julong num_frees; // # of calls to free + static julong free_bytes; // # of bytes freed #endif // SocketInterface (ex HPI SocketInterface ) @@ -614,6 +615,9 @@ class os: AllStatic { // 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. @@ -675,6 +679,12 @@ class os: AllStatic { #endif #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 diff --git a/hotspot/src/share/vm/runtime/registerMap.hpp b/hotspot/src/share/vm/runtime/registerMap.hpp index aea349b9316..da597d40ed4 100644 --- a/hotspot/src/share/vm/runtime/registerMap.hpp +++ b/hotspot/src/share/vm/runtime/registerMap.hpp @@ -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 @@ class RegisterMap : public StackObj { #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 }; diff --git a/hotspot/src/share/vm/runtime/relocator.hpp b/hotspot/src/share/vm/runtime/relocator.hpp index 7fc4241c800..c34866f746c 100644 --- a/hotspot/src/share/vm/runtime/relocator.hpp +++ b/hotspot/src/share/vm/runtime/relocator.hpp @@ -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 diff --git a/hotspot/src/share/vm/runtime/safepoint.cpp b/hotspot/src/share/vm/runtime/safepoint.cpp index 6edd8c9f8de..bd9a9e6eb32 100644 --- a/hotspot/src/share/vm/runtime/safepoint.cpp +++ b/hotspot/src/share/vm/runtime/safepoint.cpp @@ -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 diff --git a/hotspot/src/share/vm/runtime/serviceThread.cpp b/hotspot/src/share/vm/runtime/serviceThread.cpp new file mode 100644 index 00000000000..600398d1c12 --- /dev/null +++ b/hotspot/src/share/vm/runtime/serviceThread.cpp @@ -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; +} diff --git a/hotspot/src/share/vm/runtime/serviceThread.hpp b/hotspot/src/share/vm/runtime/serviceThread.hpp new file mode 100644 index 00000000000..42373e6f702 --- /dev/null +++ b/hotspot/src/share/vm/runtime/serviceThread.hpp @@ -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 diff --git a/hotspot/src/share/vm/runtime/sharedRuntime.cpp b/hotspot/src/share/vm/runtime/sharedRuntime.cpp index 801189ce561..1fa811e0bd5 100644 --- a/hotspot/src/share/vm/runtime/sharedRuntime.cpp +++ b/hotspot/src/share/vm/runtime/sharedRuntime.cpp @@ -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 @@ void SharedRuntime::get_utf(oopDesc* src, address dst) { 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 diff --git a/hotspot/src/share/vm/runtime/simpleThresholdPolicy.cpp b/hotspot/src/share/vm/runtime/simpleThresholdPolicy.cpp index 409c7534026..4d23753521f 100644 --- a/hotspot/src/share/vm/runtime/simpleThresholdPolicy.cpp +++ b/hotspot/src/share/vm/runtime/simpleThresholdPolicy.cpp @@ -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 @@ -28,6 +28,7 @@ #include "runtime/arguments.hpp" #include "runtime/simpleThresholdPolicy.hpp" #include "runtime/simpleThresholdPolicy.inline.hpp" +#include "code/scopeDesc.hpp" // Print an event. void SimpleThresholdPolicy::print_event(EventType type, methodHandle mh, methodHandle imh, @@ -48,6 +49,18 @@ void SimpleThresholdPolicy::print_event(EventType type, methodHandle mh, methodH break; case COMPILE: tty->print("compile"); + break; + case KILL: + tty->print("kill"); + break; + case UPDATE: + tty->print("update"); + break; + case REPROFILE: + tty->print("reprofile"); + break; + default: + tty->print("unknown"); } tty->print(" level: %d ", level); @@ -69,13 +82,17 @@ void SimpleThresholdPolicy::print_event(EventType type, methodHandle mh, methodH if (type != COMPILE) { methodDataHandle mdh = mh->method_data(); int mdo_invocations = 0, mdo_backedges = 0; + int mdo_invocations_start = 0, mdo_backedges_start = 0; if (mdh() != NULL) { mdo_invocations = mdh->invocation_count(); mdo_backedges = mdh->backedge_count(); + mdo_invocations_start = mdh->invocation_count_start(); + mdo_backedges_start = mdh->backedge_count_start(); } - tty->print(" total: %d,%d mdo: %d,%d", + tty->print(" total: %d,%d mdo: %d(%d),%d(%d)", invocation_count, backedge_count, - mdo_invocations, mdo_backedges); + mdo_invocations, mdo_invocations_start, + mdo_backedges, mdo_backedges_start); tty->print(" max levels: %d,%d", mh->highest_comp_level(), mh->highest_osr_comp_level()); if (inlinee_event) { @@ -138,6 +155,20 @@ CompileTask* SimpleThresholdPolicy::select_task(CompileQueue* compile_queue) { return compile_queue->first(); } +void SimpleThresholdPolicy::reprofile(ScopeDesc* trap_scope, bool is_osr) { + for (ScopeDesc* sd = trap_scope;; sd = sd->sender()) { + if (PrintTieredEvents) { + methodHandle mh(sd->method()); + print_event(REPROFILE, mh, mh, InvocationEntryBci, CompLevel_none); + } + methodDataOop mdo = sd->method()->method_data(); + if (mdo != NULL) { + mdo->reset_start_counters(); + } + if (sd->is_top()) break; + } +} + nmethod* SimpleThresholdPolicy::event(methodHandle method, methodHandle inlinee, int branch_bci, int bci, CompLevel comp_level, TRAPS) { if (comp_level == CompLevel_none && @@ -254,46 +285,35 @@ bool SimpleThresholdPolicy::is_mature(methodOop method) { // Common transition function. Given a predicate determines if a method should transition to another level. CompLevel SimpleThresholdPolicy::common(Predicate p, methodOop method, CompLevel cur_level) { + if (is_trivial(method)) return CompLevel_simple; + CompLevel next_level = cur_level; int i = method->invocation_count(); int b = method->backedge_count(); switch(cur_level) { case CompLevel_none: - { - methodDataOop mdo = method->method_data(); - if (mdo != NULL) { - int mdo_i = mdo->invocation_count(); - int mdo_b = mdo->backedge_count(); - // If we were at full profile level, would we switch to full opt? - if ((this->*p)(mdo_i, mdo_b, CompLevel_full_profile)) { - next_level = CompLevel_full_optimization; - } - } - } - if (next_level == cur_level && (this->*p)(i, b, cur_level)) { - if (is_trivial(method)) { - next_level = CompLevel_simple; - } else { - next_level = CompLevel_full_profile; - } + // If we were at full profile level, would we switch to full opt? + if (common(p, method, CompLevel_full_profile) == CompLevel_full_optimization) { + next_level = CompLevel_full_optimization; + } else if ((this->*p)(i, b, cur_level)) { + next_level = CompLevel_full_profile; } break; case CompLevel_limited_profile: case CompLevel_full_profile: - if (is_trivial(method)) { - next_level = CompLevel_simple; - } else { + { methodDataOop mdo = method->method_data(); - guarantee(mdo != NULL, "MDO should always exist"); - if (mdo->would_profile()) { - int mdo_i = mdo->invocation_count(); - int mdo_b = mdo->backedge_count(); - if ((this->*p)(mdo_i, mdo_b, cur_level)) { + if (mdo != NULL) { + if (mdo->would_profile()) { + int mdo_i = mdo->invocation_count_delta(); + int mdo_b = mdo->backedge_count_delta(); + if ((this->*p)(mdo_i, mdo_b, cur_level)) { + next_level = CompLevel_full_optimization; + } + } else { next_level = CompLevel_full_optimization; } - } else { - next_level = CompLevel_full_optimization; } } break; @@ -303,12 +323,6 @@ CompLevel SimpleThresholdPolicy::common(Predicate p, methodOop method, CompLevel // Determine if a method should be compiled with a normal entry point at a different level. CompLevel SimpleThresholdPolicy::call_event(methodOop method, CompLevel cur_level) { - CompLevel highest_level = (CompLevel)method->highest_comp_level(); - if (cur_level == CompLevel_none && highest_level > cur_level) { - // TODO: We may want to try to do more extensive reprofiling in this case. - return highest_level; - } - CompLevel osr_level = (CompLevel) method->highest_osr_comp_level(); CompLevel next_level = common(&SimpleThresholdPolicy::call_predicate, method, cur_level); diff --git a/hotspot/src/share/vm/runtime/simpleThresholdPolicy.hpp b/hotspot/src/share/vm/runtime/simpleThresholdPolicy.hpp index 9bc180df528..527c3f60b59 100644 --- a/hotspot/src/share/vm/runtime/simpleThresholdPolicy.hpp +++ b/hotspot/src/share/vm/runtime/simpleThresholdPolicy.hpp @@ -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 @@ -62,7 +62,7 @@ protected: void set_c1_count(int x) { _c1_count = x; } void set_c2_count(int x) { _c2_count = x; } - enum EventType { CALL, LOOP, COMPILE }; + enum EventType { CALL, LOOP, COMPILE, KILL, UPDATE, REPROFILE }; void print_event(EventType type, methodHandle mh, methodHandle imh, int bci, CompLevel level); // Print policy-specific information if necessary virtual void print_specific(EventType type, methodHandle mh, methodHandle imh, int bci, CompLevel level) { } @@ -103,7 +103,7 @@ public: virtual void disable_compilation(methodOop method) { } // TODO: we should honour reprofiling requests in the future. Currently reprofiling // would happen but not to the extent we would ideally like. - virtual void reprofile(ScopeDesc* trap_scope, bool is_osr) { } + virtual void reprofile(ScopeDesc* trap_scope, bool is_osr); virtual nmethod* event(methodHandle method, methodHandle inlinee, int branch_bci, int bci, CompLevel comp_level, TRAPS); // Select task is called by CompileBroker. We should return a task or NULL. diff --git a/hotspot/src/share/vm/runtime/stackValueCollection.cpp b/hotspot/src/share/vm/runtime/stackValueCollection.cpp index 62bef8c8318..bc391e599aa 100644 --- a/hotspot/src/share/vm/runtime/stackValueCollection.cpp +++ b/hotspot/src/share/vm/runtime/stackValueCollection.cpp @@ -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(); diff --git a/hotspot/src/share/vm/runtime/statSampler.cpp b/hotspot/src/share/vm/runtime/statSampler.cpp index 250dbf37f89..bbb947737be 100644 --- a/hotspot/src/share/vm/runtime/statSampler.cpp +++ b/hotspot/src/share/vm/runtime/statSampler.cpp @@ -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 diff --git a/hotspot/src/share/vm/runtime/stubCodeGenerator.cpp b/hotspot/src/share/vm/runtime/stubCodeGenerator.cpp index ab9d763526f..ba395194f7f 100644 --- a/hotspot/src/share/vm/runtime/stubCodeGenerator.cpp +++ b/hotspot/src/share/vm/runtime/stubCodeGenerator.cpp @@ -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 diff --git a/hotspot/src/share/vm/runtime/stubRoutines.hpp b/hotspot/src/share/vm/runtime/stubRoutines.hpp index 46aaf7c0c1b..0eb0d1136af 100644 --- a/hotspot/src/share/vm/runtime/stubRoutines.hpp +++ b/hotspot/src/share/vm/runtime/stubRoutines.hpp @@ -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 @@ -104,6 +110,12 @@ class StubRoutines: AllStatic { #endif #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 diff --git a/hotspot/src/share/vm/runtime/thread.cpp b/hotspot/src/share/vm/runtime/thread.cpp index 93eb9df190f..014df57ea1c 100644 --- a/hotspot/src/share/vm/runtime/thread.cpp +++ b/hotspot/src/share/vm/runtime/thread.cpp @@ -962,22 +962,6 @@ static void call_initializeSystemClass(TRAPS) { 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 @@ void JavaThread::exit(bool destroy_vm, ExitType exit_type) { 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", + Klass::cast(pending_exception()->klass())->external_name(), + get_thread_name()); + CLEAR_PENDING_EXCEPTION; + } } } @@ -3284,12 +3276,6 @@ jint Threads::create_vm(JavaVMInitArgs* args, bool* canTryAgain) { vm_exit_during_initialization(Handle(THREAD, PENDING_EXCEPTION)); } -#ifdef KERNEL - if (JDK_Version::is_gte_jdk17x_version()) { - set_jkernel_boot_classloader_hook(THREAD); - } -#endif // KERNEL - #ifndef SERIALGC // Support for ConcurrentMarkSweep. This should be cleaned up // and better encapsulated. The ugly nested if test would go away diff --git a/hotspot/src/share/vm/runtime/thread.hpp b/hotspot/src/share/vm/runtime/thread.hpp index acdc227bdcc..73e0fda0209 100644 --- a/hotspot/src/share/vm/runtime/thread.hpp +++ b/hotspot/src/share/vm/runtime/thread.hpp @@ -1597,6 +1597,12 @@ public: #endif #ifdef TARGET_OS_ARCH_windows_x86 # include "thread_windows_x86.hpp" +#endif +#ifdef TARGET_OS_ARCH_linux_arm +# include "thread_linux_arm.hpp" +#endif +#ifdef TARGET_OS_ARCH_linux_ppc +# include "thread_linux_ppc.hpp" #endif @@ -1674,16 +1680,6 @@ inline size_t JavaThread::stack_available(address cur_sp) { return cur_sp > low_addr ? cur_sp - low_addr : 0; } -// A JavaThread for low memory detection support -class LowMemoryDetectorThread : public JavaThread { - friend class VMStructs; -public: - LowMemoryDetectorThread(ThreadFunction entry_point) : JavaThread(entry_point) {}; - - // Hide this thread from external view. - bool is_hidden_from_external_view() const { return true; } -}; - // A thread used for Compilation. class CompilerThread : public JavaThread { friend class VMStructs; diff --git a/hotspot/src/share/vm/runtime/threadLocalStorage.hpp b/hotspot/src/share/vm/runtime/threadLocalStorage.hpp index 8a78e579535..2ca4260d902 100644 --- a/hotspot/src/share/vm/runtime/threadLocalStorage.hpp +++ b/hotspot/src/share/vm/runtime/threadLocalStorage.hpp @@ -61,6 +61,12 @@ class ThreadLocalStorage : AllStatic { #endif #ifdef TARGET_OS_ARCH_windows_x86 # include "threadLS_windows_x86.hpp" +#endif +#ifdef TARGET_OS_ARCH_linux_arm +# include "threadLS_linux_arm.hpp" +#endif +#ifdef TARGET_OS_ARCH_linux_ppc +# include "threadLS_linux_ppc.hpp" #endif diff --git a/hotspot/src/share/vm/runtime/vmStructs.cpp b/hotspot/src/share/vm/runtime/vmStructs.cpp index bdcbbfd2581..8319877e6ac 100644 --- a/hotspot/src/share/vm/runtime/vmStructs.cpp +++ b/hotspot/src/share/vm/runtime/vmStructs.cpp @@ -93,6 +93,7 @@ #include "runtime/java.hpp" #include "runtime/javaCalls.hpp" #include "runtime/perfMemory.hpp" +#include "runtime/serviceThread.hpp" #include "runtime/sharedRuntime.hpp" #include "runtime/stubRoutines.hpp" #include "runtime/virtualspace.hpp" @@ -108,6 +109,12 @@ #ifdef TARGET_ARCH_zero # include "vmStructs_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "vmStructs_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "vmStructs_ppc.hpp" +#endif #ifdef TARGET_OS_FAMILY_linux # include "thread_linux.inline.hpp" #endif @@ -135,6 +142,12 @@ #ifdef TARGET_OS_ARCH_windows_x86 # include "vmStructs_windows_x86.hpp" #endif +#ifdef TARGET_OS_ARCH_linux_arm +# include "vmStructs_linux_arm.hpp" +#endif +#ifdef TARGET_OS_ARCH_linux_ppc +# include "vmStructs_linux_ppc.hpp" +#endif #ifndef SERIALGC #include "gc_implementation/concurrentMarkSweep/cmsPermGen.hpp" #include "gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp" @@ -166,6 +179,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 // Note: the cross-product of (c1, c2, product, nonproduct, ...), @@ -729,7 +748,6 @@ static inline uint64_t cast_uint64_t(size_t x) /***********************************/ \ \ static_field(StubRoutines, _call_stub_return_address, address) \ - IA32_ONLY(static_field(StubRoutines::x86,_call_stub_compiled_return, address)) \ \ /***************************************/ \ /* PcDesc and other compiled code info */ \ @@ -1232,7 +1250,7 @@ static inline uint64_t cast_uint64_t(size_t x) declare_type(WatcherThread, Thread) \ declare_type(JavaThread, Thread) \ declare_type(JvmtiAgentThread, JavaThread) \ - declare_type(LowMemoryDetectorThread, JavaThread) \ + declare_type(ServiceThread, JavaThread) \ declare_type(CompilerThread, JavaThread) \ declare_toplevel_type(OSThread) \ declare_toplevel_type(JavaFrameAnchor) \ diff --git a/hotspot/src/share/vm/runtime/vm_version.cpp b/hotspot/src/share/vm/runtime/vm_version.cpp index 5571db998e6..4afc8cea3b9 100644 --- a/hotspot/src/share/vm/runtime/vm_version.cpp +++ b/hotspot/src/share/vm/runtime/vm_version.cpp @@ -35,6 +35,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 const char* Abstract_VM_Version::_s_vm_release = Abstract_VM_Version::vm_release(); const char* Abstract_VM_Version::_s_internal_vm_info_string = Abstract_VM_Version::internal_vm_info_string(); @@ -220,12 +226,29 @@ const char* Abstract_VM_Version::internal_vm_info_string() { #endif #endif + #ifndef FLOAT_ARCH + #if defined(__SOFTFP__) + #define FLOAT_ARCH "-sflt" + #elif defined(E500V2) + #define FLOAT_ARCH "-e500v2" + #elif defined(ARM) + #define FLOAT_ARCH "-vfp" + #elif defined(PPC) + #define FLOAT_ARCH "-hflt" + #else + #define FLOAT_ARCH "" + #endif + #endif - return VMNAME " (" VM_RELEASE ") for " OS "-" CPU + return VMNAME " (" VM_RELEASE ") for " OS "-" CPU FLOAT_ARCH " JRE (" JRE_RELEASE_VERSION "), built on " __DATE__ " " __TIME__ " by " XSTR(HOTSPOT_BUILD_USER) " with " HOTSPOT_BUILD_COMPILER; } +const char *Abstract_VM_Version::vm_build_user() { + return HOTSPOT_BUILD_USER; +} + unsigned int Abstract_VM_Version::jvm_version() { return ((Abstract_VM_Version::vm_major_version() & 0xFF) << 24) | ((Abstract_VM_Version::vm_minor_version() & 0xFF) << 16) | diff --git a/hotspot/src/share/vm/runtime/vm_version.hpp b/hotspot/src/share/vm/runtime/vm_version.hpp index 6c2dfb7acfd..28b243f41ba 100644 --- a/hotspot/src/share/vm/runtime/vm_version.hpp +++ b/hotspot/src/share/vm/runtime/vm_version.hpp @@ -59,6 +59,7 @@ class Abstract_VM_Version: AllStatic { static const char* vm_info_string(); static const char* vm_release(); static const char* vm_platform_string(); + static const char* vm_build_user(); static int vm_major_version() { assert(_initialized, "not initialized"); return _vm_major_version; } static int vm_minor_version() { assert(_initialized, "not initialized"); return _vm_minor_version; } diff --git a/hotspot/src/share/vm/services/attachListener.hpp b/hotspot/src/share/vm/services/attachListener.hpp index f0abf1cd1f2..68cd834fe65 100644 --- a/hotspot/src/share/vm/services/attachListener.hpp +++ b/hotspot/src/share/vm/services/attachListener.hpp @@ -59,10 +59,10 @@ class AttachListener: AllStatic { static void detachall() KERNEL_RETURN; // indicates if the Attach Listener needs to be created at startup - static bool init_at_startup() KERNEL_RETURN_(return false;); + static bool init_at_startup() KERNEL_RETURN_(false); // indicates if we have a trigger to start the Attach Listener - static bool is_init_trigger() KERNEL_RETURN_(return false;); + static bool is_init_trigger() KERNEL_RETURN_(false); #ifdef SERVICES_KERNEL static bool is_attach_supported() { return false; } diff --git a/hotspot/src/share/vm/services/heapDumper.cpp b/hotspot/src/share/vm/services/heapDumper.cpp index be1b778242f..62c4756a040 100644 --- a/hotspot/src/share/vm/services/heapDumper.cpp +++ b/hotspot/src/share/vm/services/heapDumper.cpp @@ -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 @@ -1397,6 +1397,7 @@ class VM_HeapDumper : public VM_GC_Operation { public: VM_HeapDumper(DumpWriter* writer, bool gc_before_heap_dump, bool oome) : VM_GC_Operation(0 /* total collections, dummy, ignored */, + GCCause::_heap_dump /* GC Cause */, 0 /* total full collections, dummy, ignored */, gc_before_heap_dump) { _local_writer = writer; diff --git a/hotspot/src/share/vm/services/lowMemoryDetector.cpp b/hotspot/src/share/vm/services/lowMemoryDetector.cpp index 71c04e1b2c2..23c9e7467b4 100644 --- a/hotspot/src/share/vm/services/lowMemoryDetector.cpp +++ b/hotspot/src/share/vm/services/lowMemoryDetector.cpp @@ -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 @@ -34,55 +34,11 @@ #include "services/lowMemoryDetector.hpp" #include "services/management.hpp" -LowMemoryDetectorThread* LowMemoryDetector::_detector_thread = NULL; volatile bool LowMemoryDetector::_enabled_for_collected_pools = false; volatile jint LowMemoryDetector::_disabled_count = 0; -void LowMemoryDetector::initialize() { - EXCEPTION_MARK; - - instanceKlassHandle klass (THREAD, SystemDictionary::Thread_klass()); - instanceHandle thread_oop = klass->allocate_instance_handle(CHECK); - - const char thread_name[] = "Low Memory Detector"; - Handle string = java_lang_String::create_from_str(thread_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); - _detector_thread = new LowMemoryDetectorThread(&low_memory_detector_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 (_detector_thread == NULL || _detector_thread->osthread() == NULL) { - vm_exit_during_initialization("java.lang.OutOfMemoryError", - "unable to create new native thread"); - } - - java_lang_Thread::set_thread(thread_oop(), _detector_thread); - java_lang_Thread::set_priority(thread_oop(), NearMaxPriority); - java_lang_Thread::set_daemon(thread_oop()); - _detector_thread->set_threadObj(thread_oop()); - - Threads::add(_detector_thread); - Thread::start(_detector_thread); - } -} - bool LowMemoryDetector::has_pending_requests() { - assert(LowMemory_lock->owned_by_self(), "Must own LowMemory_lock"); + assert(Service_lock->owned_by_self(), "Must own Service_lock"); bool has_requests = false; int num_memory_pools = MemoryService::num_memory_pools(); for (int i = 0; i < num_memory_pools; i++) { @@ -100,47 +56,21 @@ bool LowMemoryDetector::has_pending_requests() { return has_requests; } -void LowMemoryDetector::low_memory_detector_thread_entry(JavaThread* jt, TRAPS) { - while (true) { - bool sensors_changed = false; +void LowMemoryDetector::process_sensor_changes(TRAPS) { + ResourceMark rm(THREAD); + HandleMark hm(THREAD); - { - // _no_safepoint_check_flag is used here as LowMemory_lock is a - // special lock and the VMThread may acquire this lock at safepoint. - // 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 LowMemoryDetector threads are - // not visible to external suspension. - - ThreadBlockInVM tbivm(jt); - - MutexLockerEx ml(LowMemory_lock, Mutex::_no_safepoint_check_flag); - while (!(sensors_changed = has_pending_requests())) { - // wait until one of the sensors has pending requests - LowMemory_lock->wait(Mutex::_no_safepoint_check_flag); - } + // No need to hold Service_lock to call out to Java + int num_memory_pools = MemoryService::num_memory_pools(); + for (int i = 0; i < num_memory_pools; i++) { + MemoryPool* pool = MemoryService::get_memory_pool(i); + SensorInfo* sensor = pool->usage_sensor(); + SensorInfo* gc_sensor = pool->gc_usage_sensor(); + if (sensor != NULL && sensor->has_pending_requests()) { + sensor->process_pending_requests(CHECK); } - - { - ResourceMark rm(THREAD); - HandleMark hm(THREAD); - - // No need to hold LowMemory_lock to call out to Java - int num_memory_pools = MemoryService::num_memory_pools(); - for (int i = 0; i < num_memory_pools; i++) { - MemoryPool* pool = MemoryService::get_memory_pool(i); - SensorInfo* sensor = pool->usage_sensor(); - SensorInfo* gc_sensor = pool->gc_usage_sensor(); - if (sensor != NULL && sensor->has_pending_requests()) { - sensor->process_pending_requests(CHECK); - } - if (gc_sensor != NULL && gc_sensor->has_pending_requests()) { - gc_sensor->process_pending_requests(CHECK); - } - } + if (gc_sensor != NULL && gc_sensor->has_pending_requests()) { + gc_sensor->process_pending_requests(CHECK); } } } @@ -148,7 +78,7 @@ void LowMemoryDetector::low_memory_detector_thread_entry(JavaThread* jt, TRAPS) // This method could be called from any Java threads // and also VMThread. void LowMemoryDetector::detect_low_memory() { - MutexLockerEx ml(LowMemory_lock, Mutex::_no_safepoint_check_flag); + MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag); bool has_pending_requests = false; int num_memory_pools = MemoryService::num_memory_pools(); @@ -166,7 +96,7 @@ void LowMemoryDetector::detect_low_memory() { } if (has_pending_requests) { - LowMemory_lock->notify_all(); + Service_lock->notify_all(); } } @@ -181,14 +111,14 @@ void LowMemoryDetector::detect_low_memory(MemoryPool* pool) { } { - MutexLockerEx ml(LowMemory_lock, Mutex::_no_safepoint_check_flag); + MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag); MemoryUsage usage = pool->get_memory_usage(); sensor->set_gauge_sensor_level(usage, pool->usage_threshold()); if (sensor->has_pending_requests()) { // notify sensor state update - LowMemory_lock->notify_all(); + Service_lock->notify_all(); } } } @@ -203,14 +133,14 @@ void LowMemoryDetector::detect_after_gc_memory(MemoryPool* pool) { } { - MutexLockerEx ml(LowMemory_lock, Mutex::_no_safepoint_check_flag); + MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag); MemoryUsage usage = pool->get_last_collection_usage(); sensor->set_counter_sensor_level(usage, pool->gc_usage_threshold()); if (sensor->has_pending_requests()) { // notify sensor state update - LowMemory_lock->notify_all(); + Service_lock->notify_all(); } } } @@ -384,8 +314,8 @@ void SensorInfo::trigger(int count, TRAPS) { } { - // Holds LowMemory_lock and update the sensor state - MutexLockerEx ml(LowMemory_lock, Mutex::_no_safepoint_check_flag); + // Holds Service_lock and update the sensor state + MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag); _sensor_on = true; _sensor_count += count; _pending_trigger_count = _pending_trigger_count - count; @@ -410,8 +340,8 @@ void SensorInfo::clear(int count, TRAPS) { } { - // Holds LowMemory_lock and update the sensor state - MutexLockerEx ml(LowMemory_lock, Mutex::_no_safepoint_check_flag); + // Holds Service_lock and update the sensor state + MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag); _sensor_on = false; _pending_clear_count = 0; _pending_trigger_count = _pending_trigger_count - count; diff --git a/hotspot/src/share/vm/services/lowMemoryDetector.hpp b/hotspot/src/share/vm/services/lowMemoryDetector.hpp index 6f3a4b06dd1..ce15bad2e21 100644 --- a/hotspot/src/share/vm/services/lowMemoryDetector.hpp +++ b/hotspot/src/share/vm/services/lowMemoryDetector.hpp @@ -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 @@ -58,8 +58,8 @@ // // May need to deal with hysteresis effect. // +// Memory detection code runs in the Service thread (serviceThread.hpp). -class LowMemoryDetectorThread; class OopClosure; class MemoryPool; @@ -211,23 +211,22 @@ public: }; class LowMemoryDetector : public AllStatic { -friend class LowMemoryDetectorDisabler; + friend class LowMemoryDetectorDisabler; + friend class ServiceThread; private: // true if any collected heap has low memory detection enabled static volatile bool _enabled_for_collected_pools; // > 0 if temporary disabed static volatile jint _disabled_count; - static LowMemoryDetectorThread* _detector_thread; - static void low_memory_detector_thread_entry(JavaThread* thread, TRAPS); static void check_memory_usage(); static bool has_pending_requests(); static bool temporary_disabled() { return _disabled_count > 0; } static void disable() { Atomic::inc(&_disabled_count); } static void enable() { Atomic::dec(&_disabled_count); } + static void process_sensor_changes(TRAPS); public: - static void initialize(); static void detect_low_memory(); static void detect_low_memory(MemoryPool* pool); static void detect_after_gc_memory(MemoryPool* pool); @@ -275,7 +274,6 @@ public: } } } - }; class LowMemoryDetectorDisabler: public StackObj { diff --git a/hotspot/src/share/vm/services/management.cpp b/hotspot/src/share/vm/services/management.cpp index c0a2f401e32..3c4f1481c75 100644 --- a/hotspot/src/share/vm/services/management.cpp +++ b/hotspot/src/share/vm/services/management.cpp @@ -38,6 +38,7 @@ #include "runtime/javaCalls.hpp" #include "runtime/jniHandles.hpp" #include "runtime/os.hpp" +#include "runtime/serviceThread.hpp" #include "services/classLoadingService.hpp" #include "services/heapDumper.hpp" #include "services/lowMemoryDetector.hpp" @@ -112,8 +113,8 @@ void Management::init() { } void Management::initialize(TRAPS) { - // Start the low memory detector thread - LowMemoryDetector::initialize(); + // Start the service thread + ServiceThread::initialize(); if (ManagementServer) { ResourceMark rm(THREAD); @@ -1310,7 +1311,7 @@ JVM_ENTRY(jobjectArray, jmm_DumpThreads(JNIEnv *env, jlongArray thread_ids, jboo if (locked_monitors) { // Constructs Object[] and int[] to contain the object monitor and the stack depth // where the thread locked it - objArrayOop array = oopFactory::new_system_objArray(num_locked_monitors, CHECK_NULL); + objArrayOop array = oopFactory::new_objArray(SystemDictionary::Object_klass(), num_locked_monitors, CHECK_NULL); objArrayHandle mh(THREAD, array); monitors_array = mh; @@ -1352,7 +1353,7 @@ JVM_ENTRY(jobjectArray, jmm_DumpThreads(JNIEnv *env, jlongArray thread_ids, jboo GrowableArray* locks = (tcl != NULL ? tcl->owned_locks() : NULL); int num_locked_synchronizers = (locks != NULL ? locks->length() : 0); - objArrayOop array = oopFactory::new_system_objArray(num_locked_synchronizers, CHECK_NULL); + objArrayOop array = oopFactory::new_objArray(SystemDictionary::Object_klass(), num_locked_synchronizers, CHECK_NULL); objArrayHandle sh(THREAD, array); synchronizers_array = sh; diff --git a/hotspot/src/share/vm/utilities/copy.hpp b/hotspot/src/share/vm/utilities/copy.hpp index 67c11a32d85..8772fe44f06 100644 --- a/hotspot/src/share/vm/utilities/copy.hpp +++ b/hotspot/src/share/vm/utilities/copy.hpp @@ -331,6 +331,12 @@ class Copy : AllStatic { #ifdef TARGET_ARCH_zero # include "copy_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "copy_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "copy_ppc.hpp" +#endif }; diff --git a/hotspot/src/share/vm/utilities/elfSymbolTable.cpp b/hotspot/src/share/vm/utilities/elfSymbolTable.cpp index 45f0b73bbc9..22773aa546b 100644 --- a/hotspot/src/share/vm/utilities/elfSymbolTable.cpp +++ b/hotspot/src/share/vm/utilities/elfSymbolTable.cpp @@ -39,13 +39,14 @@ ElfSymbolTable::ElfSymbolTable(FILE* file, Elf_Shdr shdr) { // try to load the string table long cur_offset = ftell(file); if (cur_offset != -1) { - m_symbols = (Elf_Sym*)NEW_C_HEAP_ARRAY(char, shdr.sh_size); + // call malloc so we can back up if memory allocation fails. + m_symbols = (Elf_Sym*)os::malloc(shdr.sh_size); if (m_symbols) { if (fseek(file, shdr.sh_offset, SEEK_SET) || fread((void*)m_symbols, shdr.sh_size, 1, file) != 1 || fseek(file, cur_offset, SEEK_SET)) { m_status = Decoder::file_invalid; - FREE_C_HEAP_ARRAY(char, m_symbols); + os::free(m_symbols); m_symbols = NULL; } } @@ -59,7 +60,7 @@ ElfSymbolTable::ElfSymbolTable(FILE* file, Elf_Shdr shdr) { ElfSymbolTable::~ElfSymbolTable() { if (m_symbols != NULL) { - FREE_C_HEAP_ARRAY(char, m_symbols); + os::free(m_symbols); } if (m_next != NULL) { diff --git a/jdk/src/windows/native/sun/jkernel/kernel.h b/hotspot/src/share/vm/utilities/errorReporter.cpp similarity index 75% rename from jdk/src/windows/native/sun/jkernel/kernel.h rename to hotspot/src/share/vm/utilities/errorReporter.cpp index f39f42374ac..9d10453948d 100644 --- a/jdk/src/windows/native/sun/jkernel/kernel.h +++ b/hotspot/src/share/vm/utilities/errorReporter.cpp @@ -1,12 +1,10 @@ /* - * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved. + * 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. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. + * 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 @@ -21,5 +19,14 @@ * 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. + * */ -void preJVMStart(); + +#include "precompiled.hpp" +#include "utilities/errorReporter.hpp" + +ErrorReporter::ErrorReporter() {} + +void ErrorReporter::call(FILE* fd, char* buffer, int length) { +} + diff --git a/hotspot/src/share/vm/utilities/errorReporter.hpp b/hotspot/src/share/vm/utilities/errorReporter.hpp new file mode 100644 index 00000000000..130ae2af301 --- /dev/null +++ b/hotspot/src/share/vm/utilities/errorReporter.hpp @@ -0,0 +1,40 @@ +/* + * 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_UTILITIES_ERRORREPORTER_HPP +#define SHARE_VM_UTILITIES_ERRORREPORTER_HPP + +#include "utilities/globalDefinitions.hpp" +#include "memory/allocation.hpp" + +class ErrorReporter : public StackObj { + +public: + ErrorReporter(); + ~ErrorReporter(){}; + + void call(FILE* fd, char *buffer, int length); +}; + +#endif // ndef SHARE_VM_UTILITIES_ERRORREPORTER_HPP diff --git a/hotspot/src/share/vm/utilities/globalDefinitions.hpp b/hotspot/src/share/vm/utilities/globalDefinitions.hpp index 56a9043e546..820b6abcb7e 100644 --- a/hotspot/src/share/vm/utilities/globalDefinitions.hpp +++ b/hotspot/src/share/vm/utilities/globalDefinitions.hpp @@ -328,6 +328,12 @@ extern int LogMinObjAlignmentInBytes; #ifdef TARGET_ARCH_zero # include "globalDefinitions_zero.hpp" #endif +#ifdef TARGET_ARCH_arm +# include "globalDefinitions_arm.hpp" +#endif +#ifdef TARGET_ARCH_ppc +# include "globalDefinitions_ppc.hpp" +#endif // The byte alignment to be used by Arena::Amalloc. See bugid 4169348. diff --git a/hotspot/src/share/vm/utilities/hashtable.hpp b/hotspot/src/share/vm/utilities/hashtable.hpp index 011da0b502a..21747e6855b 100644 --- a/hotspot/src/share/vm/utilities/hashtable.hpp +++ b/hotspot/src/share/vm/utilities/hashtable.hpp @@ -276,7 +276,7 @@ public: } int index_for(Symbol* name, Handle loader) { - return hash_to_index(compute_hash(name, loader)); + return this->hash_to_index(compute_hash(name, loader)); } }; diff --git a/hotspot/src/share/vm/utilities/macros.hpp b/hotspot/src/share/vm/utilities/macros.hpp index f46da8efa91..808b9d0ce26 100644 --- a/hotspot/src/share/vm/utilities/macros.hpp +++ b/hotspot/src/share/vm/utilities/macros.hpp @@ -46,7 +46,7 @@ #define SERVICES_KERNEL #define KERNEL_RETURN {} -#define KERNEL_RETURN_(code) { code } +#define KERNEL_RETURN_(code) { return code; } #else // KERNEL diff --git a/hotspot/src/share/vm/utilities/ostream.cpp b/hotspot/src/share/vm/utilities/ostream.cpp index acad5fda1e4..26e630a187c 100644 --- a/hotspot/src/share/vm/utilities/ostream.cpp +++ b/hotspot/src/share/vm/utilities/ostream.cpp @@ -314,6 +314,11 @@ fileStream::fileStream(const char* file_name) { _need_close = true; } +fileStream::fileStream(const char* file_name, const char* opentype) { + _file = fopen(file_name, opentype); + _need_close = true; +} + void fileStream::write(const char* s, size_t len) { if (_file != NULL) { // Make an unused local variable to avoid warning from gcc 4.x compiler. @@ -322,6 +327,25 @@ void fileStream::write(const char* s, size_t len) { update_position(s, len); } +long fileStream::fileSize() { + long size = -1; + if (_file != NULL) { + long pos = ::ftell(_file); + if (::fseek(_file, 0, SEEK_END) == 0) { + size = ::ftell(_file); + } + ::fseek(_file, pos, SEEK_SET); + } + return size; +} + +char* fileStream::readln(char *data, int count ) { + char * ret = ::fgets(data, count, _file); + //Get rid of annoying \n char + data[::strlen(data)-1] = '\0'; + return ret; +} + fileStream::~fileStream() { if (_file != NULL) { if (_need_close) fclose(_file); @@ -675,6 +699,17 @@ void ttyLocker::release_tty(intx holder) { defaultStream::instance->release(holder); } +bool ttyLocker::release_tty_if_locked() { + intx thread_id = os::current_thread_id(); + if (defaultStream::instance->writer() == thread_id) { + // release the lock and return true so callers know if was + // previously held. + release_tty(thread_id); + return true; + } + return false; +} + void ttyLocker::break_tty_lock_for_safepoint(intx holder) { if (defaultStream::instance != NULL && defaultStream::instance->writer() == holder) { diff --git a/hotspot/src/share/vm/utilities/ostream.hpp b/hotspot/src/share/vm/utilities/ostream.hpp index fd86a8da9e7..047cdac5821 100644 --- a/hotspot/src/share/vm/utilities/ostream.hpp +++ b/hotspot/src/share/vm/utilities/ostream.hpp @@ -123,18 +123,36 @@ extern outputStream* gclog_or_tty; // stream for gc log if -Xloggc:, or tty // advisory locking for the shared tty stream: class ttyLocker: StackObj { + friend class ttyUnlocker; private: intx _holder; public: static intx hold_tty(); // returns a "holder" token static void release_tty(intx holder); // must witness same token + static bool release_tty_if_locked(); // returns true if lock was released static void break_tty_lock_for_safepoint(intx holder); ttyLocker() { _holder = hold_tty(); } ~ttyLocker() { release_tty(_holder); } }; +// Release the tty lock if it's held and reacquire it if it was +// locked. Used to avoid lock ordering problems. +class ttyUnlocker: StackObj { + private: + bool _was_locked; + public: + ttyUnlocker() { + _was_locked = ttyLocker::release_tty_if_locked(); + } + ~ttyUnlocker() { + if (_was_locked) { + ttyLocker::hold_tty(); + } + } +}; + // for writing to strings; buffer will expand automatically class stringStream : public outputStream { protected: @@ -159,10 +177,17 @@ class fileStream : public outputStream { bool _need_close; public: fileStream(const char* file_name); + fileStream(const char* file_name, const char* opentype); fileStream(FILE* file) { _file = file; _need_close = false; } ~fileStream(); bool is_open() const { return _file != NULL; } + void set_need_close(bool b) { _need_close = b;} virtual void write(const char* c, size_t len); + size_t read(void *data, size_t size, size_t count) { return ::fread(data, size, count, _file); } + char* readln(char *data, int count); + int eof() { return feof(_file); } + long fileSize(); + void rewind() { ::rewind(_file); } void flush(); }; diff --git a/hotspot/src/share/vm/utilities/taskqueue.hpp b/hotspot/src/share/vm/utilities/taskqueue.hpp index 8cfd83df395..79f293444d9 100644 --- a/hotspot/src/share/vm/utilities/taskqueue.hpp +++ b/hotspot/src/share/vm/utilities/taskqueue.hpp @@ -47,6 +47,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 // Simple TaskQueue stats that are collected by default in debug builds. diff --git a/hotspot/src/share/vm/utilities/vmError.cpp b/hotspot/src/share/vm/utilities/vmError.cpp index 662e5a7c91a..9785d649d08 100644 --- a/hotspot/src/share/vm/utilities/vmError.cpp +++ b/hotspot/src/share/vm/utilities/vmError.cpp @@ -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 @@ -35,6 +35,7 @@ #include "utilities/debug.hpp" #include "utilities/decoder.hpp" #include "utilities/defaultStream.hpp" +#include "utilities/errorReporter.hpp" #include "utilities/top.hpp" #include "utilities/vmError.hpp" @@ -200,6 +201,15 @@ static void print_bug_submit_message(outputStream *out, Thread *thread) { out->print_raw_cr("#"); } +bool VMError::coredump_status; +char VMError::coredump_message[O_BUFLEN]; + +void VMError::report_coredump_status(const char* message, bool status) { + coredump_status = status; + strncpy(coredump_message, message, sizeof(coredump_message)); + coredump_message[sizeof(coredump_message)-1] = 0; +} + // Return a string to describe the error char* VMError::error_string(char* buf, int buflen) { @@ -453,6 +463,15 @@ void VMError::report(outputStream* st) { st->cr(); st->print_cr("#"); } + STEP(63, "(printing core file information)") + st->print("# "); + if (coredump_status) { + st->print("Core dump written. Default location: %s", coredump_message); + } else { + st->print("Failed to write core dump. %s", coredump_message); + } + st->print_cr(""); + st->print_cr("#"); STEP(65, "(printing bug submit message)") @@ -769,6 +788,7 @@ void VMError::report_and_die() { // then save detailed information in log file (verbose = true). static bool out_done = false; // done printing to standard out static bool log_done = false; // done saving error log + static bool transmit_report_done = false; // done error reporting static fdStream log; // error log if (SuppressFatalErrorMessage) { @@ -790,6 +810,9 @@ void VMError::report_and_die() { ShowMessageBoxOnError = false; } + // Write a minidump on Windows, check core dump limits on Linux/Solaris + os::check_or_create_dump(_siginfo, _context, buffer, sizeof(buffer)); + // reset signal handlers or exception filter; make sure recursive crashes // are handled properly. reset_signal_handlers(); @@ -859,7 +882,7 @@ void VMError::report_and_die() { bool copy_ok = Arguments::copy_expand_pid(ErrorFile, strlen(ErrorFile), buffer, sizeof(buffer)); if (copy_ok) { - fd = open(buffer, O_WRONLY | O_CREAT | O_TRUNC, 0666); + fd = open(buffer, O_RDWR | O_CREAT | O_TRUNC, 0666); } } @@ -870,7 +893,7 @@ void VMError::report_and_die() { // so use the default name in the current directory jio_snprintf(&buffer[len], sizeof(buffer)-len, "%shs_err_pid%u.log", os::file_separator(), os::current_process_id()); - fd = open(buffer, O_WRONLY | O_CREAT | O_TRUNC, 0666); + fd = open(buffer, O_RDWR | O_CREAT | O_TRUNC, 0666); } if (fd == -1) { @@ -879,7 +902,7 @@ void VMError::report_and_die() { if (tmpdir != NULL && tmpdir[0] != '\0') { jio_snprintf(buffer, sizeof(buffer), "%s%shs_err_pid%u.log", tmpdir, os::file_separator(), os::current_process_id()); - fd = open(buffer, O_WRONLY | O_CREAT | O_TRUNC, 0666); + fd = open(buffer, O_RDWR | O_CREAT | O_TRUNC, 0666); } } @@ -892,6 +915,9 @@ void VMError::report_and_die() { } else { out.print_raw_cr("# Can not save log file, dump to screen.."); log.set_fd(defaultStream::output_fd()); + /* Error reporting currently needs dumpfile. + * Maybe implement direct streaming in the future.*/ + transmit_report_done = true; } } @@ -900,6 +926,16 @@ void VMError::report_and_die() { first_error->_current_step = 0; // reset current_step first_error->_current_step_info = ""; // reset current_step string + // Run error reporting to determine whether or not to report the crash. + if (!transmit_report_done && should_report_bug(first_error->_id)) { + transmit_report_done = true; + FILE* hs_err = ::fdopen(log.fd(), "r"); + if (NULL != hs_err) { + ErrorReporter er; + er.call(hs_err, buffer, O_BUFLEN); + } + } + if (log.fd() != defaultStream::output_fd()) { close(log.fd()); } diff --git a/hotspot/src/share/vm/utilities/vmError.hpp b/hotspot/src/share/vm/utilities/vmError.hpp index e9d60b3a121..28f486940a4 100644 --- a/hotspot/src/share/vm/utilities/vmError.hpp +++ b/hotspot/src/share/vm/utilities/vmError.hpp @@ -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 @@ -67,6 +67,14 @@ class VMError : public StackObj { static VMError* volatile first_error; static volatile jlong first_error_tid; + // Core dump status, false if we have been unable to write a core/minidump for some reason + static bool coredump_status; + + // When coredump_status is set to true this will contain the name/path to the core/minidump, + // if coredump_status if false, this will (hopefully) contain a useful error explaining why + // no core/minidump has been written to disk + static char coredump_message[O_BUFLEN]; + // used by reporting about OOM size_t _size; @@ -106,6 +114,9 @@ public: // return a string to describe the error char *error_string(char* buf, int buflen); + // Report status of core/minidump + static void report_coredump_status(const char* message, bool status); + // main error reporting function void report_and_die(); diff --git a/hotspot/test/compiler/6987555/Test6987555.java b/hotspot/test/compiler/6987555/Test6987555.java index 5e408039f5e..a438fee8dd1 100644 --- a/hotspot/test/compiler/6987555/Test6987555.java +++ b/hotspot/test/compiler/6987555/Test6987555.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 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 @@ -54,8 +54,8 @@ public class Test6987555 { if (DEBUG) System.out.println("boolean=" + x); MethodHandle mh1 = MethodHandles.lookup().findStatic(CLASS, NAME, MethodType.methodType(boolean.class, boolean.class)); MethodHandle mh2 = mh1.asType(MethodType.methodType(boolean.class, Boolean.class)); - boolean a = mh1.invokeExact(x); - boolean b = mh2.invokeExact(Boolean.valueOf(x)); + boolean a = (boolean) mh1.invokeExact(x); + boolean b = (boolean) mh2.invokeExact(Boolean.valueOf(x)); assert a == b : a + " != " + b; } @@ -80,8 +80,8 @@ public class Test6987555 { if (DEBUG) System.out.println("byte=" + x); MethodHandle mh1 = MethodHandles.lookup().findStatic(CLASS, NAME, MethodType.methodType(byte.class, byte.class)); MethodHandle mh2 = mh1.asType(MethodType.methodType(byte.class, Byte.class)); - byte a = mh1.invokeExact(x); - byte b = mh2.invokeExact(Byte.valueOf(x)); + byte a = (byte) mh1.invokeExact(x); + byte b = (byte) mh2.invokeExact(Byte.valueOf(x)); assert a == b : a + " != " + b; } @@ -104,8 +104,8 @@ public class Test6987555 { if (DEBUG) System.out.println("char=" + x); MethodHandle mh1 = MethodHandles.lookup().findStatic(CLASS, NAME, MethodType.methodType(char.class, char.class)); MethodHandle mh2 = mh1.asType(MethodType.methodType(char.class, Character.class)); - char a = mh1.invokeExact(x); - char b = mh2.invokeExact(Character.valueOf(x)); + char a = (char) mh1.invokeExact(x); + char b = (char) mh2.invokeExact(Character.valueOf(x)); assert a == b : a + " != " + b; } @@ -134,8 +134,8 @@ public class Test6987555 { if (DEBUG) System.out.println("short=" + x); MethodHandle mh1 = MethodHandles.lookup().findStatic(CLASS, NAME, MethodType.methodType(short.class, short.class)); MethodHandle mh2 = mh1.asType(MethodType.methodType(short.class, Short.class)); - short a = mh1.invokeExact(x); - short b = mh2.invokeExact(Short.valueOf(x)); + short a = (short) mh1.invokeExact(x); + short b = (short) mh2.invokeExact(Short.valueOf(x)); assert a == b : a + " != " + b; } @@ -164,8 +164,8 @@ public class Test6987555 { if (DEBUG) System.out.println("int=" + x); MethodHandle mh1 = MethodHandles.lookup().findStatic(CLASS, NAME, MethodType.methodType(int.class, int.class)); MethodHandle mh2 = mh1.asType(MethodType.methodType(int.class, Integer.class)); - int a = mh1.invokeExact(x); - int b = mh2.invokeExact(Integer.valueOf(x)); + int a = (int) mh1.invokeExact(x); + int b = (int) mh2.invokeExact(Integer.valueOf(x)); assert a == b : a + " != " + b; } diff --git a/langtools/test/tools/javac/TryWithResources/TwrInference.java b/hotspot/test/compiler/7017746/Test.java similarity index 66% rename from langtools/test/tools/javac/TryWithResources/TwrInference.java rename to hotspot/test/compiler/7017746/Test.java index 87187e43ffe..eab4b7e0f40 100644 --- a/langtools/test/tools/javac/TryWithResources/TwrInference.java +++ b/hotspot/test/compiler/7017746/Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * 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 @@ -21,23 +21,30 @@ * questions. */ -/* +/** * @test - * @bug 6911256 6964740 6965277 - * @author Maurizio Cimadamore - * @summary Verify that method type-inference works as expected in TWR context - * @compile TwrInference.java + * @bug 7017746 + * @summary Regression : C2 compiler crash due to SIGSEGV in PhaseCFG::schedule_early() + * + * @run main/othervm -Xbatch Test */ -class TwrInference { +public class Test { - public void test() { - try(getX()) { - //do something - } catch (Exception e) { // Not reachable - throw new AssertionError("Shouldn't reach here", e); - } + int i; + + static int test(Test t, int a, int b) { + int j = t.i; + int x = a - b; + if (a < b) x = x + j; + return x - j; + } + + public static void main(String args[]) { + Test t = new Test(); + for (int n = 0; n < 1000000; n++) { + int i = test(t, 1, 2); } - - X getX() { return null; } + } } + diff --git a/jaxp/.hgtags b/jaxp/.hgtags index 5bd81082d47..c83a89558fb 100644 --- a/jaxp/.hgtags +++ b/jaxp/.hgtags @@ -103,3 +103,6 @@ e2aedea6495d61557326928de20dbb2d78fdd9aa jdk7-b123 2fde639439c1fb3fbc44f533d48bb2916e813312 jdk7-b126 c532d6dbc8d18d55b5d693599ee5cd8250e16eb4 jdk7-b127 a42c6132c746c86e9fc27ec80cbd699f6ee5edca jdk7-b128 +f5b60c5a310f992c6ca627d17ca3e042f0e0b2c3 jdk7-b129 +ab107c1bc4b918404b191838c455e9b2892389f3 jdk7-b130 +eab6f27131e4e2f0af0016b35b18ae65cdd249d9 jdk7-b131 diff --git a/jaxp/LICENSE b/jaxp/LICENSE index eeab58c21c9..b40a0f457d7 100644 --- a/jaxp/LICENSE +++ b/jaxp/LICENSE @@ -325,11 +325,11 @@ License instead of this License. "CLASSPATH" EXCEPTION TO THE GPL -Certain source files distributed by Sun Microsystems, Inc. are subject to -the following clarification and special exception to the GPL, but only where -Sun has expressly included in the particular source file's header the words -"Sun designates this particular file as subject to the "Classpath" exception -as provided by Sun in the LICENSE file that accompanied this code." +Certain source files distributed by Oracle America and/or its affiliates are +subject to the following clarification and special exception to the GPL, but +only where Oracle has expressly included in the particular source file's header +the words "Oracle designates this particular file as subject to the "Classpath" +exception as provided by Oracle in the LICENSE file that accompanied this code." Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of diff --git a/jaxws/.hgtags b/jaxws/.hgtags index b929e6072f6..e3313645422 100644 --- a/jaxws/.hgtags +++ b/jaxws/.hgtags @@ -103,3 +103,6 @@ d72eea121c3bc2b649272a37b80d9417855b7146 jdk7-b125 6d772c5119d5e247bc98a57ce8b1be121554ee0a jdk7-b126 ef19f173578c804772d586a959fa3ab8a12c0598 jdk7-b127 88d74afc55938033e744b537a22714bb2c82c9c0 jdk7-b128 +0f7b39ad902424e949e3d2dca8411b884888a76f jdk7-b129 +ba1fac1c2083196422a12130db174334179a4d44 jdk7-b130 +438abc0356cd97d91b25f67cd1abc9883e22f6ed jdk7-b131 diff --git a/jaxws/LICENSE b/jaxws/LICENSE index eeab58c21c9..b40a0f457d7 100644 --- a/jaxws/LICENSE +++ b/jaxws/LICENSE @@ -325,11 +325,11 @@ License instead of this License. "CLASSPATH" EXCEPTION TO THE GPL -Certain source files distributed by Sun Microsystems, Inc. are subject to -the following clarification and special exception to the GPL, but only where -Sun has expressly included in the particular source file's header the words -"Sun designates this particular file as subject to the "Classpath" exception -as provided by Sun in the LICENSE file that accompanied this code." +Certain source files distributed by Oracle America and/or its affiliates are +subject to the following clarification and special exception to the GPL, but +only where Oracle has expressly included in the particular source file's header +the words "Oracle designates this particular file as subject to the "Classpath" +exception as provided by Oracle in the LICENSE file that accompanied this code." Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of diff --git a/jdk/.hgtags b/jdk/.hgtags index 3cd8441e11e..39177739d9e 100644 --- a/jdk/.hgtags +++ b/jdk/.hgtags @@ -104,3 +104,6 @@ ac311eb325bfc763698219252bf3cee9e091f3af jdk7-b122 29e09de1d0b4f84faea114cf10b3ec08b59acc4e jdk7-b127 f08682e23279d6cccbdcafda1eb0647ba4900874 jdk7-b128 14cd5d54a8d0b9c368d60ea83a066735b9931015 jdk7-b129 +bdc069d3f9101f89ec3f81c2950ee2d68fa846d3 jdk7-b130 +8ac52c85f9e91336dc00b52ef90b42eecf3230b3 jdk7-b131 +6bbc7a4734952ae7604578f270e1566639fa8752 jdk7-b132 diff --git a/jdk/LICENSE b/jdk/LICENSE index eeab58c21c9..b40a0f457d7 100644 --- a/jdk/LICENSE +++ b/jdk/LICENSE @@ -325,11 +325,11 @@ License instead of this License. "CLASSPATH" EXCEPTION TO THE GPL -Certain source files distributed by Sun Microsystems, Inc. are subject to -the following clarification and special exception to the GPL, but only where -Sun has expressly included in the particular source file's header the words -"Sun designates this particular file as subject to the "Classpath" exception -as provided by Sun in the LICENSE file that accompanied this code." +Certain source files distributed by Oracle America and/or its affiliates are +subject to the following clarification and special exception to the GPL, but +only where Oracle has expressly included in the particular source file's header +the words "Oracle designates this particular file as subject to the "Classpath" +exception as provided by Oracle in the LICENSE file that accompanied this code." Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of diff --git a/jdk/make/common/Defs-windows.gmk b/jdk/make/common/Defs-windows.gmk index 7899b0e668d..87bc793596d 100644 --- a/jdk/make/common/Defs-windows.gmk +++ b/jdk/make/common/Defs-windows.gmk @@ -359,7 +359,13 @@ ifeq ($(CC_VERSION),msvc) # VS2008 has bufferoverflow baked in: LFLAGS_VS2008 = - LFLAGS_VS2010 = + + # VS2010, always need safe exception handlers, not needed on 64bit + ifeq ($(ARCH_DATA_MODEL), 32) + LFLAGS_VS2010 = -SAFESEH + else + LFLAGS_VS2010 = + endif # LFLAGS are the flags given to $(LINK) and used to build the actual DLL file BASELFLAGS = -nologo /opt:REF /incremental:no diff --git a/jdk/make/common/Release.gmk b/jdk/make/common/Release.gmk index 9af023f2c54..224dcd1650b 100644 --- a/jdk/make/common/Release.gmk +++ b/jdk/make/common/Release.gmk @@ -124,9 +124,11 @@ JRE_MAN_PAGES = \ tnameserv.1 \ unpack200.1 +ifndef OPENJDK ifeq ($(ARCH_DATA_MODEL),32) JRE_MAN_PAGES += javaws.1 endif +endif JDK_MAN_PAGES = \ $(JRE_MAN_PAGES) \ diff --git a/jdk/make/common/shared/Defs-windows.gmk b/jdk/make/common/shared/Defs-windows.gmk index e1af407680d..d928448b48f 100644 --- a/jdk/make/common/shared/Defs-windows.gmk +++ b/jdk/make/common/shared/Defs-windows.gmk @@ -86,17 +86,25 @@ override INCREMENTAL_BUILD = false # ifdef USING_CYGWIN +# Macro to effectively do a toupper without an exec +define ToUpper +$(subst a,A,$(subst b,B,$(subst c,C,$(subst d,D,$(subst e,E,$(subst f,F,\ +$(subst g,G,$(subst h,H,$(subst i,I,$(subst j,J,$(subst k,K,$(subst l,L,\ +$(subst m,M,$(subst n,N,$(subst o,O,$(subst p,P,$(subst q,Q,$(subst r,R,\ +$(subst s,S,$(subst t,T,$(subst u,U,$(subst v,V,$(subst w,W,$(subst x,X,\ +$(subst y,Y,$(subst z,Z,$1)))))))))))))))))))))))))) +endef # All possible drive letters drives=a b c d e f g h i j k l m n o p q r s t v u w x y z # Convert /cygdrive/ paths to the mixed style without an exec of cygpath -# Must be a path with no spaces. +# Must be a path with no spaces. /cygdrive/letter is always lowercase +# and letter:/ is always uppercase coming from cygpath. define MixedPath -$(patsubst /%,c:/cygwin/%,$(sort $(filter-out /cygdrive/%,$(foreach drive,$(drives),$(patsubst /cygdrive/$(drive)/%,$(drive):/%,$1))))) +$(patsubst /%,$(CYGWIN_HOME)/%,$(sort $(filter-out /cygdrive/%,$(foreach drive,$(drives),$(patsubst /cygdrive/$(drive)/%,$(call ToUpper,$(drive)):/%,$1))))) endef # Use FullPath to get C:/ style non-spaces path. Never ends with a /! # We assume cygpath is available in the search path # NOTE: Use of 'pwd' with CYGWIN will not get you a mixed style path! -CYGPATH_CMD=cygpath -a -s -m define FullPath $(if $(word 2,$1),$(shell $(CYGPATH_CMD) $1 2> $(DEV_NULL)),$(call MixedPath,$(realpath $(subst ",,$1)))) endef @@ -125,10 +133,15 @@ _system_drive:=$(call CheckValue,_system_drive,C:) # UNIXCOMMAND_PATH: path to where the most common Unix commands are. # NOTE: Must end with / so that it could be empty, allowing PATH usage. +# With cygwin, just use this as is don't use FullPath on it. ifdef ALT_UNIXCOMMAND_PATH - xALT_UNIXCOMMAND_PATH :="$(subst \,/,$(ALT_UNIXCOMMAND_PATH))" - fxALT_UNIXCOMMAND_PATH :=$(call FullPath,$(xALT_UNIXCOMMAND_PATH)) - UNIXCOMMAND_PATH :=$(call PrefixPath,$(fxALT_UNIXCOMMAND_PATH)) + ifdef USING_CYGWIN + UNIXCOMMAND_PATH :=$(call PrefixPath,$(ALT_UNIXCOMMAND_PATH)) + else + xALT_UNIXCOMMAND_PATH :="$(subst \,/,$(ALT_UNIXCOMMAND_PATH))" + fxALT_UNIXCOMMAND_PATH :=$(call FullPath,$(xALT_UNIXCOMMAND_PATH)) + UNIXCOMMAND_PATH :=$(call PrefixPath,$(fxALT_UNIXCOMMAND_PATH)) + endif else ifdef USING_CYGWIN UNIXCOMMAND_PATH :=$(call PrefixPath,/usr/bin) @@ -459,9 +472,11 @@ else endif # SLASH_JAVA: location of all network accessable files +# NOTE: Do not use FullPath on this because it's often a drive letter and +# plain drive letters are ambiguous, so just use this 'as is'. ifdef ALT_SLASH_JAVA xALT_SLASH_JAVA :="$(subst \,/,$(ALT_SLASH_JAVA))" - SLASH_JAVA :=$(call FullPath,$(xALT_SLASH_JAVA)) + SLASH_JAVA :=$(xALT_SLASH_JAVA) else ifdef ALT_JDK_JAVA_DRIVE SLASH_JAVA =$(JDK_JAVA_DRIVE) @@ -751,11 +766,26 @@ ifeq ($(VS2010_EXISTS),true) # we do not or cannot redistribute. # List of filenames we should NOT be dependent on -BANNED_DLLS=msvcp100[.]dll|msvcr100d[.]dll|msvcrtd[.]dll +ifeq ($(MFC_DEBUG),true) + BANNED_DLLS=msvcp100[.]dll +else + BANNED_DLLS=msvcp100[.]dll|msvcr100d[.]dll|msvcrtd[.]dll +endif -# Macro to check it's input file for banned dependencies and verify the -# binary was built properly. Relies on process exit code. -define binary_file_verification # binary_file +# Check for /safeseh (only used on 32bit) +define binary_file_safeseh_verification # binary_file +( \ + $(ECHO) "Checking for /SAFESEH usage in: $1" && \ + if [ "`$(DUMPBIN) /loadconfig $1 | $(EGREP) -i 'Safe Exception Handler Table'`" = "" ] ; then \ + $(ECHO) "ERROR: Did not find 'Safe Exception Handler Table' in loadconfig: $1" ; \ + $(DUMPBIN) /loadconfig $1 ; \ + exit 6 ; \ + fi ; \ +) +endef + +# Check for /NXCOMPAT usage +define binary_file_nxcompat_verification # binary_file ( \ $(ECHO) "Checking for /NXCOMPAT usage in: $1" && \ if [ "`$(DUMPBIN) /headers $1 | $(EGREP) -i 'NX compatible'`" = "" ] ; then \ @@ -763,21 +793,54 @@ define binary_file_verification # binary_file $(DUMPBIN) /headers $1 ; \ exit 7 ; \ fi ; \ +) +endef + +# Check for /DYNAMICBASE usage +define binary_file_dynamicbase_verification # binary_file +( \ $(ECHO) "Checking for /DYNAMICBASE usage in: $1" && \ if [ "`$(DUMPBIN) /headers $1 | $(EGREP) -i 'Dynamic base'`" = "" ] ; then \ $(ECHO) "ERROR: Did not find 'Dynamic base' in headers: $1" ; \ $(DUMPBIN) /headers $1 ; \ exit 8 ; \ fi ; \ +) +endef + +# Check for banned dll usage +define binary_file_dll_verification # binary_file +( \ $(ECHO) "Checking for banned dependencies in: $1" && \ if [ "`$(DUMPBIN) /dependents $1 | $(EGREP) -i '$(BANNED_DLLS)'`" != "" ] ; then \ - $(ECHO) "ERROR: Found us of $(BANNED_DLLS)"; \ + $(ECHO) "ERROR: Found use of $(BANNED_DLLS)"; \ $(DUMPBIN) /dependents $1 ; \ exit 9 ; \ fi ; \ ) endef +# Macro to check it's input file for properly built executables. +# Relies on process exit code. Different for 32bit vs 64bit. +ifeq ($(ARCH_DATA_MODEL),32) +define binary_file_verification # binary_file +( \ + $(call binary_file_safeseh_verification,$1); \ + $(call binary_file_nxcompat_verification,$1); \ + $(call binary_file_dynamicbase_verification,$1); \ + $(call binary_file_dll_verification,$1); \ +) +endef +else +define binary_file_verification # binary_file +( \ + $(call binary_file_nxcompat_verification,$1); \ + $(call binary_file_dynamicbase_verification,$1); \ + $(call binary_file_dll_verification,$1); \ +) +endef +endif + else # Macro to check it's input file for banned dependencies and verify the diff --git a/jdk/make/common/shared/Defs.gmk b/jdk/make/common/shared/Defs.gmk index aae5e6d85f0..587f1ad1911 100644 --- a/jdk/make/common/shared/Defs.gmk +++ b/jdk/make/common/shared/Defs.gmk @@ -54,11 +54,12 @@ include $(JDK_MAKE_SHARED_DIR)/Defs-utils.gmk # Assumes ARCH, PLATFORM, ARCH_VM_SUBDIR, JDK_TOPDIR, etc. have been defined. # Simple pwd path +# NOTE: Just use the shell's cd and pwd here, more reliable at sanity time. define PwdPath -$(shell $(CD) $1 2> $(DEV_NULL) && $(PWD)) +$(shell cd $1 2> $(DEV_NULL) && pwd) endef define AbsPwdPathCheck -$(shell $(CD) .. 2> $(DEV_NULL) && $(CD) $1 2> $(DEV_NULL) && $(PWD)) +$(shell cd .. 2> $(DEV_NULL) && cd $1 2> $(DEV_NULL) && pwd) endef # Checks an ALT value for spaces (should be one word), diff --git a/jdk/make/common/shared/Platform.gmk b/jdk/make/common/shared/Platform.gmk index dc1463cc6e2..91326a9f794 100644 --- a/jdk/make/common/shared/Platform.gmk +++ b/jdk/make/common/shared/Platform.gmk @@ -72,7 +72,11 @@ PLATFORM_SHARED=done # USING_CYGWIN windows only: true or false # ISHIELD_TEMP_MIN windows only: minimum disk space in temp area -SYSTEM_UNAME := $(shell uname) +# Only run uname once in this make session. +ifndef SYSTEM_UNAME + SYSTEM_UNAME := $(shell uname) + export SYSTEM_UNAME +endif # # Prune out all known SCM (Source Code Management) directories @@ -222,6 +226,12 @@ ifneq (,$(findstring CYGWIN,$(SYSTEM_UNAME))) PLATFORM = windows USING_CYGWIN = true export USING_CYGWIN + CYGPATH_CMD=cygpath -a -s -m + # Only run "cygpath /" once in this make session. + ifndef CYGWIN_HOME + CYGWIN_HOME := $(shell $(CYGPATH_CMD) /) + export CYGWIN_HOME + endif endif # Platform settings specific to Windows @@ -235,7 +245,12 @@ ifeq ($(PLATFORM), windows) # And sometimes PROCESSOR_IDENTIFIER is not defined at all # (in some restricted shells), so we use uname if we have to. ifeq ($(PROCESSOR_IDENTIFIER),) - PROC_ARCH:=$(shell uname -m) + # Only run uname -m once in this make session. + ifndef SYSTEM_UNAME_M + SYSTEM_UNAME_M := $(shell uname -m) + export SYSTEM_UNAME_M + endif + PROC_ARCH:=$(SYSTEM_UNAME_M) else PROC_ARCH:=$(word 1, $(PROCESSOR_IDENTIFIER)) endif diff --git a/jdk/make/java/java/FILES_java.gmk b/jdk/make/java/java/FILES_java.gmk index 47179069c17..fdd4b551912 100644 --- a/jdk/make/java/java/FILES_java.gmk +++ b/jdk/make/java/java/FILES_java.gmk @@ -443,7 +443,6 @@ JAVA_JAVA_java = \ java/io/FileReader.java \ java/io/PipedReader.java \ java/io/StringReader.java \ - java/io/TempFileHelper.java \ java/io/Writer.java \ java/io/BufferedWriter.java \ java/io/PrintWriter.java \ diff --git a/jdk/make/java/nio/FILES_java.gmk b/jdk/make/java/nio/FILES_java.gmk index cb416fe0932..9fbeafb48a3 100644 --- a/jdk/make/java/nio/FILES_java.gmk +++ b/jdk/make/java/nio/FILES_java.gmk @@ -81,12 +81,12 @@ FILES_src = \ java/nio/file/ClosedDirectoryStreamException.java \ java/nio/file/ClosedFileSystemException.java \ java/nio/file/ClosedWatchServiceException.java \ + java/nio/file/CopyMoveHelper.java \ java/nio/file/CopyOption.java \ java/nio/file/DirectoryIteratorException.java \ java/nio/file/DirectoryNotEmptyException.java \ java/nio/file/DirectoryStream.java \ java/nio/file/FileAlreadyExistsException.java \ - java/nio/file/FileRef.java \ java/nio/file/FileStore.java \ java/nio/file/FileSystem.java \ java/nio/file/FileSystemAlreadyExistsException.java \ @@ -116,6 +116,7 @@ FILES_src = \ java/nio/file/StandardCopyOption.java \ java/nio/file/StandardOpenOption.java \ java/nio/file/StandardWatchEventKind.java \ + java/nio/file/TempFileHelper.java \ java/nio/file/WatchEvent.java \ java/nio/file/WatchKey.java \ java/nio/file/WatchService.java \ @@ -127,7 +128,6 @@ FILES_src = \ java/nio/file/attribute/AclEntryType.java \ java/nio/file/attribute/AclFileAttributeView.java \ java/nio/file/attribute/AttributeView.java \ - java/nio/file/attribute/Attributes.java \ java/nio/file/attribute/BasicFileAttributeView.java \ java/nio/file/attribute/BasicFileAttributes.java \ java/nio/file/attribute/DosFileAttributeView.java \ @@ -136,8 +136,6 @@ FILES_src = \ java/nio/file/attribute/FileAttributeView.java \ java/nio/file/attribute/FileOwnerAttributeView.java \ java/nio/file/attribute/FileStoreAttributeView.java \ - java/nio/file/attribute/FileStoreSpaceAttributeView.java \ - java/nio/file/attribute/FileStoreSpaceAttributes.java \ java/nio/file/attribute/FileTime.java \ java/nio/file/attribute/GroupPrincipal.java \ java/nio/file/attribute/UserDefinedFileAttributeView.java \ @@ -246,6 +244,7 @@ FILES_src = \ sun/nio/fs/AbstractAclFileAttributeView.java \ sun/nio/fs/AbstractBasicFileAttributeView.java \ sun/nio/fs/AbstractFileTypeDetector.java \ + sun/nio/fs/AbstractFileSystemProvider.java \ sun/nio/fs/AbstractPath.java \ sun/nio/fs/AbstractPoller.java \ sun/nio/fs/AbstractUserDefinedFileAttributeView.java \ diff --git a/jdk/make/java/security/Makefile b/jdk/make/java/security/Makefile index 95c56767fae..1d28b60f2ff 100644 --- a/jdk/make/java/security/Makefile +++ b/jdk/make/java/security/Makefile @@ -1,5 +1,5 @@ # -# Copyright (c) 1996, 2010 Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1996, 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 @@ -65,6 +65,8 @@ CACERTS_BUILD = $(LIBDIR)/security/cacerts ifndef OPENJDK BLACKLIST_SRC = $(CLOSED_SHARE_SRC)/lib/security/blacklist BLACKLIST_BUILD = $(LIBDIR)/security/blacklist + TRUSTEDLIBS_SRC = $(CLOSED_SHARE_SRC)/lib/security/trusted.libraries + TRUSTEDLIBS_BUILD = $(LIBDIR)/security/trusted.libraries endif FILES_class = $(FILES_java:%.java=$(CLASSBINDIR)/%.class) @@ -77,7 +79,7 @@ include $(BUILDDIR)/common/Rules.gmk ifdef OPENJDK build: properties policy cacerts else -build: properties policy cacerts blacklist +build: properties policy cacerts blacklist trustedlibs endif install: all @@ -90,6 +92,8 @@ cacerts: classes $(CACERTS_BUILD) blacklist: classes $(BLACKLIST_BUILD) +trustedlibs: classes $(TRUSTEDLIBS_BUILD) + $(PROPS_BUILD): $(PROPS_SRC) $(install-file) @@ -102,9 +106,12 @@ $(CACERTS_BUILD): $(CACERTS_SRC) $(BLACKLIST_BUILD): $(BLACKLIST_SRC) $(install-file) +$(TRUSTEDLIBS_BUILD): $(TRUSTEDLIBS_SRC) + $(install-file) + clean clobber:: .delete.classlist $(RM) -r $(CLASSBINDIR)/java/security - $(RM) $(PROPS_BUILD) $(POLICY_BUILD) $(CACERTS_BUILD) $(BLACKLIST_BUILD) + $(RM) $(PROPS_BUILD) $(POLICY_BUILD) $(CACERTS_BUILD) $(BLACKLIST_BUILD) $(TRUSTEDLIBS_BUILD) # Additional Rule for building sun.security.util $(CLASSBINDIR)/%.class: $(SHARE_SRC)/sun/%.java diff --git a/jdk/make/modules/modules.config b/jdk/make/modules/modules.config index f7910378ab5..2d5d785bf46 100644 --- a/jdk/make/modules/modules.config +++ b/jdk/make/modules/modules.config @@ -771,12 +771,7 @@ module client { /**************************************************************************/ -module jkernel { - include sun.jkernel.*; -} - module deploy { - include jkernel; // For now, all plugin and JNLP include com.sun.java.browser.**, diff --git a/jdk/make/netbeans/common/java-data-native.ent b/jdk/make/netbeans/common/java-data-native.ent index c968584892b..831bf255245 100644 --- a/jdk/make/netbeans/common/java-data-native.ent +++ b/jdk/make/netbeans/common/java-data-native.ent @@ -31,7 +31,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --> - + ${root}/src/share/classes ${root}/src/windows/classes @@ -39,6 +39,6 @@ ${bootstrap.jdk}/jre/lib/rt.jar ${root}/build/${platform}-${arch}/classes ${root}/build/javadoc/${name} - 1.5 + 1.7 diff --git a/jdk/make/netbeans/common/java-data-no-native.ent b/jdk/make/netbeans/common/java-data-no-native.ent index e7717f2d398..fdc06cfca34 100644 --- a/jdk/make/netbeans/common/java-data-no-native.ent +++ b/jdk/make/netbeans/common/java-data-no-native.ent @@ -31,12 +31,12 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --> - + ${root}/src/share/classes ${bootstrap.jdk}/jre/lib/rt.jar ${root}/build/${platform}-${arch}/classes ${root}/build/javadoc/${name} - 1.5 + 1.7 diff --git a/jdk/make/sun/Makefile b/jdk/make/sun/Makefile index 0e8bb3e4220..cac9b8781d6 100644 --- a/jdk/make/sun/Makefile +++ b/jdk/make/sun/Makefile @@ -74,8 +74,7 @@ SUBDIRS_desktop = audio $(RENDER_SUBDIR) image \ $(HEADLESS_SUBDIR) $(DGA_SUBDIR) \ jawt font jpeg cmm applet beans SUBDIRS_management = management -SUBDIRS_misc = jkernel $(ORG_SUBDIR) \ - rmi $(JDBC_SUBDIR) tracing +SUBDIRS_misc = $(ORG_SUBDIR) rmi $(JDBC_SUBDIR) tracing SUBDIRS_tools = native2ascii serialver tools jconsole include $(BUILDDIR)/common/Subdirs.gmk diff --git a/jdk/make/sun/jkernel/Makefile b/jdk/make/sun/jkernel/Makefile deleted file mode 100644 index a75ac1bf074..00000000000 --- a/jdk/make/sun/jkernel/Makefile +++ /dev/null @@ -1,94 +0,0 @@ -# -# Copyright (c) 2008, 2010, 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. Oracle designates this -# particular file as subject to the "Classpath" exception as provided -# by Oracle in the LICENSE file that accompanied this code. -# -# 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. -# - -BUILDDIR = ../.. -MODULE = jkernel -PACKAGE = sun.jkernel -LIBRARY = jkernel -PRODUCT = sun - -include $(BUILDDIR)/common/Defs.gmk - -# -# Use highest optimization level -# -_OPT = $(CC_HIGHEST_OPT) - -# -# Java source files -# -include FILES_java.gmk -AUTO_FILES_JAVA_DIRS = sun/jkernel - -LOCALE_SUFFIXES = $(JDK_LOCALES) - -# -# Native source files -# - -ifeq ($(ARCH_DATA_MODEL), 32) - -ifeq ($(PLATFORM), windows) - -# If this is the VS Express compiler it will lack vc/atlmfc/ -ATL_MFC_DIR :=$(call DirExists,$(COMPILER_PATH)/../atlmfc,,) - -ifneq ($(ATL_MFC_DIR),) - -include FILES_c_windows.gmk - -vpath %.cpp $(PLATFORM_SRC)/native/sun/jkernel - - -VERSIONINFO_RESOURCE = $(PLATFORM_SRC)/native/sun/jkernel/kernel.rc - -LDLIBS += urlmon.lib wininet.lib shlwapi.lib version.lib comctl32.lib gdi32.lib -def:$(PLATFORM_SRC)/native/sun/jkernel/kernel.def - -include $(BUILDDIR)/common/Library.gmk - -endif - -endif - -endif - -# -# Resources -# -include $(TOPDIR)/make/common/internal/Resources.gmk - -# -# Rules -# -include $(BUILDDIR)/common/Classes.gmk - -# If extra compression is going to be available in the deploy build enable -# its use here by defining the JRE-relative pathname of the shared library - -ifeq ($(PLATFORM), windows) - ifdef EXTRA_COMP_INSTALL_PATH - CPPFLAGS += -DEXTRA_COMP_INSTALL_PATH=$(EXTRA_COMP_INSTALL_PATH) - endif -endif diff --git a/jdk/make/sun/jpeg/Makefile b/jdk/make/sun/jpeg/Makefile index b669ad48de2..b16ebea9f0f 100644 --- a/jdk/make/sun/jpeg/Makefile +++ b/jdk/make/sun/jpeg/Makefile @@ -65,6 +65,19 @@ ifeq ($(PLATFORM), solaris) FILES_reorder += reorder-$(ARCH) endif endif + +ifeq ($(PLATFORM), linux) + + # Suppress gcc warnings like "variable might be clobbered by 'longjmp' + # or 'vfork'": this warning indicates that some variable is placed to + # a register by optimized compiler and it's value might be lost on longjmp(). + # Recommended way to avoid such warning is to declare the variable as + # volatile to prevent the optimization. However, this approach does not + # work because we have to declare all variables as volatile in result. + + OTHER_CFLAGS += -Wno-clobbered +endif + include $(BUILDDIR)/common/Mapfile-vers.gmk include $(BUILDDIR)/common/Library.gmk diff --git a/jdk/make/sun/jpeg/reorder-i586 b/jdk/make/sun/jpeg/reorder-i586 index 3fe7ea991bf..47e18ca44d1 100644 --- a/jdk/make/sun/jpeg/reorder-i586 +++ b/jdk/make/sun/jpeg/reorder-i586 @@ -22,7 +22,7 @@ text: .text%jIMReader; text: .text%alloc_small: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jmemmgr.o; text: .text%reset_marker_reader: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; text: .text%jIInCtlr; -text: .text%GET_ARRAYS: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jpegdecoder.o; +# text: .text%GET_ARRAYS: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jpegdecoder.o; text: .text%jReadHeader; text: .text%jConsumeInput; text: .text%reset_input_controller: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdinput.o; @@ -30,36 +30,36 @@ text: .text%reset_error_mgr: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jerror.o; text: .text%sun_jpeg_init_source; text: .text%consume_markers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdinput.o; text: .text%read_markers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; -text: .text%first_marker: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; +# text: .text%first_marker: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; text: .text%sun_jpeg_fill_input_buffer; -text: .text%RELEASE_ARRAYS: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jpegdecoder.o; -text: .text%get_soi: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; +# text: .text%RELEASE_ARRAYS: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jpegdecoder.o; +# text: .text%get_soi: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; text: .text%emit_message: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jerror.o; -text: .text%next_marker: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; +# text: .text%next_marker: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; text: .text%get_interesting_appn: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; -text: .text%examine_app0: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; +# text: .text%examine_app0: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; text: .text%skip_variable: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; text: .text%sun_jpeg_skip_input_data; -text: .text%examine_app14: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; +# text: .text%examine_app14: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; text: .text%get_dqt: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; text: .text%jAlcQTable; text: .text%get_sof: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; -text: .text%get_dri: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; +# text: .text%get_dri: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; text: .text%get_dht: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; text: .text%jAlcHTable; text: .text%get_sos: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; -text: .text%initial_setup: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdinput.o; +# text: .text%initial_setup: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdinput.o; text: .text%jDivRound; -text: .text%default_decompress_parms: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdapimin.o; +# text: .text%default_decompress_parms: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdapimin.o; text: .text%jHasMultScn; text: .text%jStrtDecompress; text: .text%jIDMaster; -text: .text%master_selection: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmaster.o; +# text: .text%master_selection: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmaster.o; text: .text%jCalcDimensions; -text: .text%use_merged_upsample: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmaster.o; -text: .text%prepare_range_limit_table: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmaster.o; +# text: .text%use_merged_upsample: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmaster.o; +# text: .text%prepare_range_limit_table: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmaster.o; text: .text%jIDColor; -text: .text%build_ycc_rgb_table: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdcolor.o; +# text: .text%build_ycc_rgb_table: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdcolor.o; text: .text%jIUpsampler; text: .text%jRound; text: .text%alloc_sarray: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jmemmgr.o; @@ -70,16 +70,16 @@ text: .text%jIIDCT; text: .text%jIHDecoder; text: .text%jIDCoefC; text: .text%jIDMainC; -text: .text%alloc_funny_pointers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmainct.o; +# text: .text%alloc_funny_pointers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmainct.o; text: .text%realize_virt_arrays: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jmemmgr.o; text: .text%start_input_pass: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdinput.o; -text: .text%per_scan_setup: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdinput.o; -text: .text%latch_quant_tables: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdinput.o; +# text: .text%per_scan_setup: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdinput.o; +# text: .text%latch_quant_tables: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdinput.o; text: .text%start_pass_huff_decoder: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdhuff.o; text: .text%jMkDDerived; text: .text%start_input_pass: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdcoefct.o; -text: .text%start_iMCU_row: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdcoefct.o; -text: .text%output_pass_setup: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdapistd.o; +# text: .text%start_iMCU_row: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdcoefct.o; +# text: .text%output_pass_setup: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdapistd.o; text: .text%prepare_for_output_pass: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmaster.o; text: .text%start_pass: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jddctmgr.o; text: .text%start_output_pass: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdcoefct.o; @@ -87,7 +87,7 @@ text: .text%start_pass_dcolor: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdcolor.o; text: .text%start_pass_upsample: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdsample.o; text: .text%start_pass_dpost: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdpostct.o; text: .text%start_pass_main: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmainct.o; -text: .text%make_funny_pointers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmainct.o; +# text: .text%make_funny_pointers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmainct.o; text: .text%jReadScanlines; text: .text%process_data_context_main: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmainct.o; text: .text%decompress_onepass: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdcoefct.o; @@ -100,11 +100,11 @@ text: .text%sep_upsample: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdsample.o; text: .text%fullsize_upsample: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdsample.o; text: .text%h2v2_fancy_upsample: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdsample.o; text: .text%ycc_rgb_convert: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdcolor.o; -text: .text%set_wraparound_pointers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmainct.o; -text: .text%process_restart: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdhuff.o; +# text: .text%set_wraparound_pointers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmainct.o; +# text: .text%process_restart: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdhuff.o; text: .text%read_restart_marker: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; text: .text%finish_input_pass: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdinput.o; -text: .text%set_bottom_pointers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmainct.o; +# text: .text%set_bottom_pointers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmainct.o; text: .text%jFinDecompress; text: .text%finish_output_pass: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmaster.o; text: .text%sun_jpeg_term_source; diff --git a/jdk/make/sun/jpeg/reorder-sparc b/jdk/make/sun/jpeg/reorder-sparc index 3fe7ea991bf..a7b21edca43 100644 --- a/jdk/make/sun/jpeg/reorder-sparc +++ b/jdk/make/sun/jpeg/reorder-sparc @@ -30,10 +30,10 @@ text: .text%reset_error_mgr: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jerror.o; text: .text%sun_jpeg_init_source; text: .text%consume_markers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdinput.o; text: .text%read_markers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; -text: .text%first_marker: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; +# text: .text%first_marker: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; text: .text%sun_jpeg_fill_input_buffer; text: .text%RELEASE_ARRAYS: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jpegdecoder.o; -text: .text%get_soi: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; +# text: .text%get_soi: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; text: .text%emit_message: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jerror.o; text: .text%next_marker: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; text: .text%get_interesting_appn: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; @@ -44,7 +44,7 @@ text: .text%examine_app14: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; text: .text%get_dqt: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; text: .text%jAlcQTable; text: .text%get_sof: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; -text: .text%get_dri: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; +# text: .text%get_dri: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; text: .text%get_dht: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; text: .text%jAlcHTable; text: .text%get_sos: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; @@ -56,10 +56,10 @@ text: .text%jStrtDecompress; text: .text%jIDMaster; text: .text%master_selection: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmaster.o; text: .text%jCalcDimensions; -text: .text%use_merged_upsample: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmaster.o; -text: .text%prepare_range_limit_table: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmaster.o; +# text: .text%use_merged_upsample: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmaster.o; +# text: .text%prepare_range_limit_table: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmaster.o; text: .text%jIDColor; -text: .text%build_ycc_rgb_table: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdcolor.o; +# text: .text%build_ycc_rgb_table: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdcolor.o; text: .text%jIUpsampler; text: .text%jRound; text: .text%alloc_sarray: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jmemmgr.o; @@ -78,7 +78,7 @@ text: .text%latch_quant_tables: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdinput.o; text: .text%start_pass_huff_decoder: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdhuff.o; text: .text%jMkDDerived; text: .text%start_input_pass: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdcoefct.o; -text: .text%start_iMCU_row: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdcoefct.o; +# text: .text%start_iMCU_row: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdcoefct.o; text: .text%output_pass_setup: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdapistd.o; text: .text%prepare_for_output_pass: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmaster.o; text: .text%start_pass: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jddctmgr.o; @@ -100,11 +100,11 @@ text: .text%sep_upsample: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdsample.o; text: .text%fullsize_upsample: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdsample.o; text: .text%h2v2_fancy_upsample: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdsample.o; text: .text%ycc_rgb_convert: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdcolor.o; -text: .text%set_wraparound_pointers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmainct.o; -text: .text%process_restart: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdhuff.o; +# text: .text%set_wraparound_pointers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmainct.o; +#text: .text%process_restart: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdhuff.o; text: .text%read_restart_marker: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmarker.o; text: .text%finish_input_pass: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdinput.o; -text: .text%set_bottom_pointers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmainct.o; +# text: .text%set_bottom_pointers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmainct.o; text: .text%jFinDecompress; text: .text%finish_output_pass: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj/jdmaster.o; text: .text%sun_jpeg_term_source; diff --git a/jdk/make/sun/jpeg/reorder-sparcv9 b/jdk/make/sun/jpeg/reorder-sparcv9 index e5447a4f56f..3af1a21eb80 100644 --- a/jdk/make/sun/jpeg/reorder-sparcv9 +++ b/jdk/make/sun/jpeg/reorder-sparcv9 @@ -30,10 +30,10 @@ text: .text%reset_error_mgr: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jerror.o; text: .text%sun_jpeg_init_source; text: .text%consume_markers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdinput.o; text: .text%read_markers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmarker.o; -text: .text%first_marker: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmarker.o; +# text: .text%first_marker: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmarker.o; text: .text%sun_jpeg_fill_input_buffer; text: .text%RELEASE_ARRAYS: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jpegdecoder.o; -text: .text%get_soi: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmarker.o; +# text: .text%get_soi: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmarker.o; text: .text%emit_message: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jerror.o; text: .text%next_marker: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmarker.o; text: .text%get_interesting_appn: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmarker.o; @@ -44,7 +44,7 @@ text: .text%examine_app14: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmarker.o; text: .text%get_dqt: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmarker.o; text: .text%jAlcQTable; text: .text%get_sof: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmarker.o; -text: .text%get_dri: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmarker.o; +# text: .text%get_dri: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmarker.o; text: .text%get_dht: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmarker.o; text: .text%jAlcHTable; text: .text%get_sos: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmarker.o; @@ -56,10 +56,10 @@ text: .text%jStrtDecompress; text: .text%jIDMaster; text: .text%master_selection: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmaster.o; text: .text%jCalcDimensions; -text: .text%use_merged_upsample: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmaster.o; -text: .text%prepare_range_limit_table: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmaster.o; +# text: .text%use_merged_upsample: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmaster.o; +# text: .text%prepare_range_limit_table: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmaster.o; text: .text%jIDColor; -text: .text%build_ycc_rgb_table: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdcolor.o; +# text: .text%build_ycc_rgb_table: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdcolor.o; text: .text%jIUpsampler; text: .text%jRound; text: .text%alloc_sarray: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jmemmgr.o; @@ -78,7 +78,7 @@ text: .text%latch_quant_tables: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdinput.o; text: .text%start_pass_huff_decoder: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdhuff.o; text: .text%jMkDDerived; text: .text%start_input_pass: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdcoefct.o; -text: .text%start_iMCU_row: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdcoefct.o; +# text: .text%start_iMCU_row: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdcoefct.o; text: .text%output_pass_setup: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdapistd.o; text: .text%prepare_for_output_pass: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmaster.o; text: .text%start_pass: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jddctmgr.o; @@ -100,11 +100,11 @@ text: .text%sep_upsample: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdsample.o; text: .text%fullsize_upsample: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdsample.o; text: .text%h2v2_fancy_upsample: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdsample.o; text: .text%ycc_rgb_convert: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdcolor.o; -text: .text%set_wraparound_pointers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmainct.o; +# text: .text%set_wraparound_pointers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmainct.o; text: .text%process_restart: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdhuff.o; text: .text%read_restart_marker: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmarker.o; text: .text%finish_input_pass: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdinput.o; -text: .text%set_bottom_pointers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmainct.o; +# text: .text%set_bottom_pointers: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmainct.o; text: .text%jFinDecompress; text: .text%finish_output_pass: OUTPUTDIR/tmp/sun/sun.awt/jpeg/obj64/jdmaster.o; text: .text%sun_jpeg_term_source; diff --git a/jdk/src/share/bin/java.c b/jdk/src/share/bin/java.c index c2a6ab99249..2d339547761 100644 --- a/jdk/src/share/bin/java.c +++ b/jdk/src/share/bin/java.c @@ -244,6 +244,7 @@ JLI_Launch(int argc, char ** argv, /* main argc, argc */ for (i = 0; i < argc ; i++) { printf("argv[%d] = %s\n", i, argv[i]); } + AddOption("-Dsun.java.launcher.diag=true", NULL); } CreateExecutionEnvironment(&argc, &argv, @@ -1009,6 +1010,8 @@ ParseArguments(int *pargc, char ***pargv, } else if (JLI_StrCmp(arg, "-XshowSettings") == 0 || JLI_StrCCmp(arg, "-XshowSettings:") == 0) { showSettings = arg; + } else if (JLI_StrCmp(arg, "-Xdiag") == 0) { + AddOption("-Dsun.java.launcher.diag=true", NULL); /* * The following case provide backward compatibility with old-style * command line options. diff --git a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_de.properties b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_de.properties index d15468e28c0..1cedaeb67c2 100644 --- a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_de.properties +++ b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_de.properties @@ -13,72 +13,72 @@ # # accessible roles # -alert=Warnmeldung +alert=Alert awtcomponent=AWT-Komponente -checkbox=Kontrollk\u00e4stchen +checkbox=Kontrollk\u00E4stchen colorchooser=Farbauswahl -columnheader=Spaltenkopf +columnheader=Spalten-Header combobox=Kombinationsfeld canvas=Leinwand -desktopicon=Desktop-Symbol -desktoppane=Desktop-Bereich +desktopicon=Desktopsymbol +desktoppane=Desktopbereich dialog=Dialogfeld directorypane=Verzeichnisbereich -glasspane=Glasbereich +glasspane=Glass Pane filechooser=Dateiauswahl -filler=F\u00fcllbereich +filler=F\u00FCllbereich frame=Rahmen internalframe=Innerer Rahmen -label=Beschriftung -layeredpane=\u00dcberlagertes Teilfenster +label=Label +layeredpane=Layered Pane list=Liste listitem=Listenelement -menubar=Men\u00fcleiste -menu=Men\u00fc -menuitem=Men\u00fceintrag +menubar=Men\u00FCleiste +menu=Men\u00FC +menuitem=Men\u00FCpunkt optionpane=Optionsbereich pagetab=Registerkarte -pagetablist=Register -panel=Steuerbereich -passwordtext=Passworttext -popupmenu=Popup-Men\u00fc -progressbar=Fortschrittsanzeige -pushbutton=Schaltfl\u00e4che +pagetablist=Registerkartenliste +panel=Bereich +passwordtext=Kennworttext +popupmenu=Popup-Men\u00FC +progressbar=Fortschrittsbalken +pushbutton=Schaltfl\u00E4che radiobutton=Optionsfeld rootpane=Root-Bereich -rowheader=Zeilenkopf +rowheader=Zeilen-Header scrollbar=Bildlaufleiste scrollpane=Bildlaufbereich separator=Trennzeichen slider=Schieberegler -splitpane=Geteilter Anzeigebereich +splitpane=Split Pane swingcomponent=Swing-Komponente table=Tabelle text=Text tree=Baumstruktur -togglebutton=Umschaltfl\u00e4che +togglebutton=Umschaltfl\u00E4che toolbar=Symbolleiste tooltip=QuickInfo unknown=Unbekannt -viewport=Anzeigeschnittstelle +viewport=Viewport window=Fenster # # accessible relations # -labelFor=Beschriftung f\u00fcr +labelFor=Label f\u00FCr labeledBy=beschriftet von memberOf=Mitglied von -controlledBy=Gesteuert von -controllerFor=Steuerung f\u00fcr +controlledBy=controlledBy +controllerFor=controllerFor # # accessible states # active=aktiv armed=aktiviert -busy=belegt +busy=ausgelastet checked=markiert collapsed=ausgeblendet -editable=editierbar +editable=bearbeitbar expandable=erweiterbar expanded=eingeblendet enabled=aktiviert @@ -87,15 +87,15 @@ focused=fokussiert iconified=minimiert modal=modal multiline=mehrzeilig -multiselectable=mehrfach ausw\u00e4hlbar -opaque=verdeckt -pressed=gedr\u00fcckt +multiselectable=mehrfach ausw\u00E4hlbar +opaque=nicht transparent +pressed=gedr\u00FCckt resizable=skalierbar -selectable=w\u00e4hlbar -selected=ausgew\u00e4hlt +selectable=w\u00E4hlbar +selected=ausgew\u00E4hlt showing=angezeigt singleline=einzeilig -transient=tempor\u00e4r +transient=transient visible=sichtbar vertical=vertikal horizontal=horizontal @@ -109,10 +109,10 @@ toggle expand=ein-/ausblenden # # accessible relations # -flowsTo=flie\u00dft zu -flowsFrom=flie\u00dft von +flowsTo=flie\u00DFt zu +flowsFrom=flie\u00DFt von subwindowOf=Unterfenster von -parentWindowOf=\u00fcbergeordnetes Fenster von +parentWindowOf=\u00FCbergeordnetes Fenster von embeds=bettet ein embeddedBy=eingebettet in childNodeOf=untergeordneter Knoten von @@ -120,8 +120,8 @@ childNodeOf=untergeordneter Knoten von # # accessible roles # -header=Kopfzeile -footer=Fu\u00dfzeile +header=Header +footer=Footer paragraph=Absatz ruler=Lineal editbar=Bearbeitungsleiste @@ -130,9 +130,9 @@ progressMonitor=Fortschrittsmonitor # # accessible states # -managesDescendants=verwaltet abgeleitete Objekte +managesDescendants=verwaltet untergeordnete Objekte indeterminate=unbestimmt -truncated=gek\u00fcrzt +truncated=abgeschnitten # new for J2SE 1.6.0 diff --git a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_es.properties b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_es.properties index 2f744ef3c7d..fe065eda0a1 100644 --- a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_es.properties +++ b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_es.properties @@ -14,53 +14,53 @@ # accessible roles # alert=alerta -awtcomponent=Componente AWT -checkbox=casilla de verificaci\u00f3n +awtcomponent=componente AWT +checkbox=casilla de control colorchooser=selector de color columnheader=cabecera de columna combobox=cuadro combinado -canvas=superficie +canvas=lienzo desktopicon=icono de escritorio -desktoppane=tablero de escritorio -dialog=cuadro de di\u00e1logo -directorypane=tablero de directorio -glasspane=tablero de cristal +desktoppane=panel de escritorio +dialog=cuadro de di\u00E1logo +directorypane=panel de directorio +glasspane=panel de cristal filechooser=selector de archivos filler=rellenador frame=marco internalframe=marco interno label=etiqueta -layeredpane=tablero en capas +layeredpane=panel en capas list=lista listitem=elemento de lista -menubar=barra de men\u00fas -menu=men\u00fa -menuitem=elemento de men\u00fa -optionpane=tablero de opciones -pagetab=pesta\u00f1a de p\u00e1gina -pagetablist=lista de pesta\u00f1as de p\u00e1gina +menubar=barra de men\u00FAs +menu=men\u00FA +menuitem=elemento de men\u00FA +optionpane=panel de opciones +pagetab=separador de p\u00E1gina +pagetablist=lista de separadores de p\u00E1gina panel=panel -passwordtext=texto de contrase\u00f1a -popupmenu=men\u00fa emergente +passwordtext=texto de contrase\u00F1a +popupmenu=men\u00FA emergente progressbar=barra de progreso -pushbutton=bot\u00f3n de acci\u00f3n -radiobutton=bot\u00f3n de radio -rootpane=tablero ra\u00edz +pushbutton=bot\u00F3n +radiobutton=bot\u00F3n de radio +rootpane=panel ra\u00EDz rowheader=cabecera de filas scrollbar=barra de desplazamiento -scrollpane=tablero de desplazamiento +scrollpane=panel de desplazamiento separator=separador slider=deslizador -splitpane=tablero de divisi\u00f3n +splitpane=panel de divisi\u00F3n swingcomponent=componente swing table=tabla text=texto -tree=\u00e1rbol -togglebutton=bot\u00f3n conmutador +tree=\u00E1rbol +togglebutton=bot\u00F3n conmutador toolbar=barra de herramientas -tooltip=consejo de herramienta +tooltip=ayuda de burbuja unknown=desconocido -viewport=puerto de vista +viewport=viewport window=ventana # # accessible relations @@ -68,25 +68,25 @@ window=ventana labelFor=etiqueta para labeledBy=etiquetado por memberOf=miembro de -controlledBy=controlado por -controllerFor=controlador de +controlledBy=controlledBy +controllerFor=controllerFor # # accessible states # active=activo armed=armado busy=ocupado -checked=marcado -collapsed=contra\u00eddo +checked=activado +collapsed=reducido editable=editable expandable=ampliable expanded=ampliado -enabled=habilitado +enabled=activado focusable=enfocable focused=enfocado iconified=convertido en icono modal=modal -multiline=l\u00ednea m\u00faltiple +multiline=l\u00EDnea m\u00FAltiple multiselectable=multiseleccionable opaque=opaco pressed=pulsado @@ -94,15 +94,15 @@ resizable=redimensionable selectable=seleccionable selected=seleccionado showing=mostrando -singleline=l\u00ednea \u00fanica -transient=temporal +singleline=l\u00EDnea \u00FAnica +transient=transitorio visible=visible vertical=vertical horizontal=horizontal # # accessible actions # -toggle expand=activar/desactivar ampliaci\u00f3n +toggle expand=activar/desactivar ampliaci\u00F3n # new relations, roles and states for J2SE 1.5.0 @@ -112,9 +112,9 @@ toggle expand=activar/desactivar ampliaci\u00f3n flowsTo=llega a flowsFrom=procede de subwindowOf=ventana subordinada de -parentWindowOf=ventana superior de -embeds=incluye -embeddedBy=se incluye en +parentWindowOf=ventana principal de +embeds=embebe +embeddedBy=embebido por childNodeOf=nodo secundario de # @@ -122,15 +122,15 @@ childNodeOf=nodo secundario de # header=cabecera footer=pie -paragraph=p\u00e1rrafo +paragraph=p\u00E1rrafo ruler=regla -editbar=barra de edici\u00f3n -progressMonitor=monitor de progresi\u00f3n +editbar=barra de edici\u00F3n +progressMonitor=monitor de progreso # # accessible states # -managesDescendants=gestiona objetos subordinados +managesDescendants=gestiona descendientes indeterminate=indeterminado truncated=truncado diff --git a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_fr.properties b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_fr.properties index b557bc64a30..f41a5427605 100644 --- a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_fr.properties +++ b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_fr.properties @@ -14,95 +14,95 @@ # accessible roles # alert=alerte -awtcomponent=Composant AWT -checkbox=case \u00e0 cocher -colorchooser=s\u00e9lecteur de couleurs -columnheader=en-t\u00eate de colonne -combobox=bo\u00eete de dialogue mixte +awtcomponent=composant AWT +checkbox=case \u00E0 cocher +colorchooser=s\u00E9lecteur de couleurs +columnheader=en-t\u00EAte de colonne +combobox=liste d\u00E9roulante canvas=canevas -desktopicon=ic\u00f4ne de bureau -desktoppane=sous-fen\u00eatre de bureau -dialog=bo\u00eete de dialogue -directorypane=sous-fen\u00eatre de r\u00e9pertoires -glasspane=sous-fen\u00eatre de grossissement -filechooser=s\u00e9lecteur de fichiers -filler=\u00e9l\u00e9ment de remplissage +desktopicon=ic\u00F4ne de bureau +desktoppane=panneau de bureau +dialog=bo\u00EEte de dialogue +directorypane=panneau de r\u00E9pertoires +glasspane=panneau de grossissement +filechooser=s\u00E9lecteur de fichiers +filler=\u00E9l\u00E9ment de remplissage frame=cadre internalframe=cadre interne -label=\u00e9tiquette -layeredpane=sous-fen\u00eatre superpos\u00e9e +label=libell\u00E9 +layeredpane=panneau superpos\u00E9 list=liste -listitem=\u00e9l\u00e9ment de liste +listitem=\u00E9l\u00E9ment de liste menubar=barre de menus menu=menu menuitem=option de menu -optionpane=sous-fen\u00eatre d''options +optionpane=panneau d'options pagetab=onglet de page -pagetablist=liste d''onglets de page +pagetablist=liste d'onglets de page panel=panneau passwordtext=texte de mot de passe popupmenu=menu contextuel progressbar=barre de progression -pushbutton=bouton poussoir +pushbutton=bouton radiobutton=bouton radio -rootpane=sous-fen\u00eatre racine -rowheader=en-t\u00eate de ligne -scrollbar=barre de d\u00e9filement -scrollpane=sous-fen\u00eatre de d\u00e9filement -separator=s\u00e9parateur +rootpane=panneau racine +rowheader=en-t\u00EAte de ligne +scrollbar=barre de d\u00E9filement +scrollpane=panneau de d\u00E9filement +separator=s\u00E9parateur slider=curseur -splitpane=sous-fen\u00eatre divis\u00e9e -swingcomponent=composant de bascule +splitpane=panneau divis\u00E9 +swingcomponent=composant Swing table=tableau text=texte -tree=arbre +tree=arborescence togglebutton=bouton de basculement -toolbar=barre d''outils +toolbar=barre d'outils tooltip=info-bulle unknown=inconnu -viewport=cl\u00f4ture -window=fen\u00eatre +viewport=lucarne +window=fen\u00EAtre # # accessible relations # -labelFor=\u00e9tiquette de -labeledBy=libell\u00e9(e) par +labelFor=libell\u00E9 de +labeledBy=libell\u00E9 par memberOf=membre de -controlledBy=contr\u00f4l\u00e9 par -controllerFor=contr\u00f4leur pour +controlledBy=contr\u00F4l\u00E9 par +controllerFor=contr\u00F4leur pour # # accessible states # -active=actif(ve) -armed=arm\u00e9(e) -busy=occup\u00e9(e) -checked=coch\u00e9e -collapsed=r\u00e9duit(e) +active=actif +armed=arm\u00E9 +busy=occup\u00E9 +checked=coch\u00E9 +collapsed=r\u00E9duit editable=modifiable expandable=extensible -expanded=d\u00e9velopp\u00e9(e) -enabled=activ\u00e9(e) -focusable=zone d''entr\u00e9e possible -focused=avec zone d''entr\u00e9e -iconified=r\u00e9duit(e) \u00e0 une ic\u00f4ne -modal=modal(e) +expanded=d\u00E9velopp\u00E9 +enabled=activ\u00E9 +focusable=zone d'entr\u00E9e possible +focused=avec zone d'entr\u00E9e +iconified=r\u00E9duit \u00E0 une ic\u00F4ne +modal=modal multiline=ligne multiple -multiselectable=multis\u00e9lectionnable +multiselectable=multis\u00E9lectionnable opaque=opaque -pressed=enfonc\u00e9 +pressed=enfonc\u00E9 resizable=redimensionnable -selectable=s\u00e9lectionnable -selected=s\u00e9lectionn\u00e9(e) +selectable=s\u00E9lectionnable +selected=s\u00E9lectionn\u00E9 showing=montrant singleline=ligne unique -transient=transitoire +transient=non persistant visible=visible -vertical=vertical(e) -horizontal=horizontal(e) +vertical=vertical +horizontal=horizontal # # accessible actions # -toggle expand=basculer le d\u00e9veloppement +toggle expand=basculer le d\u00E9veloppement # new relations, roles and states for J2SE 1.5.0 @@ -111,35 +111,35 @@ toggle expand=basculer le d\u00e9veloppement # flowsTo=flux vers flowsFrom=flux depuis -subwindowOf=sous-fen\u00eatre de -parentWindowOf=fen\u00eatre parente de +subwindowOf=sous-fen\u00EAtre de +parentWindowOf=fen\u00EAtre parente de embeds=incorpore -embeddedBy=incorpor\u00e9 par -childNodeOf=n\u0153ud enfant de +embeddedBy=incorpor\u00E9 par +childNodeOf=noeud enfant de # # accessible roles # -header=en-t\u00eate +header=en-t\u00EAte footer=pied de page paragraph=paragraphe -ruler=r\u00e8gle -editbar=barre d'\u00e9dition -progressMonitor=contr\u00f4le de la progression +ruler=r\u00E8gle +editbar=barre d'\u00E9dition +progressMonitor=contr\u00F4le de la progression # # accessible states # -managesDescendants=g\u00e8re les descendants -indeterminate=ind\u00e9termin\u00e9 -truncated=tronqu\u00e9 +managesDescendants=g\u00E8re les descendants +indeterminate=ind\u00E9termin\u00E9 +truncated=tronqu\u00E9 # new for J2SE 1.6.0 # # accessible roles # -htmlcontainer=Conteneur HTML +htmlcontainer=conteneur HTML # # END OF MATERIAL TO LOCALIZE diff --git a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_it.properties b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_it.properties index 54b888e7ed8..2d5cfa39504 100644 --- a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_it.properties +++ b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_it.properties @@ -13,45 +13,45 @@ # # accessible roles # -alert=allarme +alert=avviso awtcomponent=componente AWT checkbox=casella di controllo colorchooser=selezione colori columnheader=intestazione colonna -combobox=casella -canvas=area di disegno -desktopicon=icona del desktop -desktoppane=sottofinestra del desktop +combobox=casella combinata +canvas=sfondo +desktopicon=icona desktop +desktoppane=riquadro desktop dialog=finestra di dialogo -directorypane=sottofinestra della directory -glasspane=sottofinestra trasparente +directorypane=riquadro directory +glasspane=riquadro trasparente filechooser=selezione file -filler=utilit\u00e0 riempimento +filler=utilit\u00E0 riempimento frame=cornice internalframe=cornice interna label=etichetta -layeredpane=sottofinestra a livelli -list=elenco -listitem=voce di elenco +layeredpane=riquadro a livelli +list=lista +listitem=voce lista menubar=barra dei menu menu=menu menuitem=voce di menu -optionpane=sottofinestra delle opzioni +optionpane=riquadro opzioni pagetab=scheda pagina -pagetablist=elenco schede pagina +pagetablist=lista schede pagina panel=pannello passwordtext=testo della password -popupmenu=menu a comparsa +popupmenu=menu popup progressbar=barra di avanzamento pushbutton=pulsante radiobutton=pulsante di scelta -rootpane=sottofinestra root +rootpane=riquadro root rowheader=intestazione di riga scrollbar=barra di scorrimento -scrollpane=scorri sottofinestra +scrollpane=riquadro scorrimento separator=separatore -slider=cursore -splitpane=sottofinestra doppia +slider=dispositivo di scorrimento +splitpane=riquadro doppio swingcomponent=componente swing table=tabella text=testo @@ -68,8 +68,8 @@ window=finestra labelFor=etichetta per labeledBy=etichetta di memberOf=membro di -controlledBy=controllato da -controllerFor=controllore per +controlledBy=controlledBy +controllerFor=controllerFor # # accessible states # @@ -77,11 +77,11 @@ active=attivo armed=abilitato busy=occupato checked=verificato -collapsed=ingrandito +collapsed=compresso editable=modificabile expandable=espandibile expanded=espanso -enabled=attivato +enabled=abilitato focusable=attivabile in primo piano focused=in primo piano iconified=ridotto a icona @@ -121,7 +121,7 @@ childNodeOf=nodo figlio di # accessible roles # header=intestazione -footer=pi\u00e8 di pagina +footer=pi\u00E8 di pagina paragraph=paragrafo ruler=righello editbar=barra di modifica diff --git a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_ja.properties b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_ja.properties index 7843ab31bc9..91bfc942117 100644 --- a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_ja.properties +++ b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_ja.properties @@ -13,133 +13,133 @@ # # accessible roles # -alert=\u8b66\u544a -awtcomponent=AWT \u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8 -checkbox=\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9 -colorchooser=\u30ab\u30e9\u30fc\u30c1\u30e5\u30fc\u30b6 -columnheader=\u5217\u30d8\u30c3\u30c0 -combobox=\u30b3\u30f3\u30dc\u30dc\u30c3\u30af\u30b9 -canvas=\u30ad\u30e3\u30f3\u30d0\u30b9 -desktopicon=\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u30a2\u30a4\u30b3\u30f3 -desktoppane=\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u533a\u753b -dialog=\u30c0\u30a4\u30a2\u30ed\u30b0 -directorypane=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u533a\u753b -glasspane=\u30ac\u30e9\u30b9\u533a\u753b -filechooser=\u30d5\u30a1\u30a4\u30eb\u30c1\u30e5\u30fc\u30b6 -filler=\u30d5\u30a3\u30e9\u30fc -frame=\u30d5\u30ec\u30fc\u30e0 -internalframe=\u5185\u90e8\u30d5\u30ec\u30fc\u30e0 -label=\u30e9\u30d9\u30eb -layeredpane=\u968e\u5c64\u5316\u3055\u308c\u305f\u533a\u753b -list=\u30ea\u30b9\u30c8 -listitem=\u30ea\u30b9\u30c8\u9805\u76ee -menubar=\u30e1\u30cb\u30e5\u30fc\u30d0\u30fc -menu=\u30e1\u30cb\u30e5\u30fc -menuitem=\u30e1\u30cb\u30e5\u30fc\u9805\u76ee -optionpane=\u30aa\u30d7\u30b7\u30e7\u30f3\u533a\u753b -pagetab=\u30da\u30fc\u30b8\u30bf\u30d6 -pagetablist=\u30da\u30fc\u30b8\u30bf\u30d6\u30ea\u30b9\u30c8 -panel=\u30d1\u30cd\u30eb -passwordtext=\u30d1\u30b9\u30ef\u30fc\u30c9\u30c6\u30ad\u30b9\u30c8 -popupmenu=\u30dd\u30c3\u30d7\u30a2\u30c3\u30d7\u30e1\u30cb\u30e5\u30fc -progressbar=\u9032\u6357\u30d0\u30fc -pushbutton=\u30d7\u30c3\u30b7\u30e5\u30dc\u30bf\u30f3 -radiobutton=\u30e9\u30b8\u30aa\u30dc\u30bf\u30f3 -rootpane=\u30eb\u30fc\u30c8\u533a\u753b -rowheader=\u884c\u30d8\u30c3\u30c0 -scrollbar=\u30b9\u30af\u30ed\u30fc\u30eb\u30d0\u30fc -scrollpane=\u30b9\u30af\u30ed\u30fc\u30eb\u533a\u753b -separator=\u30bb\u30d1\u30ec\u30fc\u30bf -slider=\u30b9\u30e9\u30a4\u30c0 -splitpane=\u5206\u5272\u533a\u753b -swingcomponent=Swing \u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8 -table=\u30c6\u30fc\u30d6\u30eb -text=\u30c6\u30ad\u30b9\u30c8 -tree=\u30c4\u30ea\u30fc -togglebutton=\u30c8\u30b0\u30eb\u30dc\u30bf\u30f3 -toolbar=\u30c4\u30fc\u30eb\u30d0\u30fc -tooltip=\u30c4\u30fc\u30eb\u30d2\u30f3\u30c8 -unknown=\u672a\u77e5 -viewport=\u30d3\u30e5\u30fc\u30dd\u30fc\u30c8 -window=\u30a6\u30a3\u30f3\u30c9\u30a6 +alert=\u30A2\u30E9\u30FC\u30C8 +awtcomponent=AWT\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8 +checkbox=\u30C1\u30A7\u30C3\u30AF\u30FB\u30DC\u30C3\u30AF\u30B9 +colorchooser=\u30AB\u30E9\u30FC\u30FB\u30C1\u30E5\u30FC\u30B6 +columnheader=\u5217\u30D8\u30C3\u30C0\u30FC +combobox=\u30B3\u30F3\u30DC\u30FB\u30DC\u30C3\u30AF\u30B9 +canvas=\u30AD\u30E3\u30F3\u30D0\u30B9 +desktopicon=\u30C7\u30B9\u30AF\u30C8\u30C3\u30D7\u30FB\u30A2\u30A4\u30B3\u30F3 +desktoppane=\u30C7\u30B9\u30AF\u30C8\u30C3\u30D7\u533A\u753B +dialog=\u30C0\u30A4\u30A2\u30ED\u30B0 +directorypane=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u533A\u753B +glasspane=\u30AC\u30E9\u30B9\u533A\u753B +filechooser=\u30D5\u30A1\u30A4\u30EB\u30FB\u30C1\u30E5\u30FC\u30B6 +filler=\u30D5\u30A3\u30E9\u30FC +frame=\u30D5\u30EC\u30FC\u30E0 +internalframe=\u5185\u90E8\u30D5\u30EC\u30FC\u30E0 +label=\u30E9\u30D9\u30EB +layeredpane=\u968E\u5C64\u5316\u3055\u308C\u305F\u533A\u753B +list=\u30EA\u30B9\u30C8 +listitem=\u30EA\u30B9\u30C8\u9805\u76EE +menubar=\u30E1\u30CB\u30E5\u30FC\u30FB\u30D0\u30FC +menu=\u30E1\u30CB\u30E5\u30FC +menuitem=\u30E1\u30CB\u30E5\u30FC\u9805\u76EE +optionpane=\u30AA\u30D7\u30B7\u30E7\u30F3\u533A\u753B +pagetab=\u30DA\u30FC\u30B8\u30FB\u30BF\u30D6 +pagetablist=\u30DA\u30FC\u30B8\u30FB\u30BF\u30D6\u30FB\u30EA\u30B9\u30C8 +panel=\u30D1\u30CD\u30EB +passwordtext=\u30D1\u30B9\u30EF\u30FC\u30C9\u30FB\u30C6\u30AD\u30B9\u30C8 +popupmenu=\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7\u30FB\u30E1\u30CB\u30E5\u30FC +progressbar=\u9032\u6357\u30D0\u30FC +pushbutton=\u30D7\u30C3\u30B7\u30E5\u30FB\u30DC\u30BF\u30F3 +radiobutton=\u30E9\u30B8\u30AA\u30FB\u30DC\u30BF\u30F3 +rootpane=\u30EB\u30FC\u30C8\u533A\u753B +rowheader=\u884C\u30D8\u30C3\u30C0\u30FC +scrollbar=\u30B9\u30AF\u30ED\u30FC\u30EB\u30FB\u30D0\u30FC +scrollpane=\u30B9\u30AF\u30ED\u30FC\u30EB\u533A\u753B +separator=\u30BB\u30D1\u30EC\u30FC\u30BF +slider=\u30B9\u30E9\u30A4\u30C0 +splitpane=\u5206\u5272\u533A\u753B +swingcomponent=Swing\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8 +table=\u8868 +text=\u30C6\u30AD\u30B9\u30C8 +tree=\u30C4\u30EA\u30FC +togglebutton=\u30C8\u30B0\u30EB\u30FB\u30DC\u30BF\u30F3 +toolbar=\u30C4\u30FC\u30EB\u30D0\u30FC +tooltip=\u30C4\u30FC\u30EB\u30C1\u30C3\u30D7 +unknown=\u4E0D\u660E +viewport=\u30D3\u30E5\u30FC\u30DD\u30FC\u30C8 +window=\u30A6\u30A3\u30F3\u30C9\u30A6 # # accessible relations # -labelFor=\u30e9\u30d9\u30eb\u5143 -labeledBy=\u30e9\u30d9\u30eb\u5148 -memberOf=\u6240\u5c5e\u30e1\u30f3\u30d0 -controlledBy=\u5236\u5fa1\u5bfe\u8c61 -controllerFor=\u5236\u5fa1\u5143 +labelFor=label for +labeledBy=labeled by +memberOf=member of +controlledBy=controlledBy +controllerFor=controllerFor # # accessible states # -active=\u30a2\u30af\u30c6\u30a3\u30d6 -armed=\u4f5c\u52d5\u6e96\u5099\u5b8c\u4e86 -busy=\u30d3\u30b8\u30fc -checked=\u30c1\u30a7\u30c3\u30af -collapsed=\u77ed\u7e2e -editable=\u7de8\u96c6\u53ef\u80fd -expandable=\u5c55\u958b\u53ef\u80fd -expanded=\u5c55\u958b -enabled=\u6709\u52b9 -focusable=\u30d5\u30a9\u30fc\u30ab\u30b9\u53ef\u80fd -focused=\u30d5\u30a9\u30fc\u30ab\u30b9 -iconified=\u30a2\u30a4\u30b3\u30f3\u5316 -modal=\u30e2\u30fc\u30c0\u30eb -multiline=\u8907\u6570\u884c -multiselectable=\u8907\u6570\u9078\u629e\u53ef\u80fd -opaque=\u4e0d\u900f\u660e -pressed=\u62bc\u4e0b -resizable=\u30b5\u30a4\u30ba\u5909\u66f4\u53ef\u80fd -selectable=\u9078\u629e\u53ef\u80fd -selected=\u9078\u629e -showing=\u8868\u793a -singleline=\u5358\u4e00\u884c -transient=\u4e00\u6642 -visible=\u53ef\u8996 -vertical=\u5782\u76f4 -horizontal=\u6c34\u5e73 +active=\u30A2\u30AF\u30C6\u30A3\u30D6 +armed=\u4F5C\u52D5\u6E96\u5099\u5B8C\u4E86 +busy=\u30D3\u30B8\u30FC +checked=\u30C1\u30A7\u30C3\u30AF +collapsed=\u77ED\u7E2E +editable=\u7DE8\u96C6\u53EF\u80FD +expandable=\u5C55\u958B\u53EF\u80FD +expanded=\u5C55\u958B +enabled=\u6709\u52B9 +focusable=\u30D5\u30A9\u30FC\u30AB\u30B9\u53EF\u80FD +focused=\u30D5\u30A9\u30FC\u30AB\u30B9 +iconified=\u30A2\u30A4\u30B3\u30F3\u5316 +modal=\u30E2\u30FC\u30C0\u30EB +multiline=\u8907\u6570\u884C +multiselectable=\u8907\u6570\u9078\u629E\u53EF\u80FD +opaque=\u4E0D\u900F\u660E +pressed=\u62BC\u4E0B +resizable=\u30B5\u30A4\u30BA\u5909\u66F4\u53EF\u80FD +selectable=\u9078\u629E\u53EF\u80FD +selected=\u9078\u629E +showing=\u8868\u793A +singleline=\u5358\u4E00\u884C +transient=\u4E00\u6642 +visible=\u53EF\u8996 +vertical=\u5782\u76F4 +horizontal=\u6C34\u5E73 # # accessible actions # -toggle expand=\u30c8\u30b0\u30eb\u5c55\u958b +toggle expand=\u30C8\u30B0\u30EB\u5C55\u958B # new relations, roles and states for J2SE 1.5.0 # # accessible relations # -flowsTo=\u30d5\u30ed\u30fc\u5148 -flowsFrom=\u30d5\u30ed\u30fc\u5143 -subwindowOf=\u30b5\u30d6\u30a6\u30a3\u30f3\u30c9\u30a6 -parentWindowOf=\u89aa\u30a6\u30a3\u30f3\u30c9\u30a6 -embeds=\u57cb\u3081\u8fbc\u307f -embeddedBy=\u57cb\u3081\u8fbc\u307f\u5143 -childNodeOf=\u5b50\u30ce\u30fc\u30c9 +flowsTo=flows to +flowsFrom=flows from +subwindowOf=subwindow of +parentWindowOf=parent window of +embeds=\u57CB\u8FBC\u307F +embeddedBy=embedded by +childNodeOf=child node of # # accessible roles # -header=\u30d8\u30c3\u30c0 -footer=\u30d5\u30c3\u30bf -paragraph=\u30d1\u30e9\u30b0\u30e9\u30d5 -ruler=\u30eb\u30fc\u30e9 -editbar=\u7de8\u96c6\u30d0\u30fc -progressMonitor=\u9032\u6357\u30e2\u30cb\u30bf +header=\u30D8\u30C3\u30C0\u30FC +footer=\u30D5\u30C3\u30BF\u30FC +paragraph=\u6BB5\u843D +ruler=\u30EB\u30FC\u30E9\u30FC +editbar=\u7DE8\u96C6\u30D0\u30FC +progressMonitor=\u9032\u6357\u30E2\u30CB\u30BF\u30FC # # accessible states # -managesDescendants=\u5b50\u5b6b\u3092\u7ba1\u7406 -indeterminate=\u4e0d\u78ba\u5b9a -truncated=\u4e0d\u5b8c\u5168 +managesDescendants=\u5B50\u5B6B\u3092\u7BA1\u7406 +indeterminate=\u4E0D\u78BA\u5B9A +truncated=\u4E0D\u5B8C\u5168 # new for J2SE 1.6.0 # # accessible roles # -htmlcontainer=HTML \u30b3\u30f3\u30c6\u30ca +htmlcontainer=HTML\u30B3\u30F3\u30C6\u30CA # # END OF MATERIAL TO LOCALIZE diff --git a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_ko.properties b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_ko.properties index 8f94f54e0ff..bb4e95d1cc0 100644 --- a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_ko.properties +++ b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_ko.properties @@ -13,133 +13,133 @@ # # accessible roles # -alert=\uacbd\uace0 -awtcomponent=AWT \uad6c\uc131\uc694\uc18c -checkbox=\ud655\uc778\ub780 -colorchooser=\uc0c9\uc0c1 \uc120\ud0dd\uae30 -columnheader=\uc5f4 \uba38\ub9ac\uae00 -combobox=\ucf64\ubcf4 \uc0c1\uc790 -canvas=\uce94\ubc84\uc2a4 -desktopicon=\ub370\uc2a4\ud06c\ud0d1 \uc544\uc774\ucf58 -desktoppane=\ub370\uc2a4\ud06c\ud0d1 \ud45c\uc2dc \uc601\uc5ed -dialog=\ub300\ud654 \uc0c1\uc790 -directorypane=\ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc \uc601\uc5ed -glasspane=\uae00\ub798\uc2a4 \ud45c\uc2dc \uc601\uc5ed -filechooser=\ud30c\uc77c \uc120\ud0dd\uae30 -filler=\ud544\ub7ec -frame=\ud504\ub808\uc784 -internalframe=\ub0b4\ubd80 \ud504\ub808\uc784 -label=\ub808\uc774\ube14 -layeredpane=\uacc4\uce35 \ud45c\uc2dc \uc601\uc5ed -list=\ubaa9\ub85d -listitem=\ubaa9\ub85d \ud56d\ubaa9 -menubar=\uba54\ub274 \ud45c\uc2dc\uc904 -menu=\uba54\ub274 -menuitem=\uba54\ub274 \ud56d\ubaa9 -optionpane=\uc635\uc158 \ud45c\uc2dc \uc601\uc5ed -pagetab=\ud398\uc774\uc9c0 \ud0ed -pagetablist=\ud398\uc774\uc9c0 \ud0ed \ubaa9\ub85d -panel=\ud328\ub110 -passwordtext=\uc554\ud638 \ud14d\uc2a4\ud2b8 -popupmenu=\ud31d\uc5c5 \uba54\ub274 -progressbar=\uc9c4\ud589 \ub9c9\ub300 -pushbutton=\ub204\ub984 \ubc84\ud2bc -radiobutton=\ub77c\ub514\uc624 \ubc84\ud2bc -rootpane=\ub8e8\ud2b8 \ud45c\uc2dc \uc601\uc5ed -rowheader=\ud589 \uba38\ub9ac\uae00 -scrollbar=\uc2a4\ud06c\ub864 \ub9c9\ub300 -scrollpane=\uc2a4\ud06c\ub864 \ud45c\uc2dc \uc601\uc5ed -separator=\uad6c\ubd84\uc790 -slider=\uc2ac\ub77c\uc774\ub354 -splitpane=\ubd84\ud560 \ud45c\uc2dc \uc601\uc5ed -swingcomponent=swing \uad6c\uc131\uc694\uc18c -table=\ud14c\uc774\ube14 -text=\ud14d\uc2a4\ud2b8 -tree=\ud2b8\ub9ac -togglebutton=\ud1a0\uae00 \ubc84\ud2bc -toolbar=\ub3c4\uad6c \ubaa8\uc74c -tooltip=\ub3c4\uad6c \ud301 -unknown=\uc54c\uc218 \uc5c6\uc74c -viewport=\ubdf0\ud3ec\ud2b8 -window=\ucc3d +alert=\uACBD\uBCF4 +awtcomponent=AWT \uAD6C\uC131 \uC694\uC18C +checkbox=\uCCB4\uD06C \uBC15\uC2A4 +colorchooser=\uC0C9\uC0C1 \uC120\uD0DD\uAE30 +columnheader=\uC5F4 \uBA38\uB9AC\uAE00 +combobox=\uCF64\uBCF4 \uC0C1\uC790 +canvas=\uCE94\uBC84\uC2A4 +desktopicon=\uBC14\uD0D5 \uD654\uBA74 \uC544\uC774\uCF58 +desktoppane=\uBC14\uD0D5 \uD654\uBA74 \uCC3D +dialog=\uB300\uD654\uC0C1\uC790 +directorypane=\uB514\uB809\uD1A0\uB9AC \uCC3D +glasspane=\uAE00\uB798\uC2A4 \uCC3D +filechooser=\uD30C\uC77C \uC120\uD0DD\uAE30 +filler=\uD544\uB7EC +frame=\uD504\uB808\uC784 +internalframe=\uB0B4\uBD80 \uD504\uB808\uC784 +label=\uB808\uC774\uBE14 +layeredpane=\uACC4\uCE35\uC801 \uCC3D +list=\uBAA9\uB85D +listitem=\uBAA9\uB85D \uD56D\uBAA9 +menubar=\uBA54\uB274 \uD45C\uC2DC\uC904 +menu=\uBA54\uB274 +menuitem=\uBA54\uB274 \uD56D\uBAA9 +optionpane=\uC635\uC158 \uCC3D +pagetab=\uD398\uC774\uC9C0 \uD0ED +pagetablist=\uD398\uC774\uC9C0 \uD0ED \uBAA9\uB85D +panel=\uD328\uB110 +passwordtext=\uBE44\uBC00\uBC88\uD638 \uD14D\uC2A4\uD2B8 +popupmenu=\uD31D\uC5C5 \uBA54\uB274 +progressbar=\uC9C4\uD589 \uB9C9\uB300 +pushbutton=\uB204\uB984 \uB2E8\uCD94 +radiobutton=\uB77C\uB514\uC624 \uB2E8\uCD94 +rootpane=\uB8E8\uD2B8 \uCC3D +rowheader=\uD589 \uBA38\uB9AC\uAE00 +scrollbar=\uC2A4\uD06C\uB864 \uB9C9\uB300 +scrollpane=\uC2A4\uD06C\uB864 \uCC3D +separator=\uAD6C\uBD84 \uAE30\uD638 +slider=\uC2AC\uB77C\uC774\uB354 +splitpane=\uBD84\uD560 \uCC3D +swingcomponent=\uD68C\uC804 \uAD6C\uC131 \uC694\uC18C +table=\uD14C\uC774\uBE14 +text=\uD14D\uC2A4\uD2B8 +tree=\uD2B8\uB9AC +togglebutton=\uD1A0\uAE00 \uB2E8\uCD94 +toolbar=\uB3C4\uAD6C \uBAA8\uC74C +tooltip=\uB3C4\uAD6C \uC124\uBA85 +unknown=\uC54C \uC218 \uC5C6\uC74C +viewport=\uBDF0\uD3EC\uD2B8 +window=\uCC3D # # accessible relations # -labelFor=\ub808\uc774\ube14 \ub300\uc0c1 -labeledBy=\ub808\uc774\ube14 \uc9c0\uc815\uc790 -memberOf=\ub2e4\uc74c\uc758 \uad6c\uc131\uc6d0 -controlledBy=\uc81c\uc5b4\uc790 -controllerFor=\uc81c\uc5b4\uae30 \ub300\uc0c1 +labelFor=\uB808\uC774\uBE14 \uB300\uC0C1 +labeledBy=\uB808\uC774\uBE14 \uC9C0\uC815\uC790 +memberOf=\uC18C\uC18D \uADF8\uB8F9 +controlledBy=controlledBy +controllerFor=controllerFor # # accessible states # -active=\ud65c\uc131 -armed=\ud06c\uae30 -busy=\uc0ac\uc6a9 \uc911 -checked=\uc120\ud0dd\ub428 -collapsed=\ucd95\uc18c\ub428 -editable=\ud3b8\uc9d1 \uac00\ub2a5 -expandable=\ud655\uc7a5 \uac00\ub2a5 -expanded=\ud655\uc7a5\ub428 -enabled=\ud65c\uc131\ud654\ub428 -focusable=\ud3ec\ucee4\uc2a4 \uac00\ub2a5 -focused=\ud3ec\ucee4\uc2a4 \uc9c0\uc815\ub428 -iconified=\uc544\uc774\ucf58\ud654\ub428 -modal=\ubaa8\ub2ec -multiline=\ubcf5\uc218 \ud589 -multiselectable=\ubcf5\uc218\ub85c \uc120\ud0dd \uac00\ub2a5 -opaque=\ubd88\ud22c\uba85 -pressed=\ub204\ub984 -resizable=\ud06c\uae30 \uc870\uc815 \uac00\ub2a5 -selectable=\uc120\ud0dd \uac00\ub2a5 -selected=\uc120\ud0dd\ub428 -showing=\ud45c\uc2dc -singleline=\ub2e8\uc120 -transient=\uc77c\uc2dc -visible=\uac00\uc2dc -vertical=\uc218\uc9c1 -horizontal=\uc218\ud3c9 +active=\uD65C\uC131 +armed=\uD06C\uAE30 +busy=\uC0AC\uC6A9 \uC911 +checked=\uC120\uD0DD\uB428 +collapsed=\uCD95\uC18C\uB428 +editable=\uD3B8\uC9D1 \uAC00\uB2A5 +expandable=\uD655\uC7A5 \uAC00\uB2A5 +expanded=\uD655\uC7A5\uB428 +enabled=\uC0AC\uC6A9 +focusable=\uD3EC\uCEE4\uC2A4 \uAC00\uB2A5 +focused=\uD3EC\uCEE4\uC2A4\uB428 +iconified=\uC544\uC774\uCF58\uD654\uB428 +modal=\uBAA8\uB2EC +multiline=\uBCF5\uC218 \uD589 +multiselectable=\uB2E4\uC911 \uC120\uD0DD \uAC00\uB2A5 +opaque=\uBD88\uD22C\uBA85 +pressed=\uB204\uB984 +resizable=\uD06C\uAE30 \uC870\uC815 \uAC00\uB2A5 +selectable=\uC120\uD0DD \uAC00\uB2A5 +selected=\uC120\uD0DD\uB428 +showing=\uD45C\uC2DC +singleline=\uD55C \uC904 +transient=\uC77C\uC2DC +visible=\uD45C\uC2DC \uAC00\uB2A5 +vertical=\uC138\uB85C +horizontal=\uAC00\uB85C # # accessible actions # -toggle expand=\ud1a0\uae00 \ud655\uc7a5 +toggle \uD655\uC7A5=\uD1A0\uAE00 \uD655\uC7A5 # new relations, roles and states for J2SE 1.5.0 # # accessible relations # -flowsTo=(\uc73c)\ub85c \ud750\ub984 -flowsFrom=\uc5d0\uc11c \ud750\ub984 -subwindowOf=\ud558\uc704 \ucc3d -parentWindowOf=\uc0c1\uc704 \ucc3d -embeds=\uc744(\ub97c) \ud3ec\ud568 -embeddedBy=\uc5d0 \ud3ec\ud568 -childNodeOf=\ud558\uc704 \ub178\ub4dc +flowsTo=\uD750\uB984 \uB300\uC0C1 +flowsFrom=\uD750\uB984 \uCD9C\uCC98 +subwindowOf=\uD558\uC704 \uCC3D +parentWindowOf=\uC0C1\uC704 \uCC3D +embeds=\uD3EC\uD568 +embeddedBy=\uD3EC\uD568 \uC8FC\uCCB4 +childNodeOf=\uD558\uC704 \uB178\uB4DC # # accessible roles # -header=\uba38\ub9ac\ub9d0 -footer=\uaf2c\ub9ac\ub9d0 -paragraph=\ub2e8\ub77d -ruler=\ub208\uae08\uc790 -editbar=\ud3b8\uc9d1 \ub3c4\uad6c -progressMonitor=\uc9c4\ud589 \ubaa8\ub2c8\ud130 +header=\uBA38\uB9AC\uAE00 +footer=\uBC14\uB2E5\uAE00 +paragraph=\uB2E8\uB77D +ruler=\uB208\uAE08\uC790 +editbar=\uD3B8\uC9D1 \uB3C4\uAD6C +progressMonitor=\uC9C4\uD589 \uBAA8\uB2C8\uD130 # # accessible states # -managesDescendants=\ud558\uc704 \ud56d\ubaa9 \uad00\ub9ac -indeterminate=\ubd80\uc815 -truncated=\uc0dd\ub7b5 +managesDescendants=\uC885\uC18D \uD56D\uBAA9 \uAD00\uB9AC +indeterminate=\uD655\uC815\uB418\uC9C0 \uC54A\uC74C +truncated=\uC798\uB9BC # new for J2SE 1.6.0 # # accessible roles # -htmlcontainer=HTML \ucee8\ud14c\uc774\ub108 +htmlcontainer=HTML \uCEE8\uD14C\uC774\uB108 # # END OF MATERIAL TO LOCALIZE diff --git a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_pt_BR.properties b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_pt_BR.properties index 8cd9de0b253..cad33b19f01 100644 --- a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_pt_BR.properties +++ b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_pt_BR.properties @@ -15,38 +15,38 @@ # alert=alerta awtcomponent=componente AWT -checkbox=caixa de sele\u00e7\u00e3o +checkbox=caixa de sele\u00E7\u00E3o colorchooser=seletor de cores -columnheader=cabe\u00e7alho da coluna -combobox=caixa de combina\u00e7\u00e3o +columnheader=cabe\u00E7alho da coluna +combobox=caixa de combina\u00E7\u00E3o canvas=tela -desktopicon=\u00edcone da \u00e1rea de trabalho -desktoppane=painel da \u00e1rea de trabalho -dialog=caixa de di\u00e1logo -directorypane=painel do diret\u00f3rio +desktopicon=\u00EDcone da \u00E1rea de trabalho +desktoppane=painel da \u00E1rea de trabalho +dialog=caixa de di\u00E1logo +directorypane=painel do diret\u00F3rio glasspane=painel transparente filechooser=seletor de arquivos -filler=preenchimento +filler=preenchedor frame=quadro internalframe=quadro interno -label=r\u00f3tulo +label=r\u00F3tulo layeredpane=painel em camadas list=lista listitem=item da lista menubar=barra de menus menu=menu menuitem=item do menu -optionpane=painel de op\u00e7\u00f5es -pagetab=aba da p\u00e1gina -pagetablist=lista de abas da p\u00e1gina +optionpane=painel de op\u00E7\u00F5es +pagetab=guia da p\u00E1gina +pagetablist=lista de guias da p\u00E1gina panel=painel passwordtext=texto da senha popupmenu=menu pop-up progressbar=barra de progresso -pushbutton=bot\u00e3o de a\u00e7\u00e3o -radiobutton=bot\u00e3o de op\u00e7\u00e3o +pushbutton=bot\u00E3o de a\u00E7\u00E3o +radiobutton=bot\u00E3o de op\u00E7\u00E3o rootpane=painel base -rowheader=cabe\u00e7alho da linha +rowheader=cabe\u00E7alho da linha scrollbar=barra de rolagem scrollpane=painel de rolagem separator=separador @@ -55,19 +55,19 @@ splitpane=painel dividido swingcomponent=componente swing table=tabela text=texto -tree=\u00e1rvore -togglebutton=bot\u00e3o de altern\u00e2ncia +tree=\u00E1rvore +togglebutton=bot\u00E3o de altern\u00E2ncia toolbar=barra de ferramentas tooltip=dica de ferramenta unknown=desconhecido -viewport=janela de visualiza\u00e7\u00e3o +viewport=janela de visualiza\u00E7\u00E3o window=janela # # accessible relations # -labelFor=r\u00f3tulo de +labelFor=r\u00F3tulo de labeledBy=rotulado por -memberOf=membro de +memberOf=membro de controlledBy=controlledBy controllerFor=controllerFor # @@ -78,31 +78,31 @@ armed=armado busy=ocupado checked=selecionado collapsed=recolhido -editable=edit\u00e1vel -expandable=expans\u00edvel +editable=edit\u00E1vel +expandable=expans\u00EDvel expanded=expandido -enabled=habilitado -focusable=focaliz\u00e1vel +enabled=ativado +focusable=focaliz\u00E1vel focused=focalizado iconified=iconizado modal=modal -multiline=v\u00e1rias linhas -multiselectable=m\u00faltipla escolha +multiline=v\u00E1rias linhas +multiselectable=m\u00FAltipla escolha opaque=opaco pressed=pressionado -resizable=redimension\u00e1vel -selectable=selecion\u00e1vel +resizable=redimension\u00E1vel +selectable=selecion\u00E1vel selected=selecionado -showing=exibindo -singleline=linha \u00fanica -transient=transit\u00f3rio -visible=vis\u00edvel +showing=mostrando +singleline=linha \u00FAnica +transient=transit\u00F3rio +visible=vis\u00EDvel vertical=vertical horizontal=horizontal # # accessible actions # -toggle expandir=alternar expandir +toggle expandir=alternar expans\u00E3o # new relations, roles and states for J2SE 1.5.0 @@ -115,16 +115,16 @@ subwindowOf=subjanela de parentWindowOf=janela pai de embeds=integra embeddedBy=integrado por -childNodeOf=n\u00f3 filho de +childNodeOf=n\u00F3 filho de # # accessible roles # -header=cabe\u00e7alho -footer=rodap\u00e9 -paragraph=par\u00e1grafo -ruler=r\u00e9gua -editbar=barra de edi\u00e7\u00e3o +header=cabe\u00E7alho +footer=rodap\u00E9 +paragraph=par\u00E1grafo +ruler=r\u00E9gua +editbar=barra de edi\u00E7\u00E3o progressMonitor=monitor de progresso # @@ -139,7 +139,7 @@ truncated=truncado # # accessible roles # -htmlcontainer=cont\u00eainer HTML +htmlcontainer=Container de HTML # # END OF MATERIAL TO LOCALIZE diff --git a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_sv.properties b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_sv.properties index f028855d65f..337b6720d9e 100644 --- a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_sv.properties +++ b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_sv.properties @@ -13,109 +13,109 @@ # # accessible roles # -alert=varning +alert=avisering awtcomponent=AWT-komponent checkbox=kryssruta -colorchooser=f\u00e4rgv\u00e4ljare +colorchooser=f\u00E4rgv\u00E4ljare columnheader=kolumnrubrik combobox=kombinationsruta -canvas=bakgrund +canvas=rityta desktopicon=skrivbordsikon desktoppane=skrivbordsruta dialog=dialogruta directorypane=katalogruta glasspane=glasruta -filechooser=filv\u00e4ljare +filechooser=filv\u00E4ljare filler=utfyllnad frame=ram internalframe=intern ram label=etikett layeredpane=staplad ruta list=lista -listitem=listelement -menubar=menylist +listitem=listobjekt +menubar=menyrad menu=meny menuitem=menyalternativ optionpane=alternativruta pagetab=sidflik pagetablist=sidflikslista panel=panel -passwordtext=l\u00f6senordstext +passwordtext=l\u00F6senordstext popupmenu=snabbmeny -progressbar=statuslist +progressbar=statusrad pushbutton=knapp -radiobutton=envalsknapp +radiobutton=alternativknapp rootpane=grundruta -rowheader=radhuvud -scrollbar=bl\u00e4ddringslist -scrollpane=bl\u00e4dderruta +rowheader=radrubrik +scrollbar=rullningslist +scrollpane=rullningsruta separator=avskiljare slider=skjutreglage splitpane=delad ruta swingcomponent=swing-komponent table=tabell text=text -tree=tr\u00e4d -togglebutton=v\u00e4xlingsknapp +tree=tr\u00E4d +togglebutton=v\u00E4xlingsknapp toolbar=verktygsrad tooltip=knappbeskrivning -unknown=ok\u00e4nd +unknown=ok\u00E4nd viewport=vyport -window=f\u00f6nster +window=f\u00F6nster # # accessible relations # -labelFor=etikett f\u00f6r +labelFor=etikett f\u00F6r labeledBy=etikett av memberOf=medlem i -controlledBy=kontrolleratAv -controllerFor=styrenhetF\u00f6r +controlledBy=controlledBy +controllerFor=controllerFor # # accessible states # active=aktiv -armed=anv\u00e4nd +armed=redo busy=upptagen checked=markerad -collapsed=inf\u00e4lld +collapsed=komprimerad editable=redigerbar -expandable=ut\u00f6kningsbar -expanded=ut\u00f6kad +expandable=ut\u00F6kningsbar +expanded=ut\u00F6kad enabled=aktiverad focusable=fokuseringsbar focused=fokuserad iconified=minimerad -modal=tillst\u00e5ndsberoende -multiline=flera linjer -multiselectable=multivalbar -opaque=ogenomskinlig +modal=modal +multiline=flera rader +multiselectable=flerval +opaque=t\u00E4ckande pressed=nedtryckt -resizable=storleks\u00e4ndringsbar -selectable=markeringsbar +resizable=storleks\u00E4ndringsbar +selectable=valbar selected=vald -showing=visa +showing=visas singleline=en rad -transient=flytande +transient=tillf\u00E4llig visible=synlig vertical=vertikal horizontal=horisontell # # accessible actions # -toggle expand=v\u00e4xla ut\u00f6ka +toggle ut\u00F6ka=v\u00E4xla ut\u00F6ka # new relations, roles and states for J2SE 1.5.0 # # accessible relations # -flowsTo=fl\u00f6dar till -flowsFrom=fl\u00f6dar fr\u00e5n -subwindowOf=delf\u00f6nster av -parentWindowOf=\u00f6verordnat f\u00f6nster f\u00f6r -embeds=b\u00e4ddar in -embeddedBy=b\u00e4ddas in av -childNodeOf=underordnad nod f\u00f6r +flowsTo=fl\u00F6dar till +flowsFrom=fl\u00F6dar fr\u00E5n +subwindowOf=delf\u00F6nster av +parentWindowOf=\u00F6verordnat f\u00F6nster f\u00F6r +embeds=b\u00E4ddar in +embeddedBy=b\u00E4ddas in av +childNodeOf=underordnad nod f\u00F6r # # accessible roles @@ -125,14 +125,14 @@ footer=sidfot paragraph=stycke ruler=linjal editbar=redigeringslist -progressMonitor=f\u00f6rloppsindikator +progressMonitor=f\u00F6rlopps\u00F6vervakare # # accessible states # -managesDescendants=hanterar efterf\u00f6ljare -indeterminate=obest\u00e4mt -truncated=avklippt +managesDescendants=hanterar underordnade +indeterminate=obest\u00E4mt +truncated=kapad # new for J2SE 1.6.0 diff --git a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_zh_CN.properties b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_zh_CN.properties index 13501058c80..755736a8885 100644 --- a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_zh_CN.properties +++ b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_zh_CN.properties @@ -13,133 +13,133 @@ # # accessible roles # -alert=\u8b66\u62a5 -awtcomponent=AWT \u7ec4\u4ef6 -checkbox=\u590d\u9009\u6846 -colorchooser=\u989c\u8272\u9009\u62e9\u5668 +alert=\u9884\u8B66 +awtcomponent=AWT \u7EC4\u4EF6 +checkbox=\u590D\u9009\u6846 +colorchooser=\u989C\u8272\u9009\u62E9\u5668 columnheader=\u5217\u6807\u9898 -combobox=\u7ec4\u5408\u6846 -canvas=\u753b\u5e03 -desktopicon=\u684c\u9762\u56fe\u6807 -desktoppane=\u684c\u9762\u7a97\u683c -dialog=\u5bf9\u8bdd -directorypane=\u76ee\u5f55\u7a97\u683c -glasspane=\u73bb\u7483\u7a97\u683c -filechooser=\u6587\u4ef6\u9009\u62e9\u5668 -filler=\u6f0f\u6597 -frame=\u5e27 -internalframe=\u5185\u90e8\u5e27 -label=\u6807\u7b7e -layeredpane=\u5206\u5c42\u7a97\u683c +combobox=\u7EC4\u5408\u6846 +canvas=\u753B\u5E03 +desktopicon=\u684C\u9762\u56FE\u6807 +desktoppane=\u684C\u9762\u7A97\u683C +dialog=\u5BF9\u8BDD +directorypane=\u76EE\u5F55\u7A97\u683C +glasspane=\u73BB\u7483\u7A97\u683C +filechooser=\u6587\u4EF6\u9009\u62E9\u5668 +filler=\u6F0F\u6597 +frame=\u5E27 +internalframe=\u5185\u90E8\u5E27 +label=\u6807\u7B7E +layeredpane=\u5206\u5C42\u7A97\u683C list=\u5217\u8868 listitem=\u5217\u8868\u9879 -menubar=\u83dc\u5355\u680f -menu=\u83dc\u5355 -menuitem=\u83dc\u5355\u9879 -optionpane=\u9009\u9879\u7a97\u683c -pagetab=\u9875\u6807\u7b7e -pagetablist=\u9875\u6807\u7b7e\u5217\u8868 -panel=\u9762\u677f -passwordtext=\u5bc6\u7801\u6587\u672c -popupmenu=\u5f39\u51fa\u5f0f\u83dc\u5355 -progressbar=\u8fdb\u5ea6\u6761 -pushbutton=\u6309\u94ae -radiobutton=\u5355\u9009\u6309\u94ae -rootpane=\u6839\u7a97\u683c -rowheader=\u884c\u6807\u9898 -scrollbar=\u6eda\u52a8\u6761 -scrollpane=\u6eda\u52a8\u7a97\u683c +menubar=\u83DC\u5355\u680F +menu=\u83DC\u5355 +menuitem=\u83DC\u5355\u9879 +optionpane=\u9009\u9879\u7A97\u683C +pagetab=\u9875\u6807\u7B7E +pagetablist=\u9875\u6807\u7B7E\u5217\u8868 +panel=\u9762\u677F +passwordtext=\u53E3\u4EE4\u6587\u672C +popupmenu=\u5F39\u51FA\u5F0F\u83DC\u5355 +progressbar=\u8FDB\u5EA6\u680F +pushbutton=\u6309\u94AE +radiobutton=\u5355\u9009\u6309\u94AE +rootpane=\u6839\u7A97\u683C +rowheader=\u884C\u6807\u9898 +scrollbar=\u6EDA\u52A8\u6761 +scrollpane=\u6EDA\u52A8\u7A97\u683C separator=\u5206\u9694\u6761 -slider=\u6ed1\u5757 -splitpane=\u62c6\u5206\u7a97\u683c -swingcomponent=\u65cb\u8f6c\u7ec4\u4ef6 +slider=\u6ED1\u5757 +splitpane=\u62C6\u5206\u7A97\u683C +swingcomponent=\u65CB\u8F6C\u7EC4\u4EF6 table=\u8868 -text=\u6587\u672c +text=\u6587\u672C tree=\u6811 -togglebutton=\u5207\u6362\u6309\u94ae -toolbar=\u5de5\u5177\u680f -tooltip=\u5de5\u5177\u63d0\u793a -unknown=\u672a\u77e5 -viewport=\u89c6\u53e3 -window=\u7a97\u53e3 +togglebutton=\u5207\u6362\u6309\u94AE +toolbar=\u5DE5\u5177\u680F +tooltip=\u5DE5\u5177\u63D0\u793A +unknown=\u672A\u77E5 +viewport=\u89C6\u7A97 +window=\u7A97\u53E3 # # accessible relations # -labelFor=\u6807\u7b7e\u5c5e\u4e8e -labeledBy=\u6807\u7b7e\u5236\u4f5c\u8005 -memberOf=\u5c5e\u4e8e -controlledBy=\u63a7\u5236\u8005 -controllerFor=\u63a7\u5236\u5bf9\u8c61 +labelFor=\u6807\u7B7E\u5C5E\u4E8E +labeledBy=\u6807\u7B7E\u5236\u4F5C\u8005 +memberOf=\u5C5E\u4E8E +controlledBy=controlledBy +controllerFor=controllerFor # # accessible states # -active=\u6d3b\u52a8 -armed=\u5f85\u547d -busy=\u5fd9 -checked=\u5df2\u9009\u4e2d -collapsed=\u5df2\u6536\u7f29 -editable=\u53ef\u7f16\u8f91 -expandable=\u53ef\u5c55\u5f00 -expanded=\u5df2\u5c55\u5f00 -enabled=\u5df2\u542f\u7528 -focusable=\u53ef\u96c6\u4e2d -focused=\u5df2\u96c6\u4e2d -iconified=\u56fe\u6807\u5f0f -modal=\u6a21\u6001 -multiline=\u591a\u884c -multiselectable=\u591a\u9009\u62e9 -opaque=\u4e0d\u900f\u660e -pressed=\u5df2\u6309\u4e0b -resizable=\u5927\u5c0f\u53ef\u8c03 -selectable=\u53ef\u9009\u62e9 -selected=\u5df2\u9009\u5b9a -showing=\u6b63\u5728\u663e\u793a -singleline=\u5355\u884c -transient=\u77ac\u65f6 -visible=\u53ef\u89c1 -vertical=\u5782\u76f4 -horizontal=\u6c34\u5e73 +active=\u6D3B\u52A8 +armed=\u5F85\u547D +busy=\u5FD9 +checked=\u5DF2\u9009\u4E2D +collapsed=\u5DF2\u6536\u7F29 +editable=\u53EF\u7F16\u8F91 +expandable=\u53EF\u5C55\u5F00 +expanded=\u5DF2\u5C55\u5F00 +enabled=\u542F\u7528 +focusable=\u53EF\u96C6\u4E2D +focused=\u5DF2\u96C6\u4E2D +iconified=\u56FE\u6807\u5F0F +modal=\u6A21\u6001 +multiline=\u591A\u884C +multiselectable=\u591A\u9009\u62E9 +opaque=\u4E0D\u900F\u660E +pressed=\u5DF2\u6309\u4E0B +resizable=\u53EF\u8C03\u6574\u5927\u5C0F +selectable=\u53EF\u9009\u62E9 +selected=\u6240\u9009 +showing=\u6B63\u5728\u663E\u793A +singleline=\u5355\u884C +transient=\u77AC\u65F6 +visible=\u53EF\u89C1 +vertical=\u5782\u76F4 +horizontal=\u6C34\u5E73 # # accessible actions # -toggle expand=\u5207\u6362\u5c55\u5f00 +toggle expand=\u5207\u6362\u5C55\u5F00 # new relations, roles and states for J2SE 1.5.0 # # accessible relations # -flowsTo=\u6d41\u5411 -flowsFrom=\u6d41\u81ea -subwindowOf=\u5b50\u7a97\u53e3 -parentWindowOf=\u7236\u7a97\u53e3 -embeds=\u5d4c\u5165\u9879 -embeddedBy=\u5d4c\u5165\u8005 -childNodeOf=\u5b50\u8282\u70b9 +flowsTo=\u6D41\u5411 +flowsFrom=\u6D41\u81EA +subwindowOf=\u5B50\u7A97\u53E3 +parentWindowOf=\u7236\u7A97\u53E3 +embeds=\u5D4C\u5165\u9879 +embeddedBy=\u5D4C\u5165\u8005 +childNodeOf=\u5B50\u8282\u70B9 # # accessible roles # header=\u9875\u7709 -footer=\u9875\u811a -paragraph=\u6bb5\u843d -ruler=\u6807\u5c3a -editbar=\u7f16\u8f91\u680f -progressMonitor=\u8fdb\u5ea6\u76d1\u89c6\u5668 +footer=\u9875\u811A +paragraph=\u6BB5\u843D +ruler=\u6807\u5C3A +editbar=\u7F16\u8F91\u680F +progressMonitor=\u8FDB\u5EA6\u76D1\u89C6\u5668 # # accessible states # -managesDescendants=\u7ba1\u7406\u5b50\u5b59 -indeterminate=\u4e0d\u786e\u5b9a -truncated=\u5df2\u622a\u65ad +managesDescendants=\u7BA1\u7406\u5B50\u9879 +indeterminate=\u4E0D\u786E\u5B9A +truncated=\u5DF2\u622A\u65AD # new for J2SE 1.6.0 # # accessible roles # -htmlcontainer=HTML \u5bb9\u5668 +htmlcontainer=HTML \u5BB9\u5668 # # END OF MATERIAL TO LOCALIZE diff --git a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_zh_TW.properties b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_zh_TW.properties index 4c2c87e407c..f4d11b45411 100644 --- a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_zh_TW.properties +++ b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_zh_TW.properties @@ -13,133 +13,133 @@ # # accessible roles # -alert=\u8b66\u793a -awtcomponent=AWT \u5143\u4ef6 -checkbox=\u6838\u53d6\u65b9\u584a -colorchooser=\u8272\u5f69\u9078\u64c7\u5668 -columnheader=\u76f4\u6b04\u6a19\u984c -combobox=\u4e0b\u62c9\u5f0f\u6e05\u55ae\u65b9\u584a -canvas=\u756b\u5e03 -desktopicon=\u684c\u9762\u5716\u793a -desktoppane=\u684c\u9762\u7a97\u683c -dialog=\u5c0d\u8a71\u65b9\u584a -directorypane=\u76ee\u9304\u7a97\u683c -glasspane=\u6aa2\u8996\u7a97\u683c -filechooser=\u6a94\u6848\u9078\u64c7\u5668 -filler=\u586b\u5145\u7269 -frame=\u6846\u67b6 -internalframe=\u5167\u90e8\u6846\u67b6 -label=\u6a19\u7c64 -layeredpane=\u5206\u5c64\u7a97\u683c -list=\u6e05\u55ae -listitem=\u6e05\u55ae\u9805\u76ee -menubar=\u529f\u80fd\u8868\u5217 -menu=\u529f\u80fd\u8868 -menuitem=\u529f\u80fd\u8868\u9805\u76ee -optionpane=\u9078\u9805\u7a97\u683c -pagetab=\u9801\u9762\u6a19\u7c64 -pagetablist=\u9801\u9762\u6a19\u7c64\u6e05\u55ae -panel=\u9762\u677f -passwordtext=\u5bc6\u78bc\u6587\u5b57 -popupmenu=\u8e66\u73fe\u5f0f\u529f\u80fd\u8868 -progressbar=\u9032\u5ea6\u5217 -pushbutton=\u4e0b\u58d3\u6309\u9215 -radiobutton=\u55ae\u9078\u9215 -rootpane=root \u7a97\u683c -rowheader=\u5217\u6a19\u984c -scrollbar=\u6372\u8ef8 -scrollpane=\u6372\u52d5\u7a97\u683c +alert=\u8B66\u793A +awtcomponent=AWT \u5143\u4EF6 +checkbox=\u6838\u53D6\u65B9\u584A +colorchooser=\u8272\u5F69\u9078\u64C7\u5668 +columnheader=\u76F4\u6B04\u6A19\u984C +combobox=\u4E0B\u62C9\u5F0F\u6E05\u55AE\u65B9\u584A +canvas=\u756B\u5E03 +desktopicon=\u684C\u9762\u5716\u793A +desktoppane=\u684C\u9762\u7A97\u683C +dialog=\u5C0D\u8A71\u65B9\u584A +directorypane=\u76EE\u9304\u7A97\u683C +glasspane=\u6AA2\u8996\u7A97\u683C +filechooser=\u6A94\u6848\u9078\u64C7\u5668 +filler=\u586B\u5145\u7269 +frame=\u6846\u67B6 +internalframe=\u5167\u90E8\u6846\u67B6 +label=\u6A19\u7C64 +layeredpane=\u5206\u5C64\u7A97\u683C +list=\u6E05\u55AE +listitem=\u6E05\u55AE\u9805\u76EE +menubar=\u529F\u80FD\u8868\u5217 +menu=\u529F\u80FD\u8868 +menuitem=\u529F\u80FD\u8868\u9805\u76EE +optionpane=\u9078\u9805\u7A97\u683C +pagetab=\u9801\u9762\u9801\u7C64 +pagetablist=\u9801\u9762\u9801\u7C64\u6E05\u55AE +panel=\u9762\u677F +passwordtext=\u5BC6\u78BC\u6587\u5B57 +popupmenu=\u5373\u73FE\u5F0F\u529F\u80FD\u8868 +progressbar=\u9032\u5EA6\u5217 +pushbutton=\u4E0B\u58D3\u6309\u9215 +radiobutton=\u55AE\u9078\u9215 +rootpane=root \u7A97\u683C +rowheader=\u5217\u6A19\u984C +scrollbar=\u6372\u8EF8 +scrollpane=\u6372\u52D5\u7A97\u683C separator=\u5206\u9694\u5143 -slider=\u6ed1\u52d5\u8ef8 -splitpane=\u5206\u5272\u7a97\u683c -swingcomponent=Swing \u5143\u4ef6 -table=\u8868\u683c -text=\u6587\u5b57 -tree=\u6a39\u72c0\u7d50\u69cb -togglebutton=\u5207\u63db\u6309\u9215 -toolbar=\u5de5\u5177\u5217 -tooltip=\u5de5\u5177\u63d0\u793a -unknown=\u672a\u77e5 -viewport=\u6aa2\u8996\u5340 -window=\u8996\u7a97 +slider=\u6ED1\u52D5\u8EF8 +splitpane=\u5206\u5272\u7A97\u683C +swingcomponent=Swing \u5143\u4EF6 +table=\u8868\u683C +text=\u6587\u5B57 +tree=\u6A39\u72C0\u7D50\u69CB +togglebutton=\u5207\u63DB\u6309\u9215 +toolbar=\u5DE5\u5177\u5217 +tooltip=\u5DE5\u5177\u63D0\u793A +unknown=\u4E0D\u660E\u7684 +viewport=\u6AA2\u8996\u5340 +window=\u8996\u7A97 # # accessible relations # -labelFor=\u6a19\u793a\u5c0d\u8c61 -labeledBy=\u6a19\u793a\u8005 -memberOf=\u6240\u5c6c\u6210\u54e1 -controlledBy=\u63a7\u5236\u8005 -controllerFor=\u63a7\u5236\u5c0d\u8c61 +labelFor=\u6A19\u793A\u5C0D\u8C61 +labeledBy=\u6A19\u793A\u8005 +memberOf=\u6240\u5C6C\u6210\u54E1 +controlledBy=\u63A7\u5236\u8005 +controllerFor=\u63A7\u5236\u5C0D\u8C61 # # accessible states # -active=\u4f5c\u7528\u4e2d -armed=\u5df2\u914d\u5099 -busy=\u5fd9\u788c\u4e2d -checked=\u5df2\u6838\u9078 -collapsed=\u5df2\u6536\u7e2e -editable=\u53ef\u7de8\u8f2f -expandable=\u53ef\u64f4\u5c55 -expanded=\u5df2\u64f4\u5c55 -enabled=\u5df2\u555f\u52d5 -focusable=\u53ef\u805a\u7126 -focused=\u5df2\u805a\u7126 -iconified=\u5df2\u5716\u793a\u5316 -modal=\u6a21\u614b -multiline=\u591a\u884c -multiselectable=\u53ef\u591a\u91cd\u9078\u53d6 -opaque=\u4e0d\u900f\u660e -pressed=\u5df2\u6309\u4e0b -resizable=\u53ef\u8abf\u6574\u5927\u5c0f -selectable=\u53ef\u9078\u53d6 -selected=\u5df2\u9078\u53d6 -showing=\u986f\u793a -singleline=\u55ae\u884c -transient=\u66ab\u6642\u7684 -visible=\u53ef\u898b\u7684 -vertical=\u5782\u76f4 -horizontal=\u6c34\u5e73 +active=\u4F5C\u7528\u4E2D +armed=\u5DF2\u914D\u5099 +busy=\u5FD9\u788C\u4E2D +checked=\u5DF2\u6838\u9078 +collapsed=\u5DF2\u6536\u7E2E +editable=\u53EF\u7DE8\u8F2F +expandable=\u53EF\u64F4\u5C55 +expanded=\u5DF2\u64F4\u5C55 +enabled=\u5DF2\u555F\u7528 +focusable=\u53EF\u805A\u7126 +focused=\u5DF2\u805A\u7126 +iconified=\u5DF2\u5716\u793A\u5316 +modal=\u6A21\u614B +multiline=\u591A\u884C +multiselectable=\u53EF\u591A\u91CD\u9078\u53D6 +opaque=\u4E0D\u900F\u660E +pressed=\u5DF2\u6309\u4E0B +resizable=\u53EF\u8ABF\u6574\u5927\u5C0F +selectable=\u53EF\u9078\u53D6 +selected=\u5DF2\u9078\u53D6 +showing=\u986F\u793A +singleline=\u55AE\u884C +transient=\u66AB\u6642\u7684 +visible=\u53EF\u898B\u7684 +vertical=\u5782\u76F4 +horizontal=\u6C34\u5E73 # # accessible actions # -toggle expand=\u5207\u63db\u64f4\u5c55 +toggle expand=\u5207\u63DB\u64F4\u5C55 # new relations, roles and states for J2SE 1.5.0 # # accessible relations # -flowsTo=\u6d41\u52d5\u81f3 -flowsFrom=\u6d41\u52d5\u81ea -subwindowOf=\u5b50\u8996\u7a97 -parentWindowOf=\u7236\u7cfb\u8996\u7a97 -embeds=\u5167\u5d4c -embeddedBy=\u5167\u5d4c\u8005 -childNodeOf=\u5b50\u7bc0\u9ede +flowsTo=\u6D41\u52D5\u81F3 +flowsFrom=\u6D41\u52D5\u81EA +subwindowOf=\u5B50\u8996\u7A97 +parentWindowOf=\u7236\u7CFB\u8996\u7A97 +embeds=\u5167\u5D4C +embeddedBy=\u5167\u5D4C\u8005 +childNodeOf=\u5B50\u7BC0\u9EDE # # accessible roles # header=\u9801\u9996 -footer=\u9801\u5c3e -paragraph=\u6bb5\u843d -ruler=\u6a19\u5c3a -editbar=\u7de8\u8f2f\u5217 -progressMonitor=\u9032\u5ea6\u76e3\u8996\u5668 +footer=\u9801\u5C3E +paragraph=\u6BB5\u843D +ruler=\u5C3A\u898F +editbar=\u7DE8\u8F2F\u5217 +progressMonitor=\u9032\u5EA6\u76E3\u8996\u5668 # # accessible states # -managesDescendants=\u7ba1\u7406\u5b50\u4ee3 -indeterminate=\u4e0d\u78ba\u5b9a -truncated=\u5df2\u622a\u65b7 +managesDescendants=\u7BA1\u7406\u5B50\u4EE3 +indeterminate=\u4E0D\u78BA\u5B9A +truncated=\u5DF2\u622A\u65B7 # new for J2SE 1.6.0 # # accessible roles # -htmlcontainer=HTML \u5bb9\u5668 +htmlcontainer=HTML \u5BB9\u5668 # # END OF MATERIAL TO LOCALIZE diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_de.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_de.properties index 9b15608c2be..3440d8f542e 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_de.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_de.properties @@ -21,19 +21,19 @@ GTKColorChooserPanel.mnemonic=71 # character of GTKColorChooserPanel.hueText should be underlined to # represent the mnemonic. GTKColorChooserPanel.hueText=Farbton: -GTKColorChooserPanel.hueMnemonic=70 +GTKColorChooserPanel.hueMnemonic=72 GTKColorChooserPanel.redText=Rot: -GTKColorChooserPanel.redMnemonic=82 +GTKColorChooserPanel.redMnemonic=69 -GTKColorChooserPanel.saturationText=S\u00e4ttigung: +GTKColorChooserPanel.saturationText=S\u00E4ttigung: GTKColorChooserPanel.saturationMnemonic=83 -GTKColorChooserPanel.greenText=Gr\u00fcn: +GTKColorChooserPanel.greenText=Gr\u00FCn: GTKColorChooserPanel.greenMnemonic=71 GTKColorChooserPanel.valueText=Wert: -GTKColorChooserPanel.valueMnemonic=87 +GTKColorChooserPanel.valueMnemonic=86 GTKColorChooserPanel.blueText=Blau: GTKColorChooserPanel.blueMnemonic=66 @@ -49,35 +49,35 @@ FileChooser.acceptAllFileFilterText=Alle Dateien FileChooser.newFolderButtonText=Neuer Ordner FileChooser.newFolderButtonMnemonic=78 FileChooser.newFolderDialogText=Ordnername: -FileChooser.newFolderNoDirectoryErrorTitleText=Error -FileChooser.newFolderNoDirectoryErrorText=Error creating directory "{0}": No such file or directory -FileChooser.deleteFileButtonText=Datei l\u00f6schen +FileChooser.newFolderNoDirectoryErrorTitleText=Fehler +FileChooser.newFolderNoDirectoryErrorText=Fehler beim Erstellen von Verzeichnis "{0}": Datei oder Verzeichnis nicht vorhanden +FileChooser.deleteFileButtonText=Datei l\u00F6schen FileChooser.deleteFileButtonMnemonic=76 FileChooser.renameFileButtonText=Datei umbenennen -FileChooser.renameFileButtonMnemonic=87 +FileChooser.renameFileButtonMnemonic=82 FileChooser.cancelButtonText=Abbrechen -FileChooser.cancelButtonMnemonic=83 -FileChooser.saveButtonText=Speichern -FileChooser.saveButtonMnemonic=69 +FileChooser.cancelButtonMnemonic=67 +FileChooser.saveButtonText=OK +FileChooser.saveButtonMnemonic=79 FileChooser.openButtonText=OK FileChooser.openButtonMnemonic=79 FileChooser.saveDialogTitleText=Speichern -FileChooser.openDialogTitleText=\u00d6ffnen +FileChooser.openDialogTitleText=\u00D6ffnen FileChooser.pathLabelText=Auswahl: FileChooser.filterLabelText=Filter: FileChooser.pathLabelMnemonic=83 FileChooser.foldersLabelText=Ordner -FileChooser.foldersLabelMnemonic=82 +FileChooser.foldersLabelMnemonic=68 FileChooser.filesLabelText=Dateien FileChooser.filesLabelMnemonic=70 -FileChooser.cancelButtonToolTipText=Farbauswahl abbrechen -FileChooser.saveButtonToolTipText=Ausgew\u00e4hlte Datei speichern -FileChooser.openButtonToolTipText=Ausgew\u00e4hlte Datei \u00f6ffnen +FileChooser.cancelButtonToolTipText=Dialogfeld f\u00FCr Dateiauswahl schlie\u00DFen. +FileChooser.saveButtonToolTipText=Ausgew\u00E4hlte Datei speichern. +FileChooser.openButtonToolTipText=Ausgew\u00E4hlte Datei \u00F6ffnen. FileChooser.renameFileDialogText=Datei "{0}" umbenennen in FileChooser.renameFileErrorTitle=Fehler FileChooser.renameFileErrorText=Fehler beim Umbenennen der Datei "{0}" in "{1}" OptionPane.okButtonMnemonic=79 -OptionPane.cancelButtonMnemonic=83 +OptionPane.cancelButtonMnemonic=67 diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_es.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_es.properties index c87f88f8ead..ed024c8ccdf 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_es.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_es.properties @@ -6,7 +6,7 @@ # GTK specific properties # GTK color chooser properties: -GTKColorChooserPanel.nameText=Selector de color para GTK +GTKColorChooserPanel.nameText=Selector de Color para GTK # mnemonic as a VK_ constant GTKColorChooserPanel.mnemonic=71 # Can also define GTKColorChooserPanel.dispalyedMnemonicIndex if you @@ -20,64 +20,64 @@ GTKColorChooserPanel.mnemonic=71 # GTKColorChooserPanel.hueMnemonicIndex=1 would indicate the second # character of GTKColorChooserPanel.hueText should be underlined to # represent the mnemonic. -GTKColorChooserPanel.hueText=Tono: -GTKColorChooserPanel.hueMnemonic=84 +GTKColorChooserPanel.hueText=Matiz: +GTKColorChooserPanel.hueMnemonic=72 GTKColorChooserPanel.redText=Rojo: -GTKColorChooserPanel.redMnemonic=82 +GTKColorChooserPanel.redMnemonic=69 -GTKColorChooserPanel.saturationText=Saturaci\u00f3n: +GTKColorChooserPanel.saturationText=Saturaci\u00F3n: GTKColorChooserPanel.saturationMnemonic=83 GTKColorChooserPanel.greenText=Verde: -GTKColorChooserPanel.greenMnemonic=86 +GTKColorChooserPanel.greenMnemonic=71 GTKColorChooserPanel.valueText=Valor: -GTKColorChooserPanel.valueMnemonic=65 +GTKColorChooserPanel.valueMnemonic=86 GTKColorChooserPanel.blueText=Azul: -GTKColorChooserPanel.blueMnemonic=65 +GTKColorChooserPanel.blueMnemonic=66 -GTKColorChooserPanel.colorNameText=Nombre del color: +GTKColorChooserPanel.colorNameText=Nombre del Color: GTKColorChooserPanel.colorNameMnemonic=78 ############ FILE CHOOSER STRINGS ############# -FileChooser.acceptAllFileFilterText=Todos los archivos -FileChooser.newFolderButtonText=Nueva carpeta +FileChooser.acceptAllFileFilterText=Todos los Archivos +FileChooser.newFolderButtonText=Nueva Carpeta FileChooser.newFolderButtonMnemonic=78 -FileChooser.newFolderDialogText=Nombre de la carpeta: +FileChooser.newFolderDialogText=Nombre de la Carpeta: FileChooser.newFolderNoDirectoryErrorTitleText=Error -FileChooser.newFolderNoDirectoryErrorText=Error creating directory "{0}": No such file or directory -FileChooser.deleteFileButtonText=Eliminar archivo +FileChooser.newFolderNoDirectoryErrorText=Error al crear el directorio "{0}": no existe dicho archivo o directorio +FileChooser.deleteFileButtonText=Suprimir Archivo FileChooser.deleteFileButtonMnemonic=76 -FileChooser.renameFileButtonText=Renombrar archivo +FileChooser.renameFileButtonText=Cambiar Nombre a Archivo FileChooser.renameFileButtonMnemonic=82 FileChooser.cancelButtonText=Cancelar FileChooser.cancelButtonMnemonic=67 -FileChooser.saveButtonText=Guardar -FileChooser.saveButtonMnemonic=82 +FileChooser.saveButtonText=Aceptar +FileChooser.saveButtonMnemonic=79 FileChooser.openButtonText=Aceptar FileChooser.openButtonMnemonic=79 FileChooser.saveDialogTitleText=Guardar FileChooser.openDialogTitleText=Abrir -FileChooser.pathLabelText=Selecci\u00f3n: +FileChooser.pathLabelText=Selecci\u00F3n: FileChooser.filterLabelText=Filtro: FileChooser.pathLabelMnemonic=83 FileChooser.foldersLabelText=Carpetas -FileChooser.foldersLabelMnemonic=74 +FileChooser.foldersLabelMnemonic=68 FileChooser.filesLabelText=Archivos FileChooser.filesLabelMnemonic=70 -FileChooser.cancelButtonToolTipText=Cancelar cuadro de di\u00e1logo de selecci\u00f3n de archivos. +FileChooser.cancelButtonToolTipText=Abortar cuadro de di\u00E1logo del selector de archivos. FileChooser.saveButtonToolTipText=Guardar el archivo seleccionado. FileChooser.openButtonToolTipText=Abrir el archivo seleccionado. FileChooser.renameFileDialogText=Cambiar el nombre del archivo "{0}" por FileChooser.renameFileErrorTitle=Error -FileChooser.renameFileErrorText=Error al cambiar el nombre del archivo "{0}" por "{1}" +FileChooser.renameFileErrorText=Error al cambiar el nombre del archivo "{0}" a "{1}" OptionPane.okButtonMnemonic=79 OptionPane.cancelButtonMnemonic=67 diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_fr.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_fr.properties index 3ed6b451192..33d21c8ae6d 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_fr.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_fr.properties @@ -6,7 +6,7 @@ # GTK specific properties # GTK color chooser properties: -GTKColorChooserPanel.nameText=S\u00e9lectionneur de couleur GTK +GTKColorChooserPanel.nameText=S\u00E9lecteur de couleurs GTK # mnemonic as a VK_ constant GTKColorChooserPanel.mnemonic=71 # Can also define GTKColorChooserPanel.dispalyedMnemonicIndex if you @@ -20,25 +20,25 @@ GTKColorChooserPanel.mnemonic=71 # GTKColorChooserPanel.hueMnemonicIndex=1 would indicate the second # character of GTKColorChooserPanel.hueText should be underlined to # represent the mnemonic. -GTKColorChooserPanel.hueText=Teinte\u00a0: -GTKColorChooserPanel.hueMnemonic=84 +GTKColorChooserPanel.hueText=Teinte\u00A0: +GTKColorChooserPanel.hueMnemonic=72 -GTKColorChooserPanel.redText=Rouge\u00a0: -GTKColorChooserPanel.redMnemonic=82 +GTKColorChooserPanel.redText=Rouge\u00A0: +GTKColorChooserPanel.redMnemonic=69 -GTKColorChooserPanel.saturationText=Saturation\u00a0: +GTKColorChooserPanel.saturationText=Saturation\u00A0: GTKColorChooserPanel.saturationMnemonic=83 -GTKColorChooserPanel.greenText=Vert\u00a0: -GTKColorChooserPanel.greenMnemonic=69 +GTKColorChooserPanel.greenText=Vert\u00A0: +GTKColorChooserPanel.greenMnemonic=71 -GTKColorChooserPanel.valueText=Valeur\u00a0: +GTKColorChooserPanel.valueText=Valeur\u00A0: GTKColorChooserPanel.valueMnemonic=86 -GTKColorChooserPanel.blueText=Bleu\u00a0: +GTKColorChooserPanel.blueText=Bleu\u00A0: GTKColorChooserPanel.blueMnemonic=66 -GTKColorChooserPanel.colorNameText=Nom de la couleur\u00a0: +GTKColorChooserPanel.colorNameText=Nom de la couleur\u00A0: GTKColorChooserPanel.colorNameMnemonic=78 @@ -48,34 +48,34 @@ GTKColorChooserPanel.colorNameMnemonic=78 FileChooser.acceptAllFileFilterText=Tous les fichiers FileChooser.newFolderButtonText=Nouveau dossier FileChooser.newFolderButtonMnemonic=78 -FileChooser.newFolderDialogText=Nom de dossier: -FileChooser.newFolderNoDirectoryErrorTitleText=Error -FileChooser.newFolderNoDirectoryErrorText=Error creating directory "{0}": No such file or directory +FileChooser.newFolderDialogText=Nom du dossier : +FileChooser.newFolderNoDirectoryErrorTitleText=Erreur +FileChooser.newFolderNoDirectoryErrorText=Erreur lors de la cr\u00E9ation du r\u00E9pertoire "{0}" : ce fichier ou r\u00E9pertoire n''existe pas FileChooser.deleteFileButtonText=Supprimer le fichier FileChooser.deleteFileButtonMnemonic=76 FileChooser.renameFileButtonText=Renommer le fichier FileChooser.renameFileButtonMnemonic=82 FileChooser.cancelButtonText=Annuler -FileChooser.cancelButtonMnemonic=70 -FileChooser.saveButtonText=Enregistrer +FileChooser.cancelButtonMnemonic=67 +FileChooser.saveButtonText=OK FileChooser.saveButtonMnemonic=79 FileChooser.openButtonText=OK FileChooser.openButtonMnemonic=79 FileChooser.saveDialogTitleText=Enregistrer FileChooser.openDialogTitleText=Ouvrir -FileChooser.pathLabelText=S\u00e9lection\u00a0: +FileChooser.pathLabelText=S\u00E9lection\u00A0: FileChooser.filterLabelText=Filtre : FileChooser.pathLabelMnemonic=83 FileChooser.foldersLabelText=Dossiers -FileChooser.foldersLabelMnemonic=71 +FileChooser.foldersLabelMnemonic=68 FileChooser.filesLabelText=Fichiers FileChooser.filesLabelMnemonic=70 -FileChooser.cancelButtonToolTipText=Abandonner la bo\u00eete de dialogue du s\u00e9lectionneur de fichier. -FileChooser.saveButtonToolTipText=Enregistrer le fichier s\u00e9lectionn\u00e9. -FileChooser.openButtonToolTipText=Ouvrir le fichier s\u00e9lectionn\u00e9. +FileChooser.cancelButtonToolTipText=Ferme la bo\u00EEte de dialogue du s\u00E9lecteur de fichiers. +FileChooser.saveButtonToolTipText=Enregistre le fichier s\u00E9lectionn\u00E9. +FileChooser.openButtonToolTipText=Ouvre le fichier s\u00E9lectionn\u00E9. -FileChooser.renameFileDialogText=Renommer le fichier "{0}" en +FileChooser.renameFileDialogText=Renomme le fichier "{0}" en FileChooser.renameFileErrorTitle=Erreur FileChooser.renameFileErrorText=Erreur lors du changement de nom du fichier "{0}" en "{1}" diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_it.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_it.properties index 84d4cf1a1ca..6a91c9040ce 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_it.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_it.properties @@ -20,17 +20,17 @@ GTKColorChooserPanel.mnemonic=71 # GTKColorChooserPanel.hueMnemonicIndex=1 would indicate the second # character of GTKColorChooserPanel.hueText should be underlined to # represent the mnemonic. -GTKColorChooserPanel.hueText=Tonalit\u00e0: -GTKColorChooserPanel.hueMnemonic=84 +GTKColorChooserPanel.hueText=Tonalit\u00E0: +GTKColorChooserPanel.hueMnemonic=72 GTKColorChooserPanel.redText=Rosso: -GTKColorChooserPanel.redMnemonic=82 +GTKColorChooserPanel.redMnemonic=69 GTKColorChooserPanel.saturationText=Saturazione: GTKColorChooserPanel.saturationMnemonic=83 GTKColorChooserPanel.greenText=Verde: -GTKColorChooserPanel.greenMnemonic=69 +GTKColorChooserPanel.greenMnemonic=71 GTKColorChooserPanel.valueText=Valore: GTKColorChooserPanel.valueMnemonic=86 @@ -49,16 +49,16 @@ FileChooser.acceptAllFileFilterText=Tutti i file FileChooser.newFolderButtonText=Nuova cartella FileChooser.newFolderButtonMnemonic=78 FileChooser.newFolderDialogText=Nome della cartella: -FileChooser.newFolderNoDirectoryErrorTitleText=Error -FileChooser.newFolderNoDirectoryErrorText=Error creating directory "{0}": No such file or directory +FileChooser.newFolderNoDirectoryErrorTitleText=Errore +FileChooser.newFolderNoDirectoryErrorText=Errore durante la creazione della directory "{0}": file o directory inesistente FileChooser.deleteFileButtonText=Elimina file FileChooser.deleteFileButtonMnemonic=76 FileChooser.renameFileButtonText=Rinomina file FileChooser.renameFileButtonMnemonic=82 FileChooser.cancelButtonText=Annulla FileChooser.cancelButtonMnemonic=67 -FileChooser.saveButtonText=Salva -FileChooser.saveButtonMnemonic=82 +FileChooser.saveButtonText=OK +FileChooser.saveButtonMnemonic=79 FileChooser.openButtonText=OK FileChooser.openButtonMnemonic=79 FileChooser.saveDialogTitleText=Salva @@ -67,17 +67,17 @@ FileChooser.pathLabelText=Selezione: FileChooser.filterLabelText=Filtro: FileChooser.pathLabelMnemonic=83 FileChooser.foldersLabelText=Cartelle -FileChooser.foldersLabelMnemonic=79 +FileChooser.foldersLabelMnemonic=68 FileChooser.filesLabelText=File FileChooser.filesLabelMnemonic=70 -FileChooser.cancelButtonToolTipText=Chiude la finestra di dialogo di selezione colore. +FileChooser.cancelButtonToolTipText=Chiude la finestra di dialogo di selezione file. FileChooser.saveButtonToolTipText=Salva il file selezionato. FileChooser.openButtonToolTipText=Apre il file selezionato. -FileChooser.renameFileDialogText=Rinomina del file "{0}" in +FileChooser.renameFileDialogText=Rinomina file "{0}" in FileChooser.renameFileErrorTitle=Errore -FileChooser.renameFileErrorText=Errore nella rinomina del file "{0}" in "{1}" +FileChooser.renameFileErrorText=Errore durante la ridenominazione del file "{0}" in "{1}" OptionPane.okButtonMnemonic=79 OptionPane.cancelButtonMnemonic=67 diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ja.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ja.properties index 9d9c14f7e30..97501cd1cf6 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ja.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ja.properties @@ -6,7 +6,7 @@ # GTK specific properties # GTK color chooser properties: -GTKColorChooserPanel.nameText=GTK \u30ab\u30e9\u30fc\u30c1\u30e5\u30fc\u30b6 +GTKColorChooserPanel.nameText=GTK\u30AB\u30E9\u30FC\u30FB\u30C1\u30E5\u30FC\u30B6 # mnemonic as a VK_ constant GTKColorChooserPanel.mnemonic=71 # Can also define GTKColorChooserPanel.dispalyedMnemonicIndex if you @@ -20,64 +20,64 @@ GTKColorChooserPanel.mnemonic=71 # GTKColorChooserPanel.hueMnemonicIndex=1 would indicate the second # character of GTKColorChooserPanel.hueText should be underlined to # represent the mnemonic. -GTKColorChooserPanel.hueText=\u8272\u5408\u3044(H): +GTKColorChooserPanel.hueText=\u8272\u76F8: GTKColorChooserPanel.hueMnemonic=72 -GTKColorChooserPanel.redText=\u8d64(E): +GTKColorChooserPanel.redText=\u8D64: GTKColorChooserPanel.redMnemonic=69 -GTKColorChooserPanel.saturationText=\u5f69\u5ea6(S): +GTKColorChooserPanel.saturationText=\u5F69\u5EA6: GTKColorChooserPanel.saturationMnemonic=83 -GTKColorChooserPanel.greenText=\u7dd1(G): +GTKColorChooserPanel.greenText=\u7DD1: GTKColorChooserPanel.greenMnemonic=71 -GTKColorChooserPanel.valueText=\u5024(V): +GTKColorChooserPanel.valueText=\u5024: GTKColorChooserPanel.valueMnemonic=86 -GTKColorChooserPanel.blueText=\u9752(B): +GTKColorChooserPanel.blueText=\u9752: GTKColorChooserPanel.blueMnemonic=66 -GTKColorChooserPanel.colorNameText=\u8272\u540d(N): +GTKColorChooserPanel.colorNameText=\u8272\u540D: GTKColorChooserPanel.colorNameMnemonic=78 ############ FILE CHOOSER STRINGS ############# -FileChooser.acceptAllFileFilterText=\u3059\u3079\u3066\u306e\u30d5\u30a1\u30a4\u30eb -FileChooser.newFolderButtonText=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0 +FileChooser.acceptAllFileFilterText=\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB +FileChooser.newFolderButtonText=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0 FileChooser.newFolderButtonMnemonic=78 -FileChooser.newFolderDialogText=\u30d5\u30a9\u30eb\u30c0\u540d: -FileChooser.newFolderNoDirectoryErrorTitleText=Error -FileChooser.newFolderNoDirectoryErrorText=Error creating directory "{0}": No such file or directory -FileChooser.deleteFileButtonText=\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664 +FileChooser.newFolderDialogText=\u30D5\u30A9\u30EB\u30C0\u540D: +FileChooser.newFolderNoDirectoryErrorTitleText=\u30A8\u30E9\u30FC +FileChooser.newFolderNoDirectoryErrorText=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA"{0}"\u306E\u4F5C\u6210\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F: \u3053\u306E\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306F\u5B58\u5728\u3057\u307E\u305B\u3093 +FileChooser.deleteFileButtonText=\u30D5\u30A1\u30A4\u30EB\u306E\u524A\u9664 FileChooser.deleteFileButtonMnemonic=76 -FileChooser.renameFileButtonText=\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u5909\u66f4 +FileChooser.renameFileButtonText=\u30D5\u30A1\u30A4\u30EB\u306E\u540D\u524D\u5909\u66F4 FileChooser.renameFileButtonMnemonic=82 -FileChooser.cancelButtonText=\u53d6\u6d88\u3057 +FileChooser.cancelButtonText=\u53D6\u6D88 FileChooser.cancelButtonMnemonic=67 -FileChooser.saveButtonText=\u4fdd\u5b58 +FileChooser.saveButtonText=OK FileChooser.saveButtonMnemonic=79 -FileChooser.openButtonText=\u4e86\u89e3 +FileChooser.openButtonText=OK FileChooser.openButtonMnemonic=79 -FileChooser.saveDialogTitleText=\u4fdd\u5b58 -FileChooser.openDialogTitleText=\u958b\u304f -FileChooser.pathLabelText=\u9078\u629e: -FileChooser.filterLabelText=\u30d5\u30a3\u30eb\u30bf: +FileChooser.saveDialogTitleText=\u4FDD\u5B58 +FileChooser.openDialogTitleText=\u958B\u304F +FileChooser.pathLabelText=\u9078\u629E: +FileChooser.filterLabelText=\u30D5\u30A3\u30EB\u30BF: FileChooser.pathLabelMnemonic=83 -FileChooser.foldersLabelText=\u30d5\u30a9\u30eb\u30c0 +FileChooser.foldersLabelText=\u30D5\u30A9\u30EB\u30C0 FileChooser.foldersLabelMnemonic=68 -FileChooser.filesLabelText=\u30d5\u30a1\u30a4\u30eb +FileChooser.filesLabelText=\u30D5\u30A1\u30A4\u30EB FileChooser.filesLabelMnemonic=70 -FileChooser.cancelButtonToolTipText=\u30d5\u30a1\u30a4\u30eb\u30c1\u30e5\u30fc\u30b6\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u5f37\u5236\u7d42\u4e86 -FileChooser.saveButtonToolTipText=\u9078\u629e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u4fdd\u5b58 -FileChooser.openButtonToolTipText=\u9078\u629e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304f +FileChooser.cancelButtonToolTipText=\u30D5\u30A1\u30A4\u30EB\u30FB\u30C1\u30E5\u30FC\u30B6\u30FB\u30C0\u30A4\u30A2\u30ED\u30B0\u3092\u7D42\u4E86\u3057\u307E\u3059\u3002 +FileChooser.saveButtonToolTipText=\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58\u3057\u307E\u3059\u3002 +FileChooser.openButtonToolTipText=\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304D\u307E\u3059\u3002 -FileChooser.renameFileDialogText=\u30d5\u30a1\u30a4\u30eb "{0}" \u306e\u540d\u524d\u3092\u5909\u66f4: -FileChooser.renameFileErrorTitle=\u30a8\u30e9\u30fc -FileChooser.renameFileErrorText=\u30d5\u30a1\u30a4\u30eb "{0}" \u3092 "{1}" \u3078\u5909\u66f4\u6642\u306b\u30a8\u30e9\u30fc +FileChooser.renameFileDialogText=\u30D5\u30A1\u30A4\u30EB"{0}"\u3092\u6B21\u306E\u540D\u524D\u306B\u5909\u66F4: +FileChooser.renameFileErrorTitle=\u30A8\u30E9\u30FC +FileChooser.renameFileErrorText=\u30D5\u30A1\u30A4\u30EB"{0}"\u306E"{1}"\u3078\u306E\u5909\u66F4\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F OptionPane.okButtonMnemonic=79 OptionPane.cancelButtonMnemonic=67 diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ko.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ko.properties index 68586a64b77..7c9af7a73c2 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ko.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ko.properties @@ -6,7 +6,7 @@ # GTK specific properties # GTK color chooser properties: -GTKColorChooserPanel.nameText=GTK \uc0c9 \uc120\ud0dd +GTKColorChooserPanel.nameText=GTK \uC0C9\uC0C1 \uC120\uD0DD\uAE30 # mnemonic as a VK_ constant GTKColorChooserPanel.mnemonic=71 # Can also define GTKColorChooserPanel.dispalyedMnemonicIndex if you @@ -20,64 +20,64 @@ GTKColorChooserPanel.mnemonic=71 # GTKColorChooserPanel.hueMnemonicIndex=1 would indicate the second # character of GTKColorChooserPanel.hueText should be underlined to # represent the mnemonic. -GTKColorChooserPanel.hueText=\uc0c9\uc0c1(H): +GTKColorChooserPanel.hueText=\uC0C9\uC870: GTKColorChooserPanel.hueMnemonic=72 -GTKColorChooserPanel.redText=\ube68\uac15(E): +GTKColorChooserPanel.redText=\uBE68\uAC04\uC0C9: GTKColorChooserPanel.redMnemonic=69 -GTKColorChooserPanel.saturationText=\ucc44\ub3c4(S): +GTKColorChooserPanel.saturationText=\uCC44\uB3C4: GTKColorChooserPanel.saturationMnemonic=83 -GTKColorChooserPanel.greenText=\ub179\uc0c9(G): +GTKColorChooserPanel.greenText=\uB179\uC0C9: GTKColorChooserPanel.greenMnemonic=71 -GTKColorChooserPanel.valueText=\uac12(V): +GTKColorChooserPanel.valueText=\uAC12: GTKColorChooserPanel.valueMnemonic=86 -GTKColorChooserPanel.blueText=\ud30c\ub791(B): +GTKColorChooserPanel.blueText=\uD30C\uB780\uC0C9: GTKColorChooserPanel.blueMnemonic=66 -GTKColorChooserPanel.colorNameText=\uc0c9 \uc774\ub984(N): +GTKColorChooserPanel.colorNameText=\uC0C9\uC0C1 \uC774\uB984: GTKColorChooserPanel.colorNameMnemonic=78 ############ FILE CHOOSER STRINGS ############# -FileChooser.acceptAllFileFilterText=\ubaa8\ub4e0 \ud30c\uc77c -FileChooser.newFolderButtonText=\uc0c8 \ud3f4\ub354 +FileChooser.acceptAllFileFilterText=\uBAA8\uB4E0 \uD30C\uC77C +FileChooser.newFolderButtonText=\uC0C8 \uD3F4\uB354 FileChooser.newFolderButtonMnemonic=78 -FileChooser.newFolderDialogText=\ud3f4\ub354 \uc774\ub984: -FileChooser.newFolderNoDirectoryErrorTitleText=Error -FileChooser.newFolderNoDirectoryErrorText=Error creating directory "{0}": No such file or directory -FileChooser.deleteFileButtonText=\ud30c\uc77c \uc0ad\uc81c +FileChooser.newFolderDialogText=\uD3F4\uB354 \uC774\uB984: +FileChooser.newFolderNoDirectoryErrorTitleText=\uC624\uB958 +FileChooser.newFolderNoDirectoryErrorText="{0}" \uB514\uB809\uD1A0\uB9AC\uB97C \uC0DD\uC131\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: \uD574\uB2F9 \uD30C\uC77C \uB610\uB294 \uB514\uB809\uD1A0\uB9AC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. +FileChooser.deleteFileButtonText=\uD30C\uC77C \uC0AD\uC81C FileChooser.deleteFileButtonMnemonic=76 -FileChooser.renameFileButtonText=\ud30c\uc77c \uc774\ub984 \ubc14\uafb8\uae30 +FileChooser.renameFileButtonText=\uD30C\uC77C \uC774\uB984 \uBC14\uAFB8\uAE30 FileChooser.renameFileButtonMnemonic=82 -FileChooser.cancelButtonText=\ucde8\uc18c +FileChooser.cancelButtonText=\uCDE8\uC18C FileChooser.cancelButtonMnemonic=67 -FileChooser.saveButtonText=\uc800\uc7a5 +FileChooser.saveButtonText=\uD655\uC778 FileChooser.saveButtonMnemonic=79 -FileChooser.openButtonText=\ud655\uc778 +FileChooser.openButtonText=\uD655\uC778 FileChooser.openButtonMnemonic=79 -FileChooser.saveDialogTitleText=\uc800\uc7a5 -FileChooser.openDialogTitleText=\uc5f4\uae30 -FileChooser.pathLabelText=\uc120\ud0dd: -FileChooser.filterLabelText=\ud544\ud130: +FileChooser.saveDialogTitleText=\uC800\uC7A5 +FileChooser.openDialogTitleText=\uC5F4\uAE30 +FileChooser.pathLabelText=\uC120\uD0DD: +FileChooser.filterLabelText=\uD544\uD130: FileChooser.pathLabelMnemonic=83 -FileChooser.foldersLabelText=\ud3f4\ub354 +FileChooser.foldersLabelText=\uD3F4\uB354 FileChooser.foldersLabelMnemonic=68 -FileChooser.filesLabelText=\ud30c\uc77c +FileChooser.filesLabelText=\uD30C\uC77C FileChooser.filesLabelMnemonic=70 -FileChooser.cancelButtonToolTipText=\ud30c\uc77c \uc120\ud0dd \ub300\ud654 \uc0c1\uc790\ub97c \uc911\ub2e8\ud569\ub2c8\ub2e4. -FileChooser.saveButtonToolTipText=\uc120\ud0dd\ud55c \ud30c\uc77c\uc744 \uc800\uc7a5\ud569\ub2c8\ub2e4. -FileChooser.openButtonToolTipText=\uc120\ud0dd\ud55c \ud30c\uc77c\uc744 \uc5fd\ub2c8\ub2e4. +FileChooser.cancelButtonToolTipText=\uD30C\uC77C \uC120\uD0DD\uAE30 \uB300\uD654\uC0C1\uC790\uB97C \uC911\uB2E8\uD569\uB2C8\uB2E4. +FileChooser.saveButtonToolTipText=\uC120\uD0DD\uB41C \uD30C\uC77C\uC744 \uC800\uC7A5\uD569\uB2C8\uB2E4. +FileChooser.openButtonToolTipText=\uC120\uD0DD\uB41C \uD30C\uC77C\uC744 \uC5FD\uB2C8\uB2E4. -FileChooser.renameFileDialogText=\ud30c\uc77c "{0}"\uc744 \ub2e4\uc74c\uc73c\ub85c \uc774\ub984 \ubc14\uafb8\uae30 -FileChooser.renameFileErrorTitle=\uc624\ub958 -FileChooser.renameFileErrorText="{0}"\uc5d0\uc11c "{1}"\ub85c \uc774\ub984 \ubc14\uafb8\uae30 \uc624\ub958 +FileChooser.renameFileDialogText="{0}" \uD30C\uC77C\uC758 \uC774\uB984 \uBC14\uAFB8\uAE30 +FileChooser.renameFileErrorTitle=\uC624\uB958 +FileChooser.renameFileErrorText="{0}" \uD30C\uC77C\uC758 \uC774\uB984\uC744 "{1}"(\uC73C)\uB85C \uBC14\uAFB8\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. OptionPane.okButtonMnemonic=79 OptionPane.cancelButtonMnemonic=67 diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_pt_BR.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_pt_BR.properties index dff6f6f1528..3ca20897106 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_pt_BR.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_pt_BR.properties @@ -6,7 +6,7 @@ # GTK specific properties # GTK color chooser properties: -GTKColorChooserPanel.nameText=Seletor de cores do GTK +GTKColorChooserPanel.nameText=Seletor de Cores do GTK # mnemonic as a VK_ constant GTKColorChooserPanel.mnemonic=71 # Can also define GTKColorChooserPanel.dispalyedMnemonicIndex if you @@ -26,7 +26,7 @@ GTKColorChooserPanel.hueMnemonic=72 GTKColorChooserPanel.redText=Vermelho: GTKColorChooserPanel.redMnemonic=69 -GTKColorChooserPanel.saturationText=Satura\u00e7\u00e3o: +GTKColorChooserPanel.saturationText=Satura\u00E7\u00E3o: GTKColorChooserPanel.saturationMnemonic=83 GTKColorChooserPanel.greenText=Verde: @@ -38,20 +38,22 @@ GTKColorChooserPanel.valueMnemonic=86 GTKColorChooserPanel.blueText=Azul: GTKColorChooserPanel.blueMnemonic=66 -GTKColorChooserPanel.colorNameText=Nome da cor: +GTKColorChooserPanel.colorNameText=Nome da Cor: GTKColorChooserPanel.colorNameMnemonic=78 ############ FILE CHOOSER STRINGS ############# -FileChooser.acceptAllFileFilterText=Todos os arquivos -FileChooser.newFolderButtonText=Nova pasta +FileChooser.acceptAllFileFilterText=Todos os Arquivos +FileChooser.newFolderButtonText=Nova Pasta FileChooser.newFolderButtonMnemonic=78 FileChooser.newFolderDialogText=Nome da pasta: -FileChooser.deleteFileButtonText=Excluir arquivo +FileChooser.newFolderNoDirectoryErrorTitleText=Erro +FileChooser.newFolderNoDirectoryErrorText=Erro ao criar o diret\u00F3rio "{0}": N\u00E3o h\u00E1 arquivo ou diret\u00F3rio +FileChooser.deleteFileButtonText=Deletar Arquivo FileChooser.deleteFileButtonMnemonic=76 -FileChooser.renameFileButtonText=Renomear arquivo +FileChooser.renameFileButtonText=Renomear Arquivo FileChooser.renameFileButtonMnemonic=82 FileChooser.cancelButtonText=Cancelar FileChooser.cancelButtonMnemonic=67 @@ -61,7 +63,7 @@ FileChooser.openButtonText=OK FileChooser.openButtonMnemonic=79 FileChooser.saveDialogTitleText=Salvar FileChooser.openDialogTitleText=Abrir -FileChooser.pathLabelText=Sele\u00e7\u00e3o: +FileChooser.pathLabelText=Sele\u00E7\u00E3o: FileChooser.filterLabelText=Filtro: FileChooser.pathLabelMnemonic=83 FileChooser.foldersLabelText=Pastas @@ -69,7 +71,7 @@ FileChooser.foldersLabelMnemonic=68 FileChooser.filesLabelText=Arquivos FileChooser.filesLabelMnemonic=70 -FileChooser.cancelButtonToolTipText=Anular caixa de di\u00e1logo do seletor de arquivos. +FileChooser.cancelButtonToolTipText=Abortar caixa de di\u00E1logo do seletor de arquivos. FileChooser.saveButtonToolTipText=Salvar arquivo selecionado. FileChooser.openButtonToolTipText=Abrir arquivo selecionado. diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_sv.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_sv.properties index 672be192091..0bda01d0318 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_sv.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_sv.properties @@ -6,7 +6,7 @@ # GTK specific properties # GTK color chooser properties: -GTKColorChooserPanel.nameText=GTK F\u00e4rgv\u00e4ljaren +GTKColorChooserPanel.nameText=GTK-f\u00E4rgv\u00E4ljaren # mnemonic as a VK_ constant GTKColorChooserPanel.mnemonic=71 # Can also define GTKColorChooserPanel.dispalyedMnemonicIndex if you @@ -21,25 +21,25 @@ GTKColorChooserPanel.mnemonic=71 # character of GTKColorChooserPanel.hueText should be underlined to # represent the mnemonic. GTKColorChooserPanel.hueText=Nyans: -GTKColorChooserPanel.hueMnemonic=78 +GTKColorChooserPanel.hueMnemonic=72 -GTKColorChooserPanel.redText=R\u00f6d: -GTKColorChooserPanel.redMnemonic=82 +GTKColorChooserPanel.redText=R\u00F6d: +GTKColorChooserPanel.redMnemonic=69 -GTKColorChooserPanel.saturationText=M\u00e4ttnad: -GTKColorChooserPanel.saturationMnemonic=77 +GTKColorChooserPanel.saturationText=M\u00E4ttnad: +GTKColorChooserPanel.saturationMnemonic=83 -GTKColorChooserPanel.greenText=Gr\u00f6n: +GTKColorChooserPanel.greenText=Gr\u00F6n: GTKColorChooserPanel.greenMnemonic=71 -GTKColorChooserPanel.valueText=V\u00e4rde: +GTKColorChooserPanel.valueText=V\u00E4rde: GTKColorChooserPanel.valueMnemonic=86 -GTKColorChooserPanel.blueText=Bl\u00e5: +GTKColorChooserPanel.blueText=Bl\u00E5: GTKColorChooserPanel.blueMnemonic=66 -GTKColorChooserPanel.colorNameText=F\u00e4rgnamn: -GTKColorChooserPanel.colorNameMnemonic=70 +GTKColorChooserPanel.colorNameText=F\u00E4rg: +GTKColorChooserPanel.colorNameMnemonic=78 @@ -47,37 +47,37 @@ GTKColorChooserPanel.colorNameMnemonic=70 FileChooser.acceptAllFileFilterText=Alla filer FileChooser.newFolderButtonText=Ny mapp -FileChooser.newFolderButtonMnemonic=70 +FileChooser.newFolderButtonMnemonic=78 FileChooser.newFolderDialogText=Mapp: -FileChooser.newFolderNoDirectoryErrorTitleText=Error -FileChooser.newFolderNoDirectoryErrorText=Error creating directory "{0}": No such file or directory +FileChooser.newFolderNoDirectoryErrorTitleText=Fel +FileChooser.newFolderNoDirectoryErrorText=Ett fel intr\u00E4ffade vid f\u00F6rs\u00F6k att skapa katalogen "{0}": Filen eller katalogen finns inte FileChooser.deleteFileButtonText=Ta bort fil FileChooser.deleteFileButtonMnemonic=76 -FileChooser.renameFileButtonText=Byt namn p\u00e5 fil -FileChooser.renameFileButtonMnemonic=84 +FileChooser.renameFileButtonText=Namn\u00E4ndra fil +FileChooser.renameFileButtonMnemonic=82 FileChooser.cancelButtonText=Avbryt -FileChooser.cancelButtonMnemonic=83 -FileChooser.saveButtonText=Spara -FileChooser.saveButtonMnemonic=80 +FileChooser.cancelButtonMnemonic=67 +FileChooser.saveButtonText=OK +FileChooser.saveButtonMnemonic=79 FileChooser.openButtonText=OK FileChooser.openButtonMnemonic=79 FileChooser.saveDialogTitleText=Spara -FileChooser.openDialogTitleText=\u00d6ppna -FileChooser.pathLabelText=Markeringen: +FileChooser.openDialogTitleText=\u00D6ppna +FileChooser.pathLabelText=Val: FileChooser.filterLabelText=Filter: -FileChooser.pathLabelMnemonic=77 +FileChooser.pathLabelMnemonic=83 FileChooser.foldersLabelText=Mappar -FileChooser.foldersLabelMnemonic=82 +FileChooser.foldersLabelMnemonic=68 FileChooser.filesLabelText=Filer FileChooser.filesLabelMnemonic=70 -FileChooser.cancelButtonToolTipText=St\u00e4ng dialogrutan f\u00f6r filval. -FileChooser.saveButtonToolTipText=Spara den markerade filen. -FileChooser.openButtonToolTipText=\u00d6ppna den markerade filen. +FileChooser.cancelButtonToolTipText=Avbryt dialogrutan Filv\u00E4ljare. +FileChooser.saveButtonToolTipText=Spara vald fil. +FileChooser.openButtonToolTipText=\u00D6ppna vald fil. -FileChooser.renameFileDialogText=Byt namn p\u00e5 fil "{0}" till +FileChooser.renameFileDialogText=Namn\u00E4ndra fil "{0}" till FileChooser.renameFileErrorTitle=Fel -FileChooser.renameFileErrorText=Det gick inte att byta namn p\u00e5 fil "{0}" till "{1}" +FileChooser.renameFileErrorText=Fel vid namn\u00E4ndring av fil "{0}" till "{1}" OptionPane.okButtonMnemonic=79 -OptionPane.cancelButtonMnemonic=83 +OptionPane.cancelButtonMnemonic=67 diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_CN.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_CN.properties index 8a7d74cb576..425f6add749 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_CN.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_CN.properties @@ -6,7 +6,7 @@ # GTK specific properties # GTK color chooser properties: -GTKColorChooserPanel.nameText=GTK Color Chooser +GTKColorChooserPanel.nameText=GTK \u989C\u8272\u9009\u62E9\u5668 # mnemonic as a VK_ constant GTKColorChooserPanel.mnemonic=71 # Can also define GTKColorChooserPanel.dispalyedMnemonicIndex if you @@ -20,64 +20,64 @@ GTKColorChooserPanel.mnemonic=71 # GTKColorChooserPanel.hueMnemonicIndex=1 would indicate the second # character of GTKColorChooserPanel.hueText should be underlined to # represent the mnemonic. -GTKColorChooserPanel.hueText=\u8272\u8c03(H)\uff1a +GTKColorChooserPanel.hueText=\u8272\u8C03: GTKColorChooserPanel.hueMnemonic=72 -GTKColorChooserPanel.redText=\u7ea2(E)\uff1a +GTKColorChooserPanel.redText=\u7EA2: GTKColorChooserPanel.redMnemonic=69 -GTKColorChooserPanel.saturationText=\u9971\u548c\u5ea6(S)\uff1a +GTKColorChooserPanel.saturationText=\u9971\u548C\u5EA6: GTKColorChooserPanel.saturationMnemonic=83 -GTKColorChooserPanel.greenText=\u7eff(G)\uff1a +GTKColorChooserPanel.greenText=\u7EFF: GTKColorChooserPanel.greenMnemonic=71 -GTKColorChooserPanel.valueText=\u503c(V)\uff1a +GTKColorChooserPanel.valueText=\u503C: GTKColorChooserPanel.valueMnemonic=86 -GTKColorChooserPanel.blueText=\u84dd(B)\uff1a +GTKColorChooserPanel.blueText=\u84DD: GTKColorChooserPanel.blueMnemonic=66 -GTKColorChooserPanel.colorNameText=\u989c\u8272\u540d\u79f0(N)\uff1a +GTKColorChooserPanel.colorNameText=\u989C\u8272\u540D\u79F0: GTKColorChooserPanel.colorNameMnemonic=78 ############ FILE CHOOSER STRINGS ############# -FileChooser.acceptAllFileFilterText=\u6240\u6709\u6587\u4ef6 -FileChooser.newFolderButtonText=\u65b0\u5efa\u6587\u4ef6\u5939 +FileChooser.acceptAllFileFilterText=\u6240\u6709\u6587\u4EF6 +FileChooser.newFolderButtonText=\u65B0\u5EFA\u6587\u4EF6\u5939 FileChooser.newFolderButtonMnemonic=78 -FileChooser.newFolderDialogText=\u6587\u4ef6\u5939\u540d\uff1a -FileChooser.newFolderNoDirectoryErrorTitleText=Error -FileChooser.newFolderNoDirectoryErrorText=Error creating directory "{0}": No such file or directory -FileChooser.deleteFileButtonText=\u5220\u9664\u6587\u4ef6 +FileChooser.newFolderDialogText=\u6587\u4EF6\u5939\u540D: +FileChooser.newFolderNoDirectoryErrorTitleText=\u9519\u8BEF +FileChooser.newFolderNoDirectoryErrorText=\u521B\u5EFA\u76EE\u5F55 "{0}" \u65F6\u51FA\u9519: \u6CA1\u6709\u6B64\u7C7B\u6587\u4EF6\u6216\u76EE\u5F55 +FileChooser.deleteFileButtonText=\u5220\u9664\u6587\u4EF6 FileChooser.deleteFileButtonMnemonic=76 -FileChooser.renameFileButtonText=\u91cd\u547d\u540d\u6587\u4ef6 +FileChooser.renameFileButtonText=\u91CD\u547D\u540D\u6587\u4EF6 FileChooser.renameFileButtonMnemonic=82 -FileChooser.cancelButtonText=\u53d6\u6d88 +FileChooser.cancelButtonText=\u53D6\u6D88 FileChooser.cancelButtonMnemonic=67 -FileChooser.saveButtonText=\u4fdd\u5b58 +FileChooser.saveButtonText=\u786E\u5B9A FileChooser.saveButtonMnemonic=79 -FileChooser.openButtonText=\u786e\u5b9a +FileChooser.openButtonText=\u786E\u5B9A FileChooser.openButtonMnemonic=79 -FileChooser.saveDialogTitleText=\u4fdd\u5b58 -FileChooser.openDialogTitleText=\u6253\u5f00 -FileChooser.pathLabelText=\u9009\u62e9\uff1a -FileChooser.filterLabelText=\u8fc7\u6ee4\u5668\uff1a +FileChooser.saveDialogTitleText=\u4FDD\u5B58 +FileChooser.openDialogTitleText=\u6253\u5F00 +FileChooser.pathLabelText=\u9009\u62E9: +FileChooser.filterLabelText=\u7B5B\u9009\u5668: FileChooser.pathLabelMnemonic=83 -FileChooser.foldersLabelText=\u6587\u4ef6\u5939 +FileChooser.foldersLabelText=\u6587\u4EF6\u5939 FileChooser.foldersLabelMnemonic=68 -FileChooser.filesLabelText=\u6587\u4ef6 +FileChooser.filesLabelText=\u6587\u4EF6 FileChooser.filesLabelMnemonic=70 -FileChooser.cancelButtonToolTipText=\u7ec8\u6b62\u6587\u4ef6\u9009\u62e9\u5668\u5bf9\u8bdd\u6846\u3002 -FileChooser.saveButtonToolTipText=\u4fdd\u5b58\u9009\u5b9a\u7684\u6587\u4ef6\u3002 -FileChooser.openButtonToolTipText=\u6253\u5f00\u9009\u5b9a\u7684\u6587\u4ef6\u3002 +FileChooser.cancelButtonToolTipText=\u4E2D\u6B62\u6587\u4EF6\u9009\u62E9\u5668\u5BF9\u8BDD\u6846\u3002 +FileChooser.saveButtonToolTipText=\u4FDD\u5B58\u6240\u9009\u6587\u4EF6\u3002 +FileChooser.openButtonToolTipText=\u6253\u5F00\u6240\u9009\u6587\u4EF6\u3002 -FileChooser.renameFileDialogText=\u5c06\u6587\u4ef6\u201c{0}\u201d\u91cd\u547d\u540d\u4e3a -FileChooser.renameFileErrorTitle=\u9519\u8bef -FileChooser.renameFileErrorText=\u5c06\u6587\u4ef6\u201c{0}\u201d\u91cd\u547d\u540d\u4e3a\u201c{1}\u201d\u65f6\u51fa\u9519 +FileChooser.renameFileDialogText=\u5C06\u6587\u4EF6 "{0}" \u91CD\u547D\u540D\u4E3A +FileChooser.renameFileErrorTitle=\u9519\u8BEF +FileChooser.renameFileErrorText=\u5C06\u6587\u4EF6 "{0}" \u91CD\u547D\u540D\u4E3A "{1}" \u65F6\u51FA\u9519 OptionPane.okButtonMnemonic=79 OptionPane.cancelButtonMnemonic=67 diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_TW.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_TW.properties index d43facb6be0..84d1d20f407 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_TW.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_TW.properties @@ -6,7 +6,7 @@ # GTK specific properties # GTK color chooser properties: -GTKColorChooserPanel.nameText=GTK Color Chooser +GTKColorChooserPanel.nameText=GTK \u8272\u5F69\u9078\u64C7\u5668 # mnemonic as a VK_ constant GTKColorChooserPanel.mnemonic=71 # Can also define GTKColorChooserPanel.dispalyedMnemonicIndex if you @@ -20,64 +20,64 @@ GTKColorChooserPanel.mnemonic=71 # GTKColorChooserPanel.hueMnemonicIndex=1 would indicate the second # character of GTKColorChooserPanel.hueText should be underlined to # represent the mnemonic. -GTKColorChooserPanel.hueText=\u8272\u8abf(H): +GTKColorChooserPanel.hueText=\u8272\u8ABF: GTKColorChooserPanel.hueMnemonic=72 -GTKColorChooserPanel.redText=\u7d05(E): +GTKColorChooserPanel.redText=\u7D05: GTKColorChooserPanel.redMnemonic=69 -GTKColorChooserPanel.saturationText=\u98fd\u548c(S): +GTKColorChooserPanel.saturationText=\u98FD\u548C: GTKColorChooserPanel.saturationMnemonic=83 -GTKColorChooserPanel.greenText=\u7da0(G): +GTKColorChooserPanel.greenText=\u7DA0: GTKColorChooserPanel.greenMnemonic=71 -GTKColorChooserPanel.valueText=\u503c(V): +GTKColorChooserPanel.valueText=\u503C: GTKColorChooserPanel.valueMnemonic=86 -GTKColorChooserPanel.blueText=\u85cd(B): +GTKColorChooserPanel.blueText=\u85CD: GTKColorChooserPanel.blueMnemonic=66 -GTKColorChooserPanel.colorNameText=\u984f\u8272\u540d\u7a31(N): +GTKColorChooserPanel.colorNameText=\u984F\u8272\u540D\u7A31: GTKColorChooserPanel.colorNameMnemonic=78 ############ FILE CHOOSER STRINGS ############# -FileChooser.acceptAllFileFilterText=\u6240\u6709\u6a94\u6848 -FileChooser.newFolderButtonText=\u65b0\u6a94\u6848\u593e +FileChooser.acceptAllFileFilterText=\u6240\u6709\u6A94\u6848 +FileChooser.newFolderButtonText=\u65B0\u8CC7\u6599\u593E FileChooser.newFolderButtonMnemonic=78 -FileChooser.newFolderDialogText=\u6a94\u6848\u593e\u540d\u7a31: -FileChooser.newFolderNoDirectoryErrorTitleText=Error -FileChooser.newFolderNoDirectoryErrorText=Error creating directory "{0}": No such file or directory -FileChooser.deleteFileButtonText=\u522a\u9664\u6a94\u6848 +FileChooser.newFolderDialogText=\u8CC7\u6599\u593E\u540D\u7A31: +FileChooser.newFolderNoDirectoryErrorTitleText=\u932F\u8AA4 +FileChooser.newFolderNoDirectoryErrorText=\u5EFA\u7ACB\u76EE\u9304 "{0}" \u6642\u767C\u751F\u932F\u8AA4: \u6C92\u6709\u6B64\u6A94\u6848\u6216\u76EE\u9304 +FileChooser.deleteFileButtonText=\u522A\u9664\u6A94\u6848 FileChooser.deleteFileButtonMnemonic=76 -FileChooser.renameFileButtonText=\u91cd\u65b0\u547d\u540d\u6a94\u6848 +FileChooser.renameFileButtonText=\u91CD\u65B0\u547D\u540D\u6A94\u6848 FileChooser.renameFileButtonMnemonic=82 -FileChooser.cancelButtonText=\u53d6\u6d88 +FileChooser.cancelButtonText=\u53D6\u6D88 FileChooser.cancelButtonMnemonic=67 -FileChooser.saveButtonText=\u5132\u5b58 +FileChooser.saveButtonText=\u78BA\u5B9A FileChooser.saveButtonMnemonic=79 -FileChooser.openButtonText=\u78ba\u5b9a +FileChooser.openButtonText=\u78BA\u5B9A FileChooser.openButtonMnemonic=79 -FileChooser.saveDialogTitleText=\u5132\u5b58 -FileChooser.openDialogTitleText=\u958b\u555f -FileChooser.pathLabelText=\u9078\u53d6: -FileChooser.filterLabelText=\u904e\u6ffe\u5668: +FileChooser.saveDialogTitleText=\u5132\u5B58 +FileChooser.openDialogTitleText=\u958B\u555F +FileChooser.pathLabelText=\u9078\u53D6: +FileChooser.filterLabelText=\u7BE9\u9078: FileChooser.pathLabelMnemonic=83 -FileChooser.foldersLabelText=\u6a94\u6848\u593e +FileChooser.foldersLabelText=\u8CC7\u6599\u593E FileChooser.foldersLabelMnemonic=68 -FileChooser.filesLabelText=\u6a94\u6848 +FileChooser.filesLabelText=\u6A94\u6848 FileChooser.filesLabelMnemonic=70 -FileChooser.cancelButtonToolTipText=\u4e2d\u65b7\u6a94\u6848\u9078\u64c7\u7a0b\u5f0f\u5c0d\u8a71\u65b9\u584a\u3002 -FileChooser.saveButtonToolTipText=\u5132\u5b58\u9078\u53d6\u7684\u6a94\u6848\u3002 -FileChooser.openButtonToolTipText=\u958b\u555f\u9078\u53d6\u7684\u6a94\u6848\u3002 +FileChooser.cancelButtonToolTipText=\u4E2D\u6B62\u6A94\u6848\u9078\u64C7\u5668\u5C0D\u8A71\u65B9\u584A\u3002 +FileChooser.saveButtonToolTipText=\u5132\u5B58\u9078\u53D6\u7684\u6A94\u6848\u3002 +FileChooser.openButtonToolTipText=\u958B\u555F\u9078\u53D6\u7684\u6A94\u6848\u3002 -FileChooser.renameFileDialogText=\u5c07\u6a94\u6848 "{0}" \u91cd\u65b0\u547d\u540d\u70ba -FileChooser.renameFileErrorTitle=\u932f\u8aa4 -FileChooser.renameFileErrorText=\u5c07\u6a94\u6848 "{0}" \u91cd\u65b0\u547d\u540d\u70ba "{1}" \u6642\u51fa\u73fe\u932f\u8aa4 +FileChooser.renameFileDialogText=\u5C07\u6A94\u6848 "{0}" \u91CD\u65B0\u547D\u540D\u70BA +FileChooser.renameFileErrorTitle=\u932F\u8AA4 +FileChooser.renameFileErrorText=\u5C07\u6A94\u6848 "{0}" \u91CD\u65B0\u547D\u540D\u70BA "{1}" \u6642\u51FA\u73FE\u932F\u8AA4 OptionPane.okButtonMnemonic=79 OptionPane.cancelButtonMnemonic=67 diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_de.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_de.properties index 9396ee98d95..f1ee7ed76b1 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_de.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_de.properties @@ -23,18 +23,18 @@ FileChooser.cancelButtonText=Abbrechen FileChooser.saveButtonText=Speichern FileChooser.openButtonText=OK FileChooser.saveDialogTitleText=Speichern -FileChooser.openDialogTitleText=\u00d6ffnen +FileChooser.openDialogTitleText=\u00D6ffnen FileChooser.updateButtonText=Aktualisieren FileChooser.helpButtonText=Hilfe FileChooser.pathLabelText=Pfad- oder Ordnernamen eingeben: FileChooser.filterLabelText=Filter FileChooser.foldersLabelText=Ordner FileChooser.filesLabelText=Dateien -FileChooser.enterFileNameLabelText=Filternamen eingeben: -FileChooser.enterFolderNameLabelText=Enter folder name: +FileChooser.enterFileNameLabelText=Dateinamen eingeben: +FileChooser.enterFolderNameLabelText=Ordnernamen eingeben: -FileChooser.cancelButtonToolTipText=Dialogfeld f\u00fcr Dateiauswahl abbrechen -FileChooser.saveButtonToolTipText=Ausgew\u00e4hlte Datei speichern -FileChooser.openButtonToolTipText=Ausgew\u00e4hlte Datei \u00f6ffnen -FileChooser.updateButtonToolTipText=Verzeichnisliste aktualisieren -FileChooser.helpButtonToolTipText=Hilfe f\u00fcr Dateiauswahl +FileChooser.cancelButtonToolTipText=Dialogfeld f\u00FCr Dateiauswahl schlie\u00DFen. +FileChooser.saveButtonToolTipText=Ausgew\u00E4hlte Datei speichern. +FileChooser.openButtonToolTipText=Ausgew\u00E4hlte Datei \u00F6ffnen. +FileChooser.updateButtonToolTipText=Verzeichnisliste aktualisieren. +FileChooser.helpButtonToolTipText=FileChooser-Hilfe. diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_es.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_es.properties index 67918e80980..c4e9108ff0e 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_es.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_es.properties @@ -26,15 +26,15 @@ FileChooser.saveDialogTitleText=Guardar FileChooser.openDialogTitleText=Abrir FileChooser.updateButtonText=Actualizar FileChooser.helpButtonText=Ayuda -FileChooser.pathLabelText=Introducir v\u00eda de acceso o nombre de carpeta: +FileChooser.pathLabelText=Introducir nombre de la ruta de acceso o carpeta: FileChooser.filterLabelText=Filtro FileChooser.foldersLabelText=Carpetas FileChooser.filesLabelText=Archivos FileChooser.enterFileNameLabelText=Introducir nombre de archivo: -FileChooser.enterFolderNameLabelText=Enter folder name: +FileChooser.enterFolderNameLabelText=Introducir nombre de carpeta: -FileChooser.cancelButtonToolTipText=Cuadro de di\u00e1logo para cancelar elector de archivo. +FileChooser.cancelButtonToolTipText=Abortar cuadro de di\u00E1logo del selector de archivos. FileChooser.saveButtonToolTipText=Guardar archivo seleccionado. FileChooser.openButtonToolTipText=Abrir archivo seleccionado. FileChooser.updateButtonToolTipText=Actualizar lista de directorios. -FileChooser.helpButtonToolTipText=Ayuda elector de archivos. +FileChooser.helpButtonToolTipText=Ayuda del selector de archivos. diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_fr.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_fr.properties index d92428272ac..8644dea7930 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_fr.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_fr.properties @@ -24,17 +24,17 @@ FileChooser.saveButtonText=Enregistrer FileChooser.openButtonText=OK FileChooser.saveDialogTitleText=Enregistrer FileChooser.openDialogTitleText=Ouvrir -FileChooser.updateButtonText=Mise \u00e0 jour +FileChooser.updateButtonText=Mettre \u00E0 jour FileChooser.helpButtonText=Aide FileChooser.pathLabelText=Entrez le chemin ou le nom du dossier : FileChooser.filterLabelText=Filtre FileChooser.foldersLabelText=Dossiers FileChooser.filesLabelText=Fichiers FileChooser.enterFileNameLabelText=Entrez le nom du fichier : -FileChooser.enterFolderNameLabelText=Enter folder name: +FileChooser.enterFolderNameLabelText=Entrez le nom du dossier : -FileChooser.cancelButtonToolTipText=Ferme la bo\u00eete de dialogue du s\u00e9lecteur de fichiers -FileChooser.saveButtonToolTipText=Enregistre le fichier s\u00e9lectionn\u00e9 -FileChooser.openButtonToolTipText=Ouvre le fichier s\u00e9lectionn\u00e9 -FileChooser.updateButtonToolTipText=Met \u00e0 jour la liste des r\u00e9pertoires -FileChooser.helpButtonToolTipText=Aide sur le s\u00e9lecteur de fichiers +FileChooser.cancelButtonToolTipText=Ferme la bo\u00EEte de dialogue du s\u00E9lecteur de fichiers. +FileChooser.saveButtonToolTipText=Enregistre le fichier s\u00E9lectionn\u00E9. +FileChooser.openButtonToolTipText=Ouvre le fichier s\u00E9lectionn\u00E9. +FileChooser.updateButtonToolTipText=Met \u00E0 jour la liste des r\u00E9pertoires. +FileChooser.helpButtonToolTipText=Aide du s\u00E9lecteur de fichiers diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_it.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_it.properties index bc0ba15f4c6..e637d6b5e8e 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_it.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_it.properties @@ -31,10 +31,10 @@ FileChooser.filterLabelText=Filtro FileChooser.foldersLabelText=Cartelle FileChooser.filesLabelText=File FileChooser.enterFileNameLabelText=Nome file: -FileChooser.enterFolderNameLabelText=Enter folder name: +FileChooser.enterFolderNameLabelText=Nome cartella: -FileChooser.cancelButtonToolTipText=Finestra di dialogo Interrompi Selezione file. -FileChooser.saveButtonToolTipText=Salva file selezionato. -FileChooser.openButtonToolTipText=Apri file selezionato. -FileChooser.updateButtonToolTipText=Aggiorna elenco directory. -FileChooser.helpButtonToolTipText=Guida di Selezione file. +FileChooser.cancelButtonToolTipText=Chiude la finestra di dialogo di selezione file. +FileChooser.saveButtonToolTipText=Salva il file selezionato. +FileChooser.openButtonToolTipText=Apre il file selezionato. +FileChooser.updateButtonToolTipText=Aggiorna lista directory. +FileChooser.helpButtonToolTipText=Guida FileChooser. diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_ja.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_ja.properties index 4ec2f48e0df..68342cc8544 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_ja.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_ja.properties @@ -19,22 +19,22 @@ ############ FILE CHOOSER STRINGS ############# FileChooser.acceptAllFileFilterText=* -FileChooser.cancelButtonText=\u53d6\u6d88\u3057 -FileChooser.saveButtonText=\u4fdd\u5b58 -FileChooser.openButtonText=\u4e86\u89e3 -FileChooser.saveDialogTitleText=\u4fdd\u5b58 -FileChooser.openDialogTitleText=\u958b\u304f -FileChooser.updateButtonText=\u66f4\u65b0 -FileChooser.helpButtonText=\u30d8\u30eb\u30d7 -FileChooser.pathLabelText=\u30d1\u30b9\u307e\u305f\u306f\u30d5\u30a9\u30eb\u30c0\u540d\u3092\u5165\u529b: -FileChooser.filterLabelText=\u30d5\u30a3\u30eb\u30bf -FileChooser.foldersLabelText=\u30d5\u30a9\u30eb\u30c0 -FileChooser.filesLabelText=\u30d5\u30a1\u30a4\u30eb -FileChooser.enterFileNameLabelText=\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u5165\u529b: -FileChooser.enterFolderNameLabelText=Enter folder name: +FileChooser.cancelButtonText=\u53D6\u6D88 +FileChooser.saveButtonText=\u4FDD\u5B58 +FileChooser.openButtonText=OK +FileChooser.saveDialogTitleText=\u4FDD\u5B58 +FileChooser.openDialogTitleText=\u958B\u304F +FileChooser.updateButtonText=\u66F4\u65B0 +FileChooser.helpButtonText=\u30D8\u30EB\u30D7 +FileChooser.pathLabelText=\u30D1\u30B9\u307E\u305F\u306F\u30D5\u30A9\u30EB\u30C0\u540D\u3092\u5165\u529B: +FileChooser.filterLabelText=\u30D5\u30A3\u30EB\u30BF +FileChooser.foldersLabelText=\u30D5\u30A9\u30EB\u30C0 +FileChooser.filesLabelText=\u30D5\u30A1\u30A4\u30EB +FileChooser.enterFileNameLabelText=\u30D5\u30A1\u30A4\u30EB\u540D\u3092\u5165\u529B: +FileChooser.enterFolderNameLabelText=\u30D5\u30A9\u30EB\u30C0\u540D\u3092\u5165\u529B: -FileChooser.cancelButtonToolTipText=\u30d5\u30a1\u30a4\u30eb\u30c1\u30e5\u30fc\u30b6\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u7d42\u4e86 -FileChooser.saveButtonToolTipText=\u9078\u629e\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306b\u4fdd\u5b58 -FileChooser.openButtonToolTipText=\u9078\u629e\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304f -FileChooser.updateButtonToolTipText=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u8868\u793a\u3092\u66f4\u65b0 -FileChooser.helpButtonToolTipText=\u30d5\u30a1\u30a4\u30eb\u30c1\u30e5\u30fc\u30b6\u306e\u30d8\u30eb\u30d7 +FileChooser.cancelButtonToolTipText=\u30D5\u30A1\u30A4\u30EB\u30FB\u30C1\u30E5\u30FC\u30B6\u30FB\u30C0\u30A4\u30A2\u30ED\u30B0\u3092\u7D42\u4E86\u3057\u307E\u3059\u3002 +FileChooser.saveButtonToolTipText=\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58\u3057\u307E\u3059\u3002 +FileChooser.openButtonToolTipText=\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304D\u307E\u3059\u3002 +FileChooser.updateButtonToolTipText=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u30EA\u30B9\u30C8\u3092\u66F4\u65B0\u3057\u307E\u3059\u3002 +FileChooser.helpButtonToolTipText=FileChooser\u306E\u30D8\u30EB\u30D7\u3067\u3059\u3002 diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_ko.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_ko.properties index 067711cf219..f522359b907 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_ko.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_ko.properties @@ -19,22 +19,22 @@ ############ FILE CHOOSER STRINGS ############# FileChooser.acceptAllFileFilterText=* -FileChooser.cancelButtonText=\ucde8\uc18c -FileChooser.saveButtonText=\uc800\uc7a5 -FileChooser.openButtonText=\ud655\uc778 -FileChooser.saveDialogTitleText=\uc800\uc7a5 -FileChooser.openDialogTitleText=\uc5f4\uae30 -FileChooser.updateButtonText=\uc5c5\ub370\uc774\ud2b8 -FileChooser.helpButtonText=\ub3c4\uc6c0\ub9d0 -FileChooser.pathLabelText=\uacbd\ub85c \ub610\ub294 \ud3f4\ub354 \uc774\ub984\uc744 \uc785\ub825\ud558\uc2ed\uc2dc\uc624: -FileChooser.filterLabelText=\ud544\ud130 -FileChooser.foldersLabelText=\ud3f4\ub354 -FileChooser.filesLabelText=\ud30c\uc77c -FileChooser.enterFileNameLabelText=\ud30c\uc77c \uc774\ub984\uc744 \uc785\ub825\ud558\uc2ed\uc2dc\uc624: -FileChooser.enterFolderNameLabelText=Enter folder name: +FileChooser.cancelButtonText=\uCDE8\uC18C +FileChooser.saveButtonText=\uC800\uC7A5 +FileChooser.openButtonText=\uD655\uC778 +FileChooser.saveDialogTitleText=\uC800\uC7A5 +FileChooser.openDialogTitleText=\uC5F4\uAE30 +FileChooser.updateButtonText=\uAC31\uC2E0 +FileChooser.helpButtonText=\uB3C4\uC6C0\uB9D0 +FileChooser.pathLabelText=\uACBD\uB85C \uB610\uB294 \uD3F4\uB354 \uC774\uB984 \uC785\uB825: +FileChooser.filterLabelText=\uD544\uD130 +FileChooser.foldersLabelText=\uD3F4\uB354 +FileChooser.filesLabelText=\uD30C\uC77C +FileChooser.enterFileNameLabelText=\uD30C\uC77C \uC774\uB984 \uC785\uB825: +FileChooser.enterFolderNameLabelText=\uD3F4\uB354 \uC774\uB984 \uC785\uB825: -FileChooser.cancelButtonToolTipText=\ud30c\uc77c \uc120\ud0dd \ub300\ud654\uc0c1\uc790\ub97c \uc911\uc9c0\ud569\ub2c8\ub2e4. -FileChooser.saveButtonToolTipText=\uc120\ud0dd\ub41c \ud30c\uc77c\uc744 \uc800\uc7a5\ud569\ub2c8\ub2e4. -FileChooser.openButtonToolTipText=\uc120\ud0dd\ub41c \ud30c\uc77c\uc744 \uc5fd\ub2c8\ub2e4. -FileChooser.updateButtonToolTipText=\ub514\ub809\ud1a0\ub9ac \ubaa9\ub85d\uc744 \uc5c5\ub370\uc774\ud2b8\ud569\ub2c8\ub2e4. -FileChooser.helpButtonToolTipText=FileChooser \ub3c4\uc6c0\ub9d0. +FileChooser.cancelButtonToolTipText=\uD30C\uC77C \uC120\uD0DD\uAE30 \uB300\uD654\uC0C1\uC790\uB97C \uC911\uB2E8\uD569\uB2C8\uB2E4. +FileChooser.saveButtonToolTipText=\uC120\uD0DD\uB41C \uD30C\uC77C\uC744 \uC800\uC7A5\uD569\uB2C8\uB2E4. +FileChooser.openButtonToolTipText=\uC120\uD0DD\uB41C \uD30C\uC77C\uC744 \uC5FD\uB2C8\uB2E4. +FileChooser.updateButtonToolTipText=\uB514\uB809\uD1A0\uB9AC \uBAA9\uB85D\uC744 \uAC31\uC2E0\uD569\uB2C8\uB2E4. +FileChooser.helpButtonToolTipText=FileChooser \uB3C4\uC6C0\uB9D0\uC785\uB2C8\uB2E4. diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_pt_BR.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_pt_BR.properties index fd5a50264f3..63b5d9d0c2f 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_pt_BR.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_pt_BR.properties @@ -26,14 +26,15 @@ FileChooser.saveDialogTitleText=Salvar FileChooser.openDialogTitleText=Abrir FileChooser.updateButtonText=Atualizar FileChooser.helpButtonText=Ajuda -FileChooser.pathLabelText=Inserir caminho ou nome da pasta: +FileChooser.pathLabelText=Informar caminho ou nome da pasta: FileChooser.filterLabelText=Filtro FileChooser.foldersLabelText=Pastas FileChooser.filesLabelText=Arquivos -FileChooser.enterFileNameLabelText=Inserir nome de arquivo: +FileChooser.enterFileNameLabelText=Informar nome do arquivo: +FileChooser.enterFolderNameLabelText=Informar nome da pasta: -FileChooser.cancelButtonToolTipText=Anular caixa de di\u00e1logo do seletor de arquivos. +FileChooser.cancelButtonToolTipText=Abortar caixa de di\u00E1logo do seletor de arquivos. FileChooser.saveButtonToolTipText=Salvar arquivo selecionado. FileChooser.openButtonToolTipText=Abrir arquivo selecionado. -FileChooser.updateButtonToolTipText=Atualizar lista de diret\u00f3rios. +FileChooser.updateButtonToolTipText=Atualizar lista de diret\u00F3rios. FileChooser.helpButtonToolTipText=Ajuda do FileChooser. diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_sv.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_sv.properties index dcf5ec59741..67a6c078768 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_sv.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_sv.properties @@ -23,18 +23,18 @@ FileChooser.cancelButtonText=Avbryt FileChooser.saveButtonText=Spara FileChooser.openButtonText=OK FileChooser.saveDialogTitleText=Spara -FileChooser.openDialogTitleText=\u00d6ppna +FileChooser.openDialogTitleText=\u00D6ppna FileChooser.updateButtonText=Uppdatera -FileChooser.helpButtonText=Hj\u00e4lp -FileChooser.pathLabelText=Ange s\u00f6kv\u00e4g eller mappnamn: +FileChooser.helpButtonText=Hj\u00E4lp +FileChooser.pathLabelText=Ange s\u00F6kv\u00E4g eller mappnamn: FileChooser.filterLabelText=Filter FileChooser.foldersLabelText=Mappar FileChooser.filesLabelText=Filer FileChooser.enterFileNameLabelText=Ange filnamn: -FileChooser.enterFolderNameLabelText=Enter folder name: +FileChooser.enterFolderNameLabelText=Ange ett mappnamn: -FileChooser.cancelButtonToolTipText=Avbryt \u00d6ppna fil. -FileChooser.saveButtonToolTipText=Spara markerad fil. -FileChooser.openButtonToolTipText=\u00d6ppna markerad fil. +FileChooser.cancelButtonToolTipText=Avbryt dialogrutan Filv\u00E4ljare. +FileChooser.saveButtonToolTipText=Spara vald fil. +FileChooser.openButtonToolTipText=\u00D6ppna vald fil. FileChooser.updateButtonToolTipText=Uppdatera kataloglistan. -FileChooser.helpButtonToolTipText=Hj\u00e4lp - Filv\u00e4ljare. +FileChooser.helpButtonToolTipText=Hj\u00E4lp - Filv\u00E4ljare. diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_zh_CN.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_zh_CN.properties index 9f1fdb8e929..a1576618dca 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_zh_CN.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_zh_CN.properties @@ -19,22 +19,22 @@ ############ FILE CHOOSER STRINGS ############# FileChooser.acceptAllFileFilterText=* -FileChooser.cancelButtonText=\u53d6\u6d88 -FileChooser.saveButtonText=\u4fdd\u5b58 -FileChooser.openButtonText=\u786e\u5b9a -FileChooser.saveDialogTitleText=\u4fdd\u5b58 -FileChooser.openDialogTitleText=\u6253\u5f00 -FileChooser.updateButtonText=\u66f4\u65b0 -FileChooser.helpButtonText=\u5e2e\u52a9 -FileChooser.pathLabelText=\u952e\u5165\u8def\u5f84\u6216\u6587\u4ef6\u5939\u540d\uff1a -FileChooser.filterLabelText=\u8fc7\u6ee4\u5668 -FileChooser.foldersLabelText=\u6587\u4ef6\u5939 -FileChooser.filesLabelText=\u6587\u4ef6 -FileChooser.enterFileNameLabelText=\u952e\u5165\u6587\u4ef6\u540d\uff1a -FileChooser.enterFolderNameLabelText=Enter folder name: +FileChooser.cancelButtonText=\u53D6\u6D88 +FileChooser.saveButtonText=\u4FDD\u5B58 +FileChooser.openButtonText=\u786E\u5B9A +FileChooser.saveDialogTitleText=\u4FDD\u5B58 +FileChooser.openDialogTitleText=\u6253\u5F00 +FileChooser.updateButtonText=\u66F4\u65B0 +FileChooser.helpButtonText=\u5E2E\u52A9 +FileChooser.pathLabelText=\u952E\u5165\u8DEF\u5F84\u6216\u6587\u4EF6\u5939\u540D: +FileChooser.filterLabelText=\u7B5B\u9009\u5668 +FileChooser.foldersLabelText=\u6587\u4EF6\u5939 +FileChooser.filesLabelText=\u6587\u4EF6 +FileChooser.enterFileNameLabelText=\u952E\u5165\u6587\u4EF6\u540D: +FileChooser.enterFolderNameLabelText=\u8F93\u5165\u6587\u4EF6\u5939\u540D: -FileChooser.cancelButtonToolTipText=\u7ec8\u6b62\u6587\u4ef6\u9009\u62e9\u5668\u5bf9\u8bdd\u6846 -FileChooser.saveButtonToolTipText=\u4fdd\u5b58\u9009\u62e9\u7684\u6587\u4ef6 -FileChooser.openButtonToolTipText=\u6253\u5f00\u9009\u62e9\u7684\u6587\u4ef6 -FileChooser.updateButtonToolTipText=\u66f4\u65b0\u76ee\u5f55\u5217\u8868 -FileChooser.helpButtonToolTipText=\u6587\u4ef6\u9009\u62e9\u5668\u5e2e\u52a9 +FileChooser.cancelButtonToolTipText=\u4E2D\u6B62\u6587\u4EF6\u9009\u62E9\u5668\u5BF9\u8BDD\u6846\u3002 +FileChooser.saveButtonToolTipText=\u4FDD\u5B58\u6240\u9009\u6587\u4EF6\u3002 +FileChooser.openButtonToolTipText=\u6253\u5F00\u6240\u9009\u6587\u4EF6\u3002 +FileChooser.updateButtonToolTipText=\u66F4\u65B0\u76EE\u5F55\u5217\u8868\u3002 +FileChooser.helpButtonToolTipText=FileChooser \u5E2E\u52A9\u3002 diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_zh_TW.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_zh_TW.properties index b42af948713..f2985492b1a 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_zh_TW.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_zh_TW.properties @@ -19,22 +19,22 @@ ############ FILE CHOOSER STRINGS ############# FileChooser.acceptAllFileFilterText=* -FileChooser.cancelButtonText=\u53d6\u6d88 -FileChooser.saveButtonText=\u5132\u5b58 -FileChooser.openButtonText=\u78ba\u5b9a -FileChooser.saveDialogTitleText=\u5132\u5b58 -FileChooser.openDialogTitleText=\u958b\u555f -FileChooser.updateButtonText=\u66f4\u65b0 -FileChooser.helpButtonText=\u8aaa\u660e -FileChooser.pathLabelText=\u8f38\u5165\u8def\u5f91\u6216\u6a94\u6848\u593e\u540d\u7a31\ufe55 -FileChooser.filterLabelText=\u904e\u6ffe\u5668 -FileChooser.foldersLabelText=\u6a94\u6848\u593e -FileChooser.filesLabelText=\u6a94\u6848 -FileChooser.enterFileNameLabelText=\u8f38\u5165\u6a94\u6848\u540d\u7a31\ufe55 -FileChooser.enterFolderNameLabelText=Enter folder name: +FileChooser.cancelButtonText=\u53D6\u6D88 +FileChooser.saveButtonText=\u5132\u5B58 +FileChooser.openButtonText=\u78BA\u5B9A +FileChooser.saveDialogTitleText=\u5132\u5B58 +FileChooser.openDialogTitleText=\u958B\u555F +FileChooser.updateButtonText=\u66F4\u65B0 +FileChooser.helpButtonText=\u8AAA\u660E +FileChooser.pathLabelText=\u8F38\u5165\u8DEF\u5F91\u6216\u8CC7\u6599\u593E\u540D\u7A31: +FileChooser.filterLabelText=\u7BE9\u9078 +FileChooser.foldersLabelText=\u8CC7\u6599\u593E +FileChooser.filesLabelText=\u6A94\u6848 +FileChooser.enterFileNameLabelText=\u8F38\u5165\u6A94\u6848\u540D\u7A31: +FileChooser.enterFolderNameLabelText=\u8F38\u5165\u8CC7\u6599\u593E\u540D\u7A31: -FileChooser.cancelButtonToolTipText=\u4e2d\u65b7\u300c\u6a94\u6848\u9078\u64c7\u5668\u300d\u5c0d\u8a71\u65b9\u584a\u3002 -FileChooser.saveButtonToolTipText=\u5132\u5b58\u9078\u53d6\u7684\u6a94\u6848\u3002 -FileChooser.openButtonToolTipText=\u958b\u555f\u9078\u53d6\u7684\u6a94\u6848\u3002 -FileChooser.updateButtonToolTipText=\u66f4\u65b0\u76ee\u9304\u6e05\u55ae\u3002 -FileChooser.helpButtonToolTipText=\u300c\u6a94\u6848\u9078\u64c7\u5668\u300d\u8aaa\u660e\u3002 +FileChooser.cancelButtonToolTipText=\u4E2D\u6B62\u6A94\u6848\u9078\u64C7\u5668\u5C0D\u8A71\u65B9\u584A\u3002 +FileChooser.saveButtonToolTipText=\u5132\u5B58\u9078\u53D6\u7684\u6A94\u6848\u3002 +FileChooser.openButtonToolTipText=\u958B\u555F\u9078\u53D6\u7684\u6A94\u6848\u3002 +FileChooser.updateButtonToolTipText=\u66F4\u65B0\u76EE\u9304\u6E05\u55AE\u3002 +FileChooser.helpButtonToolTipText=\u300C\u6A94\u6848\u9078\u64C7\u5668\u300D\u8AAA\u660E\u3002 diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_de.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_de.properties index c08a39e5a1c..993b26445f3 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_de.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_de.properties @@ -21,10 +21,10 @@ FileChooser.lookInLabelText=Suchen in: FileChooser.saveInLabelText=Speichern in: FileChooser.fileNameLabelText=Dateiname: -FileChooser.folderNameLabelText=Folder name: +FileChooser.folderNameLabelText=Ordnername: FileChooser.filesOfTypeLabelText=Dateityp: -FileChooser.upFolderToolTipText=Eine Ebene h\u00f6her -FileChooser.upFolderAccessibleName=H\u00f6her +FileChooser.upFolderToolTipText=Eine Ebene h\u00F6her +FileChooser.upFolderAccessibleName=Nach oben FileChooser.homeFolderToolTipText=Home FileChooser.homeFolderAccessibleName=Home FileChooser.newFolderToolTipText=Neuen Ordner erstellen @@ -35,13 +35,13 @@ FileChooser.listViewButtonAccessibleName=Liste FileChooser.listViewActionLabelText=Liste FileChooser.detailsViewButtonToolTipText=Details FileChooser.detailsViewButtonAccessibleName=Details -FileChooser.viewMenuButtonToolTipText = View Menu -FileChooser.viewMenuButtonAccessibleName = View Menu +FileChooser.viewMenuButtonToolTipText = Ansichtsmen\u00FC +FileChooser.viewMenuButtonAccessibleName = Ansichtsmen\u00FC FileChooser.detailsViewActionLabelText=Details FileChooser.refreshActionLabelText=Aktualisieren FileChooser.viewMenuLabelText=Ansicht -FileChooser.fileNameHeaderText=Dateiname -FileChooser.fileSizeHeaderText=Gr\u00f6\u00dfe +FileChooser.fileNameHeaderText=Name +FileChooser.fileSizeHeaderText=Gr\u00F6\u00DFe FileChooser.fileTypeHeaderText=Typ -FileChooser.fileDateHeaderText=Ge\u00e4ndert -FileChooser.fileAttrHeaderText=Attribut +FileChooser.fileDateHeaderText=Ge\u00E4ndert +FileChooser.fileAttrHeaderText=Attribute diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_es.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_es.properties index 1e413749e46..adf964b0013 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_es.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_es.properties @@ -20,28 +20,28 @@ FileChooser.lookInLabelText=Buscar en: FileChooser.saveInLabelText=Guardar en: -FileChooser.fileNameLabelText=Nombre de archivo: -FileChooser.folderNameLabelText=Folder name: -FileChooser.filesOfTypeLabelText=Archivos de tipo: -FileChooser.upFolderToolTipText=Subir un nivel +FileChooser.fileNameLabelText=Nombre de Archivo: +FileChooser.folderNameLabelText=Nombre de la Carpeta: +FileChooser.filesOfTypeLabelText=Archivos de Tipo: +FileChooser.upFolderToolTipText=Subir un Nivel FileChooser.upFolderAccessibleName=Arriba -FileChooser.homeFolderToolTipText=Principal -FileChooser.homeFolderAccessibleName=Principal -FileChooser.newFolderToolTipText=Crear carpeta nueva -FileChooser.newFolderAccessibleName=Carpeta nueva -FileChooser.newFolderActionLabelText=Carpeta nueva +FileChooser.homeFolderToolTipText=Inicio +FileChooser.homeFolderAccessibleName=Inicio +FileChooser.newFolderToolTipText=Crear Nueva Carpeta +FileChooser.newFolderAccessibleName=Nueva Carpeta +FileChooser.newFolderActionLabelText=Nueva Carpeta FileChooser.listViewButtonToolTipText=Lista FileChooser.listViewButtonAccessibleName=Lista FileChooser.listViewActionLabelText=Lista FileChooser.detailsViewButtonToolTipText=Detalles FileChooser.detailsViewButtonAccessibleName=Detalles -FileChooser.viewMenuButtonToolTipText = View Menu -FileChooser.viewMenuButtonAccessibleName = View Menu +FileChooser.viewMenuButtonToolTipText = Men\u00FA Ver +FileChooser.viewMenuButtonAccessibleName = Men\u00FA Ver FileChooser.detailsViewActionLabelText=Detalles -FileChooser.refreshActionLabelText=Renovar +FileChooser.refreshActionLabelText=Refrescar FileChooser.viewMenuLabelText=Ver FileChooser.fileNameHeaderText=Nombre -FileChooser.fileSizeHeaderText=Tama\u00f1o +FileChooser.fileSizeHeaderText=Tama\u00F1o FileChooser.fileTypeHeaderText=Tipo FileChooser.fileDateHeaderText=Modificado FileChooser.fileAttrHeaderText=Atributos diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_fr.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_fr.properties index 3fdc78cd06e..d4561daaadb 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_fr.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_fr.properties @@ -20,28 +20,28 @@ FileChooser.lookInLabelText=Rechercher dans : FileChooser.saveInLabelText=Enregistrer dans : -FileChooser.fileNameLabelText=Nom de fichier : -FileChooser.folderNameLabelText=Folder name: -FileChooser.filesOfTypeLabelText=Fichiers du type : +FileChooser.fileNameLabelText=Nom du fichier : +FileChooser.folderNameLabelText=Nom du dossier : +FileChooser.filesOfTypeLabelText=Fichiers de type : FileChooser.upFolderToolTipText=Remonte d'un niveau. -FileChooser.upFolderAccessibleName=Vers le haut -FileChooser.homeFolderToolTipText=R\u00e9pertoire d'accueil -FileChooser.homeFolderAccessibleName=Accueil -FileChooser.newFolderToolTipText=Cr\u00e9e un nouveau dossier. +FileChooser.upFolderAccessibleName=Monter +FileChooser.homeFolderToolTipText=R\u00E9pertoire d'origine +FileChooser.homeFolderAccessibleName=R\u00E9pertoire d'origine +FileChooser.newFolderToolTipText=Cr\u00E9e un dossier. FileChooser.newFolderAccessibleName=Nouveau dossier FileChooser.newFolderActionLabelText=Nouveau dossier FileChooser.listViewButtonToolTipText=Liste FileChooser.listViewButtonAccessibleName=Liste FileChooser.listViewActionLabelText=Liste -FileChooser.detailsViewButtonToolTipText=D\u00e9tails -FileChooser.detailsViewButtonAccessibleName=D\u00e9tails -FileChooser.viewMenuButtonToolTipText = View Menu -FileChooser.viewMenuButtonAccessibleName = View Menu -FileChooser.detailsViewActionLabelText=D\u00e9tails +FileChooser.detailsViewButtonToolTipText=D\u00E9tails +FileChooser.detailsViewButtonAccessibleName=D\u00E9tails +FileChooser.viewMenuButtonToolTipText = Menu Affichage +FileChooser.viewMenuButtonAccessibleName = Menu Affichage +FileChooser.detailsViewActionLabelText=D\u00E9tails FileChooser.refreshActionLabelText=Actualiser FileChooser.viewMenuLabelText=Affichage FileChooser.fileNameHeaderText=Nom FileChooser.fileSizeHeaderText=Taille FileChooser.fileTypeHeaderText=Type -FileChooser.fileDateHeaderText=Modifi\u00e9 +FileChooser.fileDateHeaderText=Modifi\u00E9 FileChooser.fileAttrHeaderText=Attributs diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_it.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_it.properties index 40777cc9792..4edf194a173 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_it.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_it.properties @@ -21,22 +21,22 @@ FileChooser.lookInLabelText=Cerca in: FileChooser.saveInLabelText=Salva in: FileChooser.fileNameLabelText=Nome file: -FileChooser.folderNameLabelText=Folder name: +FileChooser.folderNameLabelText=Nome della cartella: FileChooser.filesOfTypeLabelText=Tipo file: FileChooser.upFolderToolTipText=Cartella superiore FileChooser.upFolderAccessibleName=Superiore -FileChooser.homeFolderToolTipText=Principale -FileChooser.homeFolderAccessibleName=Principale +FileChooser.homeFolderToolTipText=Home +FileChooser.homeFolderAccessibleName=Home FileChooser.newFolderToolTipText=Crea nuova cartella FileChooser.newFolderAccessibleName=Nuova cartella FileChooser.newFolderActionLabelText=Nuova cartella -FileChooser.listViewButtonToolTipText=Elenco -FileChooser.listViewButtonAccessibleName=Elenco -FileChooser.listViewActionLabelText=Elenco +FileChooser.listViewButtonToolTipText=Lista +FileChooser.listViewButtonAccessibleName=Lista +FileChooser.listViewActionLabelText=Lista FileChooser.detailsViewButtonToolTipText=Dettagli FileChooser.detailsViewButtonAccessibleName=Dettagli -FileChooser.viewMenuButtonToolTipText = View Menu -FileChooser.viewMenuButtonAccessibleName = View Menu +FileChooser.viewMenuButtonToolTipText = Visualizza menu +FileChooser.viewMenuButtonAccessibleName = Visualizza menu FileChooser.detailsViewActionLabelText=Dettagli FileChooser.refreshActionLabelText=Aggiorna FileChooser.viewMenuLabelText=Visualizza diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ja.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ja.properties index 6613739e4cd..7c6c3053372 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ja.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ja.properties @@ -18,33 +18,30 @@ ############ FILE CHOOSER STRINGS ############# -FileChooser.lookInLabelText=\u53c2\u7167: -FileChooser.saveInLabelText=\u4fdd\u5b58: -FileChooser.fileNameLabelText=\u30d5\u30a1\u30a4\u30eb\u540d: -FileChooser.folderNameLabelText=Folder name: -FileChooser.filesOfTypeLabelText=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7: -FileChooser.upFolderToolTipText=1 \u30ec\u30d9\u30eb\u4e0a\u3078 -FileChooser.upFolderAccessibleName=\u4e0a\u3078 -FileChooser.homeFolderToolTipText=\u30db\u30fc\u30e0 -FileChooser.homeFolderAccessibleName=\u30db\u30fc\u30e0 -FileChooser.newFolderToolTipText=\u30d5\u30a9\u30eb\u30c0\u306e\u65b0\u898f\u4f5c\u6210 -FileChooser.newFolderAccessibleName=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0 -FileChooser.newFolderActionLabelText=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0 -FileChooser.listViewButtonToolTipText=\u30ea\u30b9\u30c8 -FileChooser.listViewButtonAccessibleName=\u30ea\u30b9\u30c8 -FileChooser.listViewActionLabelText=\u30ea\u30b9\u30c8 -FileChooser.detailsViewButtonToolTipText=\u8a73\u7d30 -FileChooser.detailsViewButtonAccessibleName=\u8a73\u7d30 -FileChooser.viewMenuButtonToolTipText = View Menu -FileChooser.viewMenuButtonAccessibleName = View Menu -FileChooser.detailsViewActionLabelText=\u8a73\u7d30 -FileChooser.refreshActionLabelText=\u66f4\u65b0 -FileChooser.viewMenuLabelText=\u8868\u793a -FileChooser.fileNameHeaderText=\u540d\u524d -FileChooser.fileSizeHeaderText=\u30b5\u30a4\u30ba -FileChooser.fileTypeHeaderText=\u30bf\u30a4\u30d7 -FileChooser.fileDateHeaderText=\u66f4\u65b0\u65e5 -FileChooser.fileAttrHeaderText=\u5c5e\u6027 -FileChooser.directoryOpenButtonText=\u958b\u304f(O) -FileChooser.openButtonText=\u958b\u304f(O) -FileChooser.saveButtonText=\u4fdd\u5b58(S) +FileChooser.lookInLabelText=\u53C2\u7167: +FileChooser.saveInLabelText=\u4FDD\u5B58: +FileChooser.fileNameLabelText=\u30D5\u30A1\u30A4\u30EB\u540D: +FileChooser.folderNameLabelText=\u30D5\u30A9\u30EB\u30C0\u540D: +FileChooser.filesOfTypeLabelText=\u30D5\u30A1\u30A4\u30EB\u306E\u30BF\u30A4\u30D7: +FileChooser.upFolderToolTipText=1\u30EC\u30D9\u30EB\u4E0A\u3078 +FileChooser.upFolderAccessibleName=\u4E0A\u3078 +FileChooser.homeFolderToolTipText=\u30DB\u30FC\u30E0 +FileChooser.homeFolderAccessibleName=\u30DB\u30FC\u30E0 +FileChooser.newFolderToolTipText=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0\u306E\u4F5C\u6210 +FileChooser.newFolderAccessibleName=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0 +FileChooser.newFolderActionLabelText=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0 +FileChooser.listViewButtonToolTipText=\u30EA\u30B9\u30C8 +FileChooser.listViewButtonAccessibleName=\u30EA\u30B9\u30C8 +FileChooser.listViewActionLabelText=\u30EA\u30B9\u30C8 +FileChooser.detailsViewButtonToolTipText=\u8A73\u7D30 +FileChooser.detailsViewButtonAccessibleName=\u8A73\u7D30 +FileChooser.viewMenuButtonToolTipText = \u8868\u793A\u30E1\u30CB\u30E5\u30FC +FileChooser.viewMenuButtonAccessibleName = \u8868\u793A\u30E1\u30CB\u30E5\u30FC +FileChooser.detailsViewActionLabelText=\u8A73\u7D30 +FileChooser.refreshActionLabelText=\u30EA\u30D5\u30EC\u30C3\u30B7\u30E5 +FileChooser.viewMenuLabelText=\u8868\u793A +FileChooser.fileNameHeaderText=\u540D\u524D +FileChooser.fileSizeHeaderText=\u30B5\u30A4\u30BA +FileChooser.fileTypeHeaderText=\u30BF\u30A4\u30D7 +FileChooser.fileDateHeaderText=\u4FEE\u6B63\u65E5 +FileChooser.fileAttrHeaderText=\u5C5E\u6027 diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ko.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ko.properties index b53c21aaff1..53dedb4d672 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ko.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ko.properties @@ -18,33 +18,30 @@ ############ FILE CHOOSER STRINGS ############# -FileChooser.lookInLabelText=\uac80\uc0c9 \uc704\uce58: -FileChooser.saveInLabelText=\uc800\uc7a5 \uc704\uce58: -FileChooser.fileNameLabelText=\ud30c\uc77c \uc774\ub984: -FileChooser.folderNameLabelText=Folder name: -FileChooser.filesOfTypeLabelText=\ud30c\uc77c \uc885\ub958: -FileChooser.upFolderToolTipText=\ud55c \ub2e8\uacc4 \uc704\ub85c -FileChooser.upFolderAccessibleName=\uc704 -FileChooser.homeFolderToolTipText=\ud648 -FileChooser.homeFolderAccessibleName=\ud648 -FileChooser.newFolderToolTipText=\uc0c8 \ud3f4\ub354 \uc791\uc131 -FileChooser.newFolderAccessibleName=\uc0c8 \ud3f4\ub354 -FileChooser.newFolderActionLabelText=\uc0c8 \ud3f4\ub354 -FileChooser.listViewButtonToolTipText=\ubaa9\ub85d -FileChooser.listViewButtonAccessibleName=\ubaa9\ub85d -FileChooser.listViewActionLabelText=\ubaa9\ub85d -FileChooser.detailsViewButtonToolTipText=\uc790\uc138\ud788 -FileChooser.detailsViewButtonAccessibleName=\uc790\uc138\ud788 -FileChooser.viewMenuButtonToolTipText = View Menu -FileChooser.viewMenuButtonAccessibleName = View Menu -FileChooser.detailsViewActionLabelText=\uc790\uc138\ud788 -FileChooser.refreshActionLabelText=\uac31\uc2e0 -FileChooser.viewMenuLabelText=\ubcf4\uae30 -FileChooser.fileNameHeaderText=\uc774\ub984 -FileChooser.fileSizeHeaderText=\ud06c\uae30 -FileChooser.fileTypeHeaderText=\uc885\ub958 -FileChooser.fileDateHeaderText=\uc218\uc815 -FileChooser.fileAttrHeaderText=\uc18d\uc131 -FileChooser.directoryOpenButtonText=\uc5f4\uae30(O) -FileChooser.openButtonText=\uc5f4\uae30(O) -FileChooser.saveButtonText=\uc800\uc7a5(S) +FileChooser.lookInLabelText=\uAC80\uC0C9 \uC704\uCE58: +FileChooser.saveInLabelText=\uC800\uC7A5 \uC704\uCE58: +FileChooser.fileNameLabelText=\uD30C\uC77C \uC774\uB984: +FileChooser.folderNameLabelText=\uD3F4\uB354 \uC774\uB984: +FileChooser.filesOfTypeLabelText=\uD30C\uC77C \uC720\uD615: +FileChooser.upFolderToolTipText=\uD55C \uB808\uBCA8 \uC704\uB85C +FileChooser.upFolderAccessibleName=\uC704\uB85C +FileChooser.homeFolderToolTipText=\uD648 +FileChooser.homeFolderAccessibleName=\uD648 +FileChooser.newFolderToolTipText=\uC0C8 \uD3F4\uB354 \uC0DD\uC131 +FileChooser.newFolderAccessibleName=\uC0C8 \uD3F4\uB354 +FileChooser.newFolderActionLabelText=\uC0C8 \uD3F4\uB354 +FileChooser.listViewButtonToolTipText=\uBAA9\uB85D +FileChooser.listViewButtonAccessibleName=\uBAA9\uB85D +FileChooser.listViewActionLabelText=\uBAA9\uB85D +FileChooser.detailsViewButtonToolTipText=\uC138\uBD80 \uC815\uBCF4 +FileChooser.detailsViewButtonAccessibleName=\uC138\uBD80 \uC815\uBCF4 +FileChooser.viewMenuButtonToolTipText = \uBCF4\uAE30 \uBA54\uB274 +FileChooser.viewMenuButtonAccessibleName = \uBCF4\uAE30 \uBA54\uB274 +FileChooser.detailsViewActionLabelText=\uC138\uBD80 \uC815\uBCF4 +FileChooser.refreshActionLabelText=\uC0C8\uB85C \uACE0\uCE68 +FileChooser.viewMenuLabelText=\uBCF4\uAE30 +FileChooser.fileNameHeaderText=\uC774\uB984 +FileChooser.fileSizeHeaderText=\uD06C\uAE30 +FileChooser.fileTypeHeaderText=\uC720\uD615 +FileChooser.fileDateHeaderText=\uC218\uC815 \uB0A0\uC9DC +FileChooser.fileAttrHeaderText=\uC18D\uC131 diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_pt_BR.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_pt_BR.properties index b7c7e14edec..526a0f9e5f1 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_pt_BR.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_pt_BR.properties @@ -20,20 +20,23 @@ FileChooser.lookInLabelText=Consultar em: FileChooser.saveInLabelText=Salvar em: -FileChooser.fileNameLabelText=Nome de arquivo: -FileChooser.filesOfTypeLabelText=Arquivos de tipo: -FileChooser.upFolderToolTipText=Um n\u00edvel acima +FileChooser.fileNameLabelText=Nome do arquivo: +FileChooser.folderNameLabelText=Nome da pasta: +FileChooser.filesOfTypeLabelText=Arquivos do tipo: +FileChooser.upFolderToolTipText=Um N\u00EDvel Acima FileChooser.upFolderAccessibleName=Acima -FileChooser.homeFolderToolTipText=In\u00edcio -FileChooser.homeFolderAccessibleName=In\u00edcio -FileChooser.newFolderToolTipText=Criar nova pasta -FileChooser.newFolderAccessibleName=Nova pasta -FileChooser.newFolderActionLabelText=Nova pasta +FileChooser.homeFolderToolTipText=In\u00EDcio +FileChooser.homeFolderAccessibleName=In\u00EDcio +FileChooser.newFolderToolTipText=Criar Nova Pasta +FileChooser.newFolderAccessibleName=Nova Pasta +FileChooser.newFolderActionLabelText=Nova Pasta FileChooser.listViewButtonToolTipText=Lista FileChooser.listViewButtonAccessibleName=Lista FileChooser.listViewActionLabelText=Lista FileChooser.detailsViewButtonToolTipText=Detalhes FileChooser.detailsViewButtonAccessibleName=Detalhes +FileChooser.viewMenuButtonToolTipText = Exibir Menu +FileChooser.viewMenuButtonAccessibleName = Exibir Menu FileChooser.detailsViewActionLabelText=Detalhes FileChooser.refreshActionLabelText=Atualizar FileChooser.viewMenuLabelText=Exibir diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_sv.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_sv.properties index 632e54e204a..fc8358df46d 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_sv.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_sv.properties @@ -21,9 +21,9 @@ FileChooser.lookInLabelText=Leta i: FileChooser.saveInLabelText=Spara i: FileChooser.fileNameLabelText=Filnamn: -FileChooser.folderNameLabelText=Folder name: +FileChooser.folderNameLabelText=Mapp: FileChooser.filesOfTypeLabelText=Filformat: -FileChooser.upFolderToolTipText=Upp en niv\u00e5 +FileChooser.upFolderToolTipText=Upp en niv\u00E5 FileChooser.upFolderAccessibleName=Upp FileChooser.homeFolderToolTipText=Hem FileChooser.homeFolderAccessibleName=Hem @@ -33,15 +33,15 @@ FileChooser.newFolderActionLabelText=Ny mapp FileChooser.listViewButtonToolTipText=Lista FileChooser.listViewButtonAccessibleName=Lista FileChooser.listViewActionLabelText=Lista -FileChooser.detailsViewButtonToolTipText=Detaljerad lista -FileChooser.detailsViewButtonAccessibleName=Detaljerad lista -FileChooser.viewMenuButtonToolTipText = View Menu -FileChooser.viewMenuButtonAccessibleName = View Menu -FileChooser.detailsViewActionLabelText=Detaljerad lista -FileChooser.refreshActionLabelText=Uppdatera +FileChooser.detailsViewButtonToolTipText=Detaljer +FileChooser.detailsViewButtonAccessibleName=Detaljer +FileChooser.viewMenuButtonToolTipText = Menyn Visa +FileChooser.viewMenuButtonAccessibleName = Menyn Visa +FileChooser.detailsViewActionLabelText=Detaljer +FileChooser.refreshActionLabelText=F\u00F6rnya FileChooser.viewMenuLabelText=Vy FileChooser.fileNameHeaderText=Namn FileChooser.fileSizeHeaderText=Storlek FileChooser.fileTypeHeaderText=Typ -FileChooser.fileDateHeaderText=\u00c4ndrad +FileChooser.fileDateHeaderText=\u00C4ndrad FileChooser.fileAttrHeaderText=Attribut diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_CN.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_CN.properties index b9d2a7ea9c8..ae6fe8033cb 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_CN.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_CN.properties @@ -18,33 +18,30 @@ ############ FILE CHOOSER STRINGS ############# -FileChooser.lookInLabelText=\u67e5\u770b\uff1a -FileChooser.saveInLabelText=\u4fdd\u5b58\uff1a -FileChooser.fileNameLabelText=\u6587\u4ef6\u540d\uff1a -FileChooser.folderNameLabelText=Folder name: -FileChooser.filesOfTypeLabelText=\u6587\u4ef6\u7c7b\u578b\uff1a -FileChooser.upFolderToolTipText=\u5411\u4e0a\u4e00\u5c42 -FileChooser.upFolderAccessibleName=\u5411\u4e0a -FileChooser.homeFolderToolTipText=\u8d77\u59cb\u76ee\u5f55 -FileChooser.homeFolderAccessibleName=\u8d77\u59cb\u76ee\u5f55 -FileChooser.newFolderToolTipText=\u521b\u5efa\u65b0\u7684\u6587\u4ef6\u5939 -FileChooser.newFolderAccessibleName=\u65b0\u5efa\u6587\u4ef6\u5939 -FileChooser.newFolderActionLabelText=\u65b0\u5efa\u6587\u4ef6\u5939 +FileChooser.lookInLabelText=\u67E5\u770B: +FileChooser.saveInLabelText=\u4FDD\u5B58: +FileChooser.fileNameLabelText=\u6587\u4EF6\u540D: +FileChooser.folderNameLabelText=\u6587\u4EF6\u5939\u540D: +FileChooser.filesOfTypeLabelText=\u6587\u4EF6\u7C7B\u578B: +FileChooser.upFolderToolTipText=\u5411\u4E0A\u4E00\u7EA7 +FileChooser.upFolderAccessibleName=\u5411\u4E0A +FileChooser.homeFolderToolTipText=\u4E3B\u76EE\u5F55 +FileChooser.homeFolderAccessibleName=\u4E3B\u76EE\u5F55 +FileChooser.newFolderToolTipText=\u521B\u5EFA\u65B0\u6587\u4EF6\u5939 +FileChooser.newFolderAccessibleName=\u65B0\u5EFA\u6587\u4EF6\u5939 +FileChooser.newFolderActionLabelText=\u65B0\u5EFA\u6587\u4EF6\u5939 FileChooser.listViewButtonToolTipText=\u5217\u8868 FileChooser.listViewButtonAccessibleName=\u5217\u8868 FileChooser.listViewActionLabelText=\u5217\u8868 -FileChooser.detailsViewButtonToolTipText=\u8be6\u7ec6\u4fe1\u606f -FileChooser.detailsViewButtonAccessibleName=\u8be6\u7ec6\u4fe1\u606f -FileChooser.viewMenuButtonToolTipText = View Menu -FileChooser.viewMenuButtonAccessibleName = View Menu -FileChooser.detailsViewActionLabelText=\u8be6\u7ec6\u4fe1\u606f -FileChooser.refreshActionLabelText=\u5237\u65b0 -FileChooser.viewMenuLabelText=\u89c6\u56fe -FileChooser.fileNameHeaderText=\u540d\u79f0 -FileChooser.fileSizeHeaderText=\u5927\u5c0f -FileChooser.fileTypeHeaderText=\u7c7b\u578b -FileChooser.fileDateHeaderText=\u4fee\u8ba2\u7248 -FileChooser.fileAttrHeaderText=\u5c5e\u6027 -FileChooser.directoryOpenButtonText=\u6253\u5f00(O) -FileChooser.openButtonText=\u6253\u5f00(O) -FileChooser.saveButtonText=\u4fdd\u5b58(S) +FileChooser.detailsViewButtonToolTipText=\u8BE6\u7EC6\u8D44\u6599 +FileChooser.detailsViewButtonAccessibleName=\u8BE6\u7EC6\u8D44\u6599 +FileChooser.viewMenuButtonToolTipText = \u67E5\u770B\u83DC\u5355 +FileChooser.viewMenuButtonAccessibleName = \u67E5\u770B\u83DC\u5355 +FileChooser.detailsViewActionLabelText=\u8BE6\u7EC6\u8D44\u6599 +FileChooser.refreshActionLabelText=\u5237\u65B0 +FileChooser.viewMenuLabelText=\u89C6\u56FE +FileChooser.fileNameHeaderText=\u540D\u79F0 +FileChooser.fileSizeHeaderText=\u5927\u5C0F +FileChooser.fileTypeHeaderText=\u7C7B\u578B +FileChooser.fileDateHeaderText=\u4FEE\u6539\u65E5\u671F +FileChooser.fileAttrHeaderText=\u5C5E\u6027 diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_TW.properties b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_TW.properties index 03cbc52dd48..fe18bdc2fa2 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_TW.properties +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_TW.properties @@ -18,33 +18,30 @@ ############ FILE CHOOSER STRINGS ############# -FileChooser.lookInLabelText=\u67e5\u770b\ufe55 -FileChooser.saveInLabelText=\u5132\u5b58\u65bc\uff1a -FileChooser.fileNameLabelText=\u6a94\u6848\u540d\u7a31\ufe55 -FileChooser.folderNameLabelText=Folder name: -FileChooser.filesOfTypeLabelText=\u6a94\u6848\u985e\u578b\ufe55 -FileChooser.upFolderToolTipText=\u5f80\u4e0a\u4e00\u5c64 -FileChooser.upFolderAccessibleName=\u5f80\u4e0a -FileChooser.homeFolderToolTipText=\u56de\u4e3b\u76ee\u9304 -FileChooser.homeFolderAccessibleName=\u4e3b\u76ee\u9304 -FileChooser.newFolderToolTipText=\u5efa\u7acb\u65b0\u8cc7\u6599\u593e -FileChooser.newFolderAccessibleName=\u65b0\u8cc7\u6599\u593e -FileChooser.newFolderActionLabelText=\u65b0\u8cc7\u6599\u593e -FileChooser.listViewButtonToolTipText=\u6a94\u6848\u6e05\u55ae -FileChooser.listViewButtonAccessibleName=\u6e05\u55ae -FileChooser.listViewActionLabelText=\u6e05\u55ae -FileChooser.detailsViewButtonToolTipText=\u8a73\u7d30\u8cc7\u8a0a -FileChooser.detailsViewButtonAccessibleName=\u8a73\u7d30\u8cc7\u8a0a -FileChooser.viewMenuButtonToolTipText = View Menu -FileChooser.viewMenuButtonAccessibleName = View Menu -FileChooser.detailsViewActionLabelText=\u8a73\u7d30\u8cc7\u8a0a -FileChooser.refreshActionLabelText=\u66f4\u65b0 -FileChooser.viewMenuLabelText=\u6aa2\u8996 -FileChooser.fileNameHeaderText=\u540d\u7a31 -FileChooser.fileSizeHeaderText=\u5927\u5c0f -FileChooser.fileTypeHeaderText=\u985e\u578b -FileChooser.fileDateHeaderText=\u4fee\u6539 -FileChooser.fileAttrHeaderText=\u5c6c\u6027 -FileChooser.directoryOpenButtonText=\u958b\u555f(O) -FileChooser.openButtonText=\u958b\u555f(O) -FileChooser.saveButtonText=\u5132\u5b58(S) +FileChooser.lookInLabelText=\u67E5\u8A62: +FileChooser.saveInLabelText=\u5132\u5B58\u65BC: +FileChooser.fileNameLabelText=\u6A94\u6848\u540D\u7A31: +FileChooser.folderNameLabelText=\u8CC7\u6599\u593E\u540D\u7A31: +FileChooser.filesOfTypeLabelText=\u6A94\u6848\u985E\u578B: +FileChooser.upFolderToolTipText=\u5F80\u4E0A\u4E00\u5C64 +FileChooser.upFolderAccessibleName=\u5F80\u4E0A +FileChooser.homeFolderToolTipText=\u4E3B\u76EE\u9304 +FileChooser.homeFolderAccessibleName=\u4E3B\u76EE\u9304 +FileChooser.newFolderToolTipText=\u5EFA\u7ACB\u65B0\u8CC7\u6599\u593E +FileChooser.newFolderAccessibleName=\u65B0\u8CC7\u6599\u593E +FileChooser.newFolderActionLabelText=\u65B0\u8CC7\u6599\u593E +FileChooser.listViewButtonToolTipText=\u6E05\u55AE +FileChooser.listViewButtonAccessibleName=\u6E05\u55AE +FileChooser.listViewActionLabelText=\u6E05\u55AE +FileChooser.detailsViewButtonToolTipText=\u8A73\u7D30\u8CC7\u8A0A +FileChooser.detailsViewButtonAccessibleName=\u8A73\u7D30\u8CC7\u8A0A +FileChooser.viewMenuButtonToolTipText = \u6AA2\u8996\u529F\u80FD\u8868 +FileChooser.viewMenuButtonAccessibleName = \u6AA2\u8996\u529F\u80FD\u8868 +FileChooser.detailsViewActionLabelText=\u8A73\u7D30\u8CC7\u8A0A +FileChooser.refreshActionLabelText=\u91CD\u65B0\u6574\u7406 +FileChooser.viewMenuLabelText=\u6AA2\u8996 +FileChooser.fileNameHeaderText=\u540D\u7A31 +FileChooser.fileSizeHeaderText=\u5927\u5C0F +FileChooser.fileTypeHeaderText=\u985E\u578B +FileChooser.fileDateHeaderText=\u4FEE\u6539\u65E5\u671F +FileChooser.fileAttrHeaderText=\u5C6C\u6027 diff --git a/jdk/src/share/classes/com/sun/jndi/ldap/Connection.java b/jdk/src/share/classes/com/sun/jndi/ldap/Connection.java index dec38eb752d..94067617ae1 100644 --- a/jdk/src/share/classes/com/sun/jndi/ldap/Connection.java +++ b/jdk/src/share/classes/com/sun/jndi/ldap/Connection.java @@ -656,14 +656,17 @@ public final class Connection implements Runnable { } nparent = notifyParent; } - } - if (nparent) { - LdapRequest ldr = pendingRequests; - while (ldr != null) { - ldr.notify(); - ldr = ldr.next; + if (nparent) { + LdapRequest ldr = pendingRequests; + while (ldr != null) { + + synchronized (ldr) { + ldr.notify(); + ldr = ldr.next; + } + } + parent.processConnectionClosure(); } - parent.processConnectionClosure(); } } diff --git a/jdk/src/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java b/jdk/src/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java index bd3dc18fc24..7ecd4d75aea 100644 --- a/jdk/src/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java +++ b/jdk/src/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java @@ -143,7 +143,7 @@ public class Continuation extends ResolveResult { e.setRemainingName(remainingName); e.setResolvedObj(resolvedObj); - if (starter == null) + if (starter == null || starter.isEmpty()) e.setResolvedName(null); else if (remainingName == null) e.setResolvedName(starter); diff --git a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties index ccf8de47aad..41e23d770e9 100644 --- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties +++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties @@ -24,145 +24,147 @@ # # CacheRowSetImpl exceptions -cachedrowsetimpl.populate = Ung\u00fcltiges Objekt ResultSet zum Auff\u00fcllen der Methode -cachedrowsetimpl.invalidp = Ung\u00fcltiger Best\u00e4ndigkeits-Provider generiert -cachedrowsetimpl.nullhash = Instanz CachedRowSetImpl konnte nicht instanziiert werden. Hash-Tabelle mit Nullwert f\u00fcr Konstruktor angegeben -cachedrowsetimpl.invalidop = Ung\u00fcltiger Vorgang beim Zeileneinf\u00fcgen -cachedrowsetimpl.accfailed = acceptChanges fehlgeschlagen -cachedrowsetimpl.invalidcp = Ung\u00fcltige Cursorposition -cachedrowsetimpl.illegalop = Ung\u00fcltiger Vorgang bei nicht eingef\u00fcgter Zeile -cachedrowsetimpl.clonefail = Fehler bei Klon: {0} -cachedrowsetimpl.invalidcol = Ung\u00fcltiger Spaltenindex -cachedrowsetimpl.invalcolnm = Ung\u00fcltiger Spaltenname -cachedrowsetimpl.boolfail = getBoolen bei Wert ( {0} ) in Spalte {1} fehlgeschlagen -cachedrowsetimpl.bytefail = getByte bei Wert ( {0} ) in Spalte {1} fehlgeschlagen -cachedrowsetimpl.shortfail = getShort bei Wert ( {0} ) in Spalte {1} fehlgeschlagen -cachedrowsetimpl.intfail = getInt bei Wert ( {0} ) in Spalte {1} fehlgeschlagen -cachedrowsetimpl.longfail = getLong bei Wert ( {0} ) in Spalte {1} fehlgeschlagen -cachedrowsetimpl.floatfail = getFloat bei Wert ( {0} ) in Spalte {1} fehlgeschlagen -cachedrowsetimpl.doublefail = getDouble bei Wert ( {0} ) in Spalte {1} fehlgeschlagen -cachedrowsetimpl.dtypemismt = Keine Datentyp\u00fcbereinstimmung -cachedrowsetimpl.datefail = getDate bei Wert ( {0} ) in Spalte {1} fehlgeschlagen; keine Konvertierung m\u00f6glich -cachedrowsetimpl.timefail = getTime bei Wert ( {0} ) in Spalte {1} fehlgeschlagen; keine Konvertierung m\u00f6glich -cachedrowsetimpl.posupdate = Positionierte Aktualisierungen werden nicht unterst\u00fctzt -cachedrowsetimpl.unableins = Keine Instanziierung m\u00f6glich: {0} -cachedrowsetimpl.beforefirst = beforeFirst : Ung\u00fcltiger Cursorvorgang -cachedrowsetimpl.first = First : Ung\u00fcltiger Cursorvorgang -cachedrowsetimpl.last = last : TYPE_FORWARD_ONLY -cachedrowsetimpl.absolute = absolute: Ung\u00fcltige Cursorposition -cachedrowsetimpl.relative = relative: Ung\u00fcltige Cursorposition -cachedrowsetimpl.asciistream = Lesen von ASCII-Strom fehlgeschlagen -cachedrowsetimpl.binstream = Lesen von Bin\u00e4rstrom fehlgeschlagen -cachedrowsetimpl.failedins = Fehler beim Zeileneinf\u00fcgen -cachedrowsetimpl.updateins = Aufrufen von updateRow beim Zeileneinf\u00fcgen +cachedrowsetimpl.populate = Ung\u00FCltiges ResultSet-Objekt zum Auff\u00FCllen der Methode angegeben +cachedrowsetimpl.invalidp = Ung\u00FCltiger Persistence-Provider generiert +cachedrowsetimpl.nullhash = CachedRowSetImpl-Instanz kann nicht instanziiert werden. Null-Hash-Tabelle f\u00FCr Constructor angegeben +cachedrowsetimpl.invalidop = Ung\u00FCltiger Vorgang beim Zeileneinf\u00FCgen +cachedrowsetimpl.accfailed = acceptChanges nicht erfolgreich +cachedrowsetimpl.invalidcp = Ung\u00FCltige Cursorposition +cachedrowsetimpl.illegalop = Ung\u00FCltiger Vorgang bei nicht eingef\u00FCgter Zeile +cachedrowsetimpl.clonefail = Clonen nicht erfolgreich: {0} +cachedrowsetimpl.invalidcol = Ung\u00FCltiger Spaltenindex +cachedrowsetimpl.invalcolnm = Ung\u00FCltiger Spaltenname +cachedrowsetimpl.boolfail = getBoolen bei Wert ( {0} ) in Spalte {1} nicht erfolgreich +cachedrowsetimpl.bytefail = getByte bei Wert ( {0} ) in Spalte {1} nicht erfolgreich +cachedrowsetimpl.shortfail = getShort bei Wert ( {0} ) in Spalte {1} nicht erfolgreich +cachedrowsetimpl.intfail = getInt bei Wert ( {0} ) in Spalte {1} nicht erfolgreich +cachedrowsetimpl.longfail = getLong bei Wert ( {0} ) in Spalte {1} nicht erfolgreich +cachedrowsetimpl.floatfail = getFloat bei Wert ( {0} ) in Spalte {1} nicht erfolgreich +cachedrowsetimpl.doublefail = getDouble bei Wert ( {0} ) in Spalte {1} nicht erfolgreich +cachedrowsetimpl.dtypemismt = Keine Datentyp\u00FCbereinstimmung +cachedrowsetimpl.datefail = getDate bei Wert ( {0} ) in Spalte {1} nicht erfolgreich. Keine Konvertierung m\u00F6glich +cachedrowsetimpl.timefail = getTime bei Wert ( {0} ) in Spalte {1} nicht erfolgreich. Keine Konvertierung m\u00F6glich +cachedrowsetimpl.posupdate = Positionierte Updates werden nicht unterst\u00FCtzt +cachedrowsetimpl.unableins = Keine Instanziierung m\u00F6glich: {0} +cachedrowsetimpl.beforefirst = beforeFirst: Ung\u00FCltiger Cursorvorgang +cachedrowsetimpl.first = First: Ung\u00FCltiger Cursorvorgang +cachedrowsetimpl.last = last: TYPE_FORWARD_ONLY +cachedrowsetimpl.absolute = absolute: Ung\u00FCltige Cursorposition +cachedrowsetimpl.relative = relative: Ung\u00FCltige Cursorposition +cachedrowsetimpl.asciistream = Lesen von ASCII-Stream nicht erfolgreich +cachedrowsetimpl.binstream = Lesen von Bin\u00E4r-Stream nicht erfolgreich +cachedrowsetimpl.failedins = Fehler beim Zeileneinf\u00FCgen +cachedrowsetimpl.updateins = updateRow beim Zeileneinf\u00FCgen aufgerufen cachedrowsetimpl.movetoins = moveToInsertRow: CONCUR_READ_ONLY cachedrowsetimpl.movetoins1 = moveToInsertRow: keine Metadaten -cachedrowsetimpl.movetoins2 = moveToInsertRow: ung\u00fcltige Spaltenanzahl -cachedrowsetimpl.tablename = Tabellenname darf nicht Null sein -cachedrowsetimpl.keycols = Ung\u00fcltige Schl\u00fcsselspalten -cachedrowsetimpl.opnotsupp = Datenbank unterst\u00fctzt Vorgang nicht -cachedrowsetimpl.matchcols = \u00dcbereinstimmende Spalten entsprechen nicht den definierten Spalten -cachedrowsetimpl.setmatchcols = \u00dcbereinstimmende Spalten m\u00fcssen vor dem Abrufen definiert werden -cachedrowsetimpl.matchcols1 = Wert f\u00fcr \u00fcbereinstimmende Spalten muss gr\u00f6\u00dfer als 0 sein -cachedrowsetimpl.matchcols2 = \u00dcbereinstimmende Spalten m\u00fcssen leer sein oder eine Nullzeichenfolge aufweisen -cachedrowsetimpl.unsetmatch = Spalten ohne definierten Wert entsprechen nicht Spalten mit definiertem Wert -cachedrowsetimpl.unsetmatch1 = Spaltenname als Argument f\u00fcr unsetMatchColumn verwenden -cachedrowsetimpl.unsetmatch2 = Spalten-ID als Argument f\u00fcr unsetMatchColumn verwenden -cachedrowsetimpl.numrows = Zeilenanzahl ist kleiner als Null oder kleiner als Abrufgr\u00f6\u00dfe +cachedrowsetimpl.movetoins2 = moveToInsertRow: ung\u00FCltige Spaltenanzahl +cachedrowsetimpl.tablename = Tabellenname darf nicht null sein +cachedrowsetimpl.keycols = Ung\u00FCltige Schl\u00FCsselspalten +cachedrowsetimpl.invalidcol = Ung\u00FCltiger Spaltenindex +cachedrowsetimpl.opnotsupp = Vorgang nicht von Datenbank unterst\u00FCtzt +cachedrowsetimpl.matchcols = \u00DCbereinstimmungsspalten entsprechen nicht den festgelegten Spalten +cachedrowsetimpl.setmatchcols = \u00DCbereinstimmungsspalten m\u00FCssen vor dem Abrufen festgelegt werden +cachedrowsetimpl.matchcols1 = Wert f\u00FCr \u00DCbereinstimmungsspalten muss gr\u00F6\u00DFer als 0 sein +cachedrowsetimpl.matchcols2 = \u00DCbereinstimmungsspalten m\u00FCssen leer sein oder eine Nullzeichenfolge aufweisen +cachedrowsetimpl.unsetmatch = Spalten, deren Wert aufgehoben wird, entsprechen nicht den festgelegten Spalten +cachedrowsetimpl.unsetmatch1 = Spaltenname als Argument f\u00FCr unsetMatchColumn verwenden +cachedrowsetimpl.unsetmatch2 = Spalten-ID als Argument f\u00FCr unsetMatchColumn verwenden +cachedrowsetimpl.numrows = Zeilenanzahl ist kleiner als null oder kleiner als Abrufgr\u00F6\u00DFe cachedrowsetimpl.startpos = Startposition darf keinen Negativwert aufweisen -cachedrowsetimpl.nextpage = Daten m\u00fcssen vor dem Abrufen ausgef\u00fcllt werden -cachedrowsetimpl.pagesize = Seitengr\u00f6\u00dfe darf nicht kleiner als Null sein -cachedrowsetimpl.pagesize1 = Seitengr\u00f6\u00dfe darf nicht gr\u00f6\u00dfer als maxRows sein -cachedrowsetimpl.fwdonly = ResultSet kann nur vorw\u00e4rts gerichtet sein -cachedrowsetimpl.type = Typ : {0} -cachedrowsetimpl.opnotysupp = Vorgang noch nicht unterst\u00fctzt -cachedrowsetimpl.featnotsupp = Funktion nicht unterst\u00fctzt +cachedrowsetimpl.nextpage = Daten m\u00FCssen vor dem Aufruf ausgef\u00FCllt werden +cachedrowsetimpl.pagesize = Seitengr\u00F6\u00DFe darf nicht kleiner als null sein +cachedrowsetimpl.pagesize1 = Seitengr\u00F6\u00DFe darf nicht gr\u00F6\u00DFer als maxRows sein +cachedrowsetimpl.fwdonly = ResultSet kann nur vorw\u00E4rts gerichtet sein +cachedrowsetimpl.type = Typ ist: {0} +cachedrowsetimpl.opnotysupp = Vorgang noch nicht unterst\u00FCtzt +cachedrowsetimpl.featnotsupp = Feature nicht unterst\u00FCtzt # WebRowSetImpl exceptions -webrowsetimpl.nullhash = Instanz WebRowSetImpl konnte nicht instanziiert werden. Hash-Tabelle mit Nullwert f\u00fcr Konstruktor angegeben -webrowsetimpl.invalidwr = Ung\u00fcltiger Schreiber -webrowsetimpl.invalidrd = Ung\u00fcltiger Leser +webrowsetimpl.nullhash = WebRowSetImpl-Instanz kann nicht instanziiert werden. Null-Hash-Tabelle f\u00FCr Constructor angegeben +webrowsetimpl.invalidwr = Ung\u00FCltiger Writer +webrowsetimpl.invalidrd = Ung\u00FCltiger Reader #FilteredRowSetImpl exceptions -filteredrowsetimpl.relative = relative: Ung\u00fcltiger Cursorvorgang -filteredrowsetimpl.absolute = absolute: Ung\u00fcltiger Cursorvorgang -filteredrowsetimpl.notallowed = Kein zul\u00e4ssiger Wert im Filter +filteredrowsetimpl.relative = relative: Ung\u00FCltiger Cursorvorgang +filteredrowsetimpl.absolute = absolute: Ung\u00FCltiger Cursorvorgang +filteredrowsetimpl.notallowed = Kein zul\u00E4ssiger Wert im Filter #JoinRowSetImpl exceptions joinrowsetimpl.notinstance = Keine Instanz von rowset -joinrowsetimpl.matchnotset = \u00dcbereinstimmende Spalte wurde nicht f\u00fcr Verkn\u00fcpfung definiert -joinrowsetimpl.numnotequal = Elementanzahl in rowset nicht gleich \u00fcbereinstimmende Spalte -joinrowsetimpl.notdefined = Kein definierter Verkn\u00fcpfungstyp -joinrowsetimpl.notsupported = Verkn\u00fcpfungstyp wird nicht unterst\u00fctzt -joinrowsetimpl.initerror = Initialisierungsfehler bei JoinRowSet +joinrowsetimpl.matchnotset = \u00DCbereinstimmungsspalte wurde nicht f\u00FCr Join festgelegt +joinrowsetimpl.numnotequal = Elementanzahl in rowset nicht gleich \u00DCbereinstimmungsspalte +joinrowsetimpl.notdefined = Kein definierter Join-Typ +joinrowsetimpl.notsupported = Join-Typ wird nicht unterst\u00FCtzt +joinrowsetimpl.initerror = JoinRowSet-Initialisierungsfehler joinrowsetimpl.genericerr = Generischer Anfangsfehler bei joinrowset -joinrowsetimpl.emptyrowset = Leeres rowset kann nicht zu diesem JoinRowSet hinzugef\u00fcgt werden +joinrowsetimpl.emptyrowset = Leeres rowset kann nicht zu diesem JoinRowSet hinzugef\u00FCgt werden #JdbcRowSetImpl exceptions -jdbcrowsetimpl.invalstate = Ung\u00fcltiger Status -jdbcrowsetimpl.connect = JdbcRowSet (verbinden), keine JNDI-Verbindung m\u00f6glich -jdbcrowsetimpl.paramtype = Parametertyp konnte nicht abgeleitet werden -jdbcrowsetimpl.matchcols = \u00dcbereinstimmende Spalten entsprechen nicht den definierten Spalten -jdbcrowsetimpl.setmatchcols = \u00dcbereinstimmende Spalten m\u00fcssen vor dem Abrufen definiert werden -jdbcrowsetimpl.matchcols1 = Wert f\u00fcr \u00fcbereinstimmende Spalten muss gr\u00f6\u00dfer als 0 sein -jdbcrowsetimpl.matchcols2 = \u00dcbereinstimmende Spalten k\u00f6nnen keine Null- oder leere Zeichenfolge aufweisen -jdbcrowsetimpl.unsetmatch = Spalten ohne definierten Wert entsprechen nicht Spalten mit definiertem Wert -jdbcrowsetimpl.usecolname = Spaltenname als Argument f\u00fcr unsetMatchColumn verwenden -jdbcrowsetimpl.usecolid = Spalten-ID als Argument f\u00fcr unsetMatchColumn verwenden +jdbcrowsetimpl.invalstate = Ung\u00FCltiger Status +jdbcrowsetimpl.connect = JdbcRowSet (verbinden), keine JNDI-Verbindung m\u00F6glich +jdbcrowsetimpl.paramtype = Parametertyp kann nicht abgeleitet werden +jdbcrowsetimpl.matchcols = \u00DCbereinstimmungsspalten entsprechen nicht den festgelegten Spalten +jdbcrowsetimpl.setmatchcols = \u00DCbereinstimmungsspalten m\u00FCssen vor dem Abrufen festgelegt werden +jdbcrowsetimpl.matchcols1 = Wert f\u00FCr \u00DCbereinstimmungsspalten muss gr\u00F6\u00DFer als 0 sein +jdbcrowsetimpl.matchcols2 = \u00DCbereinstimmungsspalten k\u00F6nnen keine Null- oder leere Zeichenfolge aufweisen +jdbcrowsetimpl.unsetmatch = Spalten, deren Wert aufgehoben wird, entsprechen nicht den festgelegten Spalten +jdbcrowsetimpl.usecolname = Spaltenname als Argument f\u00FCr unsetMatchColumn verwenden +jdbcrowsetimpl.usecolid = Spalten-ID als Argument f\u00FCr unsetMatchColumn verwenden jdbcrowsetimpl.resnotupd = ResultSet kann nicht aktualisiert werden -jdbcrowsetimpl.opnotysupp = Vorgang noch nicht unterst\u00fctzt -jdbcrowsetimpl.featnotsupp = Funktion nicht unterst\u00fctzt +jdbcrowsetimpl.opnotysupp = Vorgang noch nicht unterst\u00FCtzt +jdbcrowsetimpl.featnotsupp = Feature nicht unterst\u00FCtzt #CachedRowSetReader exceptions -crsreader.connect = (JNDI) Verbindung nicht m\u00f6glich -crsreader.paramtype = Parametertyp konnte nicht abgeleitet werden +crsreader.connect = (JNDI) Verbindung nicht m\u00F6glich +crsreader.paramtype = Parametertyp kann nicht abgeleitet werden crsreader.connecterr = Interner Fehler in RowSetReader: Keine Verbindung oder kein Befehl crsreader.datedetected = Datum festgestellt crsreader.caldetected = Kalender festgestellt #CachedRowSetWriter exceptions -crswriter.connect = Verbindung konnte nicht hergestellt werden -crswriter.tname = writeData kann Tabellennamen nicht feststellen -crswriter.params1 = Wert f\u00fcr params1: {0} -crswriter.params2 = Wert f\u00fcr params2: {0} -crswriter.conflictsno = Konflikt beim Synchronisieren +crswriter.connect = Verbindung kann nicht hergestellt werden +crswriter.tname = writeData kann Tabellennamen nicht bestimmen +crswriter.params1 = Wert f\u00FCr params1: {0} +crswriter.params2 = Wert f\u00FCr params2: {0} +crswriter.conflictsno = Konflikte beim Synchronisieren #InsertRow exceptions -insertrow.novalue = Es wurde kein Wert eingef\u00fcgt +insertrow.novalue = Es wurde kein Wert eingef\u00FCgt #SyncResolverImpl exceptions -syncrsimpl.indexval = Indexwert liegt au\u00dferhalb des Bereichs +syncrsimpl.indexval = Indexwert liegt au\u00DFerhalb des Bereichs syncrsimpl.noconflict = Kein Konflikt bei dieser Spalte -syncrsimpl.syncnotpos = Keine Synchronisation m\u00f6glich -syncrsimpl.valtores = Aufzul\u00f6sender Wert befindet sich entweder in der Datenbank oder in cachedrowset +syncrsimpl.syncnotpos = Keine Synchronisierung m\u00F6glich +syncrsimpl.valtores = Aufzul\u00F6sender Wert kann sich entweder in der Datenbank oder in cachedrowset befinden #WebRowSetXmlReader exception -wrsxmlreader.invalidcp = Ende von RowSet wurde erreicht. Ung\u00fcltige Cursorposition +wrsxmlreader.invalidcp = Ende von RowSet wurde erreicht. Ung\u00FCltige Cursorposition wrsxmlreader.readxml = readXML: {0} -wrsxmlreader.parseerr = ** Parsing-Fehler: {0}, Zeile: {1} , uri: {2} +wrsxmlreader.parseerr = ** Parsing-Fehler: {0}, Zeile: {1} , URI: {2} #WebRowSetXmlWriter exceptions wrsxmlwriter.ioex = IOException: {0} wrsxmlwriter.sqlex = SQLException: {0} -wrsxmlwriter.failedwrite = Schreiben des Werts fehlgeschlagen -wsrxmlwriter.notproper = Kein zul\u00e4ssiger Typ +wrsxmlwriter.failedwrite = Schreiben des Wertes nicht erfolgreich +wsrxmlwriter.notproper = Kein zul\u00E4ssiger Typ #XmlReaderContentHandler exceptions -xmlrch.errmap = Fehler beim Definieren der Zuordnung: {0} -xmlrch.errmetadata = Fehler beim Definieren der Metadaten: {0} -xmlrch.errinsertval = Fehler beim Einf\u00fcgen der Werte: {0} +xmlrch.errmap = Fehler beim Festlegen der Zuordnung: {0} +xmlrch.errmetadata = Fehler beim Festlegen der Metadaten: {0} +xmlrch.errinsertval = Fehler beim Einf\u00FCgen der Werte: {0} xmlrch.errconstr = Fehler beim Erstellen der Zeile: {0} -xmlrch.errdel = Fehler beim L\u00f6schen der Zeile: {0} -xmlrch.errinsdel = Fehler beim Erstellen der Einf\u00fcge- oder L\u00f6schzeile: {0} -xmlrch.errupdate = Fehler beim Erstellen der Aktualisierungszeile: {0} +xmlrch.errdel = Fehler beim L\u00F6schen der Zeile: {0} +xmlrch.errinsert = Fehler beim Erstellen der Einf\u00FCgezeile: {0} +xmlrch.errinsdel = Fehler beim Erstellen der Einf\u00FCge- oder L\u00F6schzeile: {0} +xmlrch.errupdate = Fehler beim Erstellen der Updatezeile: {0} xmlrch.errupdrow = Fehler beim Aktualisieren der Zeile: {0} xmlrch.chars = Zeichen: -xmlrch.badvalue = Fehlerhafter Wert; Eigenschaft darf nicht Null sein. -xmlrch.badvalue1 = Fehlerhafter Wert; Metadaten d\u00fcrfen nicht Null sein. -xmlrch.warning = ** Warnung: {0}, Zeile: {1} , uri: {2} +xmlrch.badvalue = Ung\u00FCltiger Wert. Eigenschaft kann nicht auf null gesetzt werden +xmlrch.badvalue1 = Ung\u00FCltiger Wert. Metadaten k\u00F6nnen nicht auf null gesetzt werden +xmlrch.warning = ** Warnung: {0}, Zeile: {1} , URI: {2} #RIOptimisticProvider Exceptions -riop.locking = Sperren der Klassifizierung wird nicht unterst\u00fctzt +riop.locking = Sperren der Klassifizierung wird nicht unterst\u00FCtzt #RIXMLProvider exceptions -rixml.unsupp = Keine Unterst\u00fctzung f\u00fcr RIXMLProvider +rixml.unsupp = Keine Unterst\u00FCtzung bei RIXMLProvider diff --git a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_es.properties b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_es.properties index d1cfca8ab23..683429d8d27 100644 --- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_es.properties +++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_es.properties @@ -24,16 +24,16 @@ # # CacheRowSetImpl exceptions -cachedrowsetimpl.populate = Objeto ResultSet no v\u00e1lido para m\u00e9todo de relleno -cachedrowsetimpl.invalidp = El proveedor de persistencia generado no es v\u00e1lido -cachedrowsetimpl.nullhash = La instancia CachedRowSetImpl no se puede crear. Hashtable nula proporcionada al constructor -cachedrowsetimpl.invalidop = Operaci\u00f3n no v\u00e1lida al insertar fila +cachedrowsetimpl.populate = Se ha proporcionado un objeto ResultSet no v\u00E1lido para el m\u00E9todo de relleno +cachedrowsetimpl.invalidp = El proveedor de persistencia generado no es v\u00E1lido +cachedrowsetimpl.nullhash = La instancia CachedRowSetImpl no se puede crear. Se ha proporcionado una tabla hash nula al constructor +cachedrowsetimpl.invalidop = Operaci\u00F3n no v\u00E1lida al insertar fila cachedrowsetimpl.accfailed = Fallo de acceptChanges -cachedrowsetimpl.invalidcp = Posici\u00f3n de cursor no v\u00e1lida -cachedrowsetimpl.illegalop = Operaci\u00f3n no permitida en fila no insertada -cachedrowsetimpl.clonefail = Fallo en la clonaci\u00f3n: {0} -cachedrowsetimpl.invalidcol = \u00cdndice de columnas no v\u00e1lido -cachedrowsetimpl.invalcolnm = Nombre de columna no v\u00e1lido +cachedrowsetimpl.invalidcp = Posici\u00F3n de cursor no v\u00E1lida +cachedrowsetimpl.illegalop = Operaci\u00F3n no permitida en fila no insertada +cachedrowsetimpl.clonefail = Fallo en la clonaci\u00F3n: {0} +cachedrowsetimpl.invalidcol = \u00CDndice de columnas no v\u00E1lido +cachedrowsetimpl.invalcolnm = Nombre de columna no v\u00E1lido cachedrowsetimpl.boolfail = Fallo de getBoolen en valor ( {0} ) de columna {1} cachedrowsetimpl.bytefail = Fallo de getByte en valor ( {0} ) de columna {1} cachedrowsetimpl.shortfail = Fallo de getShort en valor ( {0} ) de columna {1} @@ -41,128 +41,130 @@ cachedrowsetimpl.intfail = Fallo de getInt en valor ( {0} ) de columna {1} cachedrowsetimpl.longfail = Fallo de getLong en valor ( {0} ) de columna {1} cachedrowsetimpl.floatfail = Fallo de getFloat en valor ( {0} ) de columna {1} cachedrowsetimpl.doublefail = Fallo de getDouble en valor ( {0} ) de columna {1} -cachedrowsetimpl.dtypemismt = Discordancia entre tipos de datos -cachedrowsetimpl.datefail = Fallo de getDate en valor ( {0} ) de columna {1} no es posible convertir -cachedrowsetimpl.timefail = Fallo de getTime en valor ( {0} ) de columna {1} no es posible convertir -cachedrowsetimpl.posupdate = Actualizaciones posicionadas incompatibles -cachedrowsetimpl.unableins = No se puede crear instancia: {0} -cachedrowsetimpl.beforefirst = beforeFirst: Operaci\u00f3n de cursor no v\u00e1lida -cachedrowsetimpl.first = First: Operaci\u00f3n de cursor no v\u00e1lida -cachedrowsetimpl.last = last: TYPE_FORWARD_ONLY -cachedrowsetimpl.absolute = absolute: Posici\u00f3n de cursor no v\u00e1lida -cachedrowsetimpl.relative = relative: Posici\u00f3n de cursor no v\u00e1lida +cachedrowsetimpl.dtypemismt = Discordancia entre Tipos de Datos +cachedrowsetimpl.datefail = Fallo de getDate en valor ( {0} ) de columna {1}. No es posible convertir +cachedrowsetimpl.timefail = Fallo de getTime en valor ( {0} ) de columna {1}. No es posible convertir +cachedrowsetimpl.posupdate = Actualizaciones posicionadas no soportadas +cachedrowsetimpl.unableins = No se ha podido crear la instancia: {0} +cachedrowsetimpl.beforefirst = beforeFirst: Operaci\u00F3n de cursor no v\u00E1lida +cachedrowsetimpl.first = First: Operaci\u00F3n de cursor no v\u00E1lida +cachedrowsetimpl.last = last : TYPE_FORWARD_ONLY +cachedrowsetimpl.absolute = absolute: Posici\u00F3n de cursor no v\u00E1lida +cachedrowsetimpl.relative = relative: Posici\u00F3n de cursor no v\u00E1lida cachedrowsetimpl.asciistream = fallo en lectura de flujo de caracteres ascii cachedrowsetimpl.binstream = fallo de lectura de flujo binario -cachedrowsetimpl.failedins = Fallo en inserci\u00f3n de fila +cachedrowsetimpl.failedins = Fallo en inserci\u00F3n de fila cachedrowsetimpl.updateins = llamada a updateRow mientras se insertaba fila -cachedrowsetimpl.movetoins = moveToInsertRow: CONCUR_READ_ONLY +cachedrowsetimpl.movetoins = moveToInsertRow : CONCUR_READ_ONLY cachedrowsetimpl.movetoins1 = moveToInsertRow: no hay metadatos -cachedrowsetimpl.movetoins2 = moveToInsertRow: n\u00famero de columnas no v\u00e1lido +cachedrowsetimpl.movetoins2 = moveToInsertRow: n\u00FAmero de columnas no v\u00E1lido cachedrowsetimpl.tablename = El nombre de la tabla no puede ser nulo -cachedrowsetimpl.keycols = Columnas clave no v\u00e1lidas -cachedrowsetimpl.opnotsupp = La base de datos no admite esta operaci\u00f3n -cachedrowsetimpl.matchcols = Las columnas emparejadas no concuerdan con las definidas -cachedrowsetimpl.setmatchcols = Configurar emparejamiento de columnas antes de obtenerlas -cachedrowsetimpl.matchcols1 = Las columnas emparejadas deben ser mayores que 0 -cachedrowsetimpl.matchcols2 = Las columnas emparejadas deben estar vac\u00edas o ser una cadena nula -cachedrowsetimpl.unsetmatch = Las columnas que se est\u00e1n desconfigurando no coinciden con las configuradas -cachedrowsetimpl.unsetmatch1 = Usar nombre de columna como argumento en unsetMatchColumn -cachedrowsetimpl.unsetmatch2 = Usar ID de columna como argumento en unsetMatchColumn -cachedrowsetimpl.numrows = El n\u00famero de filas es menor que cero o menor que el tama\u00f1o obtenido -cachedrowsetimpl.startpos = La posici\u00f3n de inicio no puede ser negativa -cachedrowsetimpl.nextpage = Rellenar datos antes de realizar llamada -cachedrowsetimpl.pagesize = El tama\u00f1o de p\u00e1gina no puede ser menor que cero -cachedrowsetimpl.pagesize1 = El tama\u00f1o de p\u00e1gina no puede ser mayor que maxRows -cachedrowsetimpl.fwdonly = ResultSet s\u00f3lo se reenv\u00eda +cachedrowsetimpl.keycols = Columnas clave no v\u00E1lidas +cachedrowsetimpl.invalidcol = \u00CDndice de columnas no v\u00E1lido +cachedrowsetimpl.opnotsupp = La base de datos no admite esta operaci\u00F3n +cachedrowsetimpl.matchcols = Las columnas coincidentes no concuerdan con las definidas +cachedrowsetimpl.setmatchcols = Defina las columnas coincidentes antes de obtenerlas +cachedrowsetimpl.matchcols1 = Las columnas coincidentes deben ser mayores que 0 +cachedrowsetimpl.matchcols2 = Las columnas coincidentes deben estar vac\u00EDas o ser una cadena nula +cachedrowsetimpl.unsetmatch = Las columnas cuya definici\u00F3n se est\u00E1 anulando no concuerdan con las definidas +cachedrowsetimpl.unsetmatch1 = Use el nombre de columna como argumento en unsetMatchColumn +cachedrowsetimpl.unsetmatch2 = Use el identificador de columna como argumento en unsetMatchColumn +cachedrowsetimpl.numrows = El n\u00FAmero de filas es menor que cero o menor que el tama\u00F1o recuperado +cachedrowsetimpl.startpos = La posici\u00F3n de inicio no puede ser negativa +cachedrowsetimpl.nextpage = Rellene los datos antes de realizar la llamada +cachedrowsetimpl.pagesize = El tama\u00F1o de p\u00E1gina no puede ser menor que cero +cachedrowsetimpl.pagesize1 = El tama\u00F1o de p\u00E1gina no puede ser mayor que maxRows +cachedrowsetimpl.fwdonly = ResultSet s\u00F3lo se reenv\u00EDa cachedrowsetimpl.type = El tipo es: {0} -cachedrowsetimpl.opnotysupp = Operaci\u00f3n no admitida todav\u00eda -cachedrowsetimpl.featnotsupp = Funci\u00f3n no admitida +cachedrowsetimpl.opnotysupp = Operaci\u00F3n no soportada todav\u00EDa +cachedrowsetimpl.featnotsupp = Funci\u00F3n no soportada # WebRowSetImpl exceptions -webrowsetimpl.nullhash = La instancia WebRowSetImpl no se puede crear. Hashtable nula proporcionada al constructor -webrowsetimpl.invalidwr = Escritor no v\u00e1lido -webrowsetimpl.invalidrd = Lector no v\u00e1lido +webrowsetimpl.nullhash = La instancia WebRowSetImpl no se puede crear. Se ha proporcionado una tabla hash nula al constructor +webrowsetimpl.invalidwr = Escritor no v\u00E1lido +webrowsetimpl.invalidrd = Lector no v\u00E1lido #FilteredRowSetImpl exceptions -filteredrowsetimpl.relative = relative: Operaci\u00f3n de cursor no v\u00e1lida -filteredrowsetimpl.absolute = absolute: Operaci\u00f3n de cursor no v\u00e1lida +filteredrowsetimpl.relative = relative: Operaci\u00F3n de cursor no v\u00E1lida +filteredrowsetimpl.absolute = absolute: Operaci\u00F3n de cursor no v\u00E1lida filteredrowsetimpl.notallowed = El filtro no admite este valor #JoinRowSetImpl exceptions joinrowsetimpl.notinstance = No es una instancia de rowset -joinrowsetimpl.matchnotset = Emparejamiento de columnas no configurado para unir -joinrowsetimpl.numnotequal = El n\u00famero de elementos de rowset y el de emparejamiento de columnas no es el mismo -joinrowsetimpl.notdefined = No es un tipo de uni\u00f3n definido -joinrowsetimpl.notsupported = Este tipo de uni\u00f3n no es compatible -joinrowsetimpl.initerror = Error de inicio de JoinRowSet -joinrowsetimpl.genericerr = Error de Genric joinrowset intial -joinrowsetimpl.emptyrowset = No se puede a\u00f1adir un rowset vac\u00edo a este JoinRowSet +joinrowsetimpl.matchnotset = Las columnas coincidentes no est\u00E1n definidas para la uni\u00F3n +joinrowsetimpl.numnotequal = El n\u00FAmero de elementos de rowset y el de columnas coincidentes no es el mismo +joinrowsetimpl.notdefined = No es un tipo de uni\u00F3n definido +joinrowsetimpl.notsupported = Este tipo de uni\u00F3n no est\u00E1 soportado +joinrowsetimpl.initerror = Error de inicializaci\u00F3n de JoinRowSet +joinrowsetimpl.genericerr = Error de inicializaci\u00F3n gen\u00E9rico de joinrowset +joinrowsetimpl.emptyrowset = No se puede agregar un juego de filas vac\u00EDo a este JoinRowSet #JdbcRowSetImpl exceptions -jdbcrowsetimpl.invalstate = Estado no v\u00e1lido -jdbcrowsetimpl.connect = JdbcRowSet (conectar) JNDI no se puede conectar -jdbcrowsetimpl.paramtype = No se puede deducir tipo de par\u00e1metro -jdbcrowsetimpl.matchcols = Las columnas emparejadas no concuerdan con las definidas -jdbcrowsetimpl.setmatchcols = Configurar emparejamiento de columnas antes de obtenerlas -jdbcrowsetimpl.matchcols1 = Las columnas emparejadas deben ser mayores que 0 -jdbcrowsetimpl.matchcols2 = Las columnas emparejadas no pueden estar vac\u00edas ni ser una cadena nula -jdbcrowsetimpl.unsetmatch = Las columnas que se est\u00e1n desconfigurando no son las mismas que las configuradas -jdbcrowsetimpl.usecolname = Usar nombre de columna como argumento en unsetMatchColumn -jdbcrowsetimpl.usecolid = Usar ID de columna como argumento en unsetMatchColumn +jdbcrowsetimpl.invalstate = Estado no v\u00E1lido +jdbcrowsetimpl.connect = JdbcRowSet (connect): JNDI no se puede conectar +jdbcrowsetimpl.paramtype = No se puede deducir el tipo de par\u00E1metro +jdbcrowsetimpl.matchcols = Las columnas coincidentes no concuerdan con las definidas +jdbcrowsetimpl.setmatchcols = Defina las columnas coincidentes antes de obtenerlas +jdbcrowsetimpl.matchcols1 = Las columnas coincidentes deben ser mayores que 0 +jdbcrowsetimpl.matchcols2 = Las columnas coincidentes no pueden estar vac\u00EDas ni ser una cadena nula +jdbcrowsetimpl.unsetmatch = Las columnas cuya definici\u00F3n se est\u00E1 anulando no concuerdan con las definidas +jdbcrowsetimpl.usecolname = Use el nombre de columna como argumento en unsetMatchColumn +jdbcrowsetimpl.usecolid = Use el identificador de columna como argumento en unsetMatchColumn jdbcrowsetimpl.resnotupd = ResultSet no se puede actualizar -jdbcrowsetimpl.opnotysupp = Operaci\u00f3n no admitida todav\u00eda -jdbcrowsetimpl.featnotsupp = Funci\u00f3n no admitida +jdbcrowsetimpl.opnotysupp = Operaci\u00F3n no soportada todav\u00EDa +jdbcrowsetimpl.featnotsupp = Funci\u00F3n no soportada #CachedRowSetReader exceptions -crsreader.connect = (JNDI) No se puede conectar -crsreader.paramtype = No se puede deducir tipo de par\u00e1metro -crsreader.connecterr = Error interno en RowSetReader: no hay conexi\u00f3n o comando -crsreader.datedetected = Fecha detectada -crsreader.caldetected = Calendario detectado +crsreader.connect = (JNDI) No se ha podido conectar +crsreader.paramtype = No se ha podido deducir el tipo de par\u00E1metro +crsreader.connecterr = Error interno en RowSetReader: no hay conexi\u00F3n o comando +crsreader.datedetected = Fecha Detectada +crsreader.caldetected = Calendario Detectado #CachedRowSetWriter exceptions -crswriter.connect = No se puede obtener una conexi\u00f3n +crswriter.connect = No se ha podido obtener una conexi\u00F3n crswriter.tname = writeData no puede determinar el nombre de tabla crswriter.params1 = Valor de params1: {0} crswriter.params2 = Valor de params2: {0} -crswriter.conflictsno = conflictos en la sincronizaci\u00f3n +crswriter.conflictsno = conflictos en la sincronizaci\u00F3n #InsertRow exceptions -insertrow.novalue = No se ha insertado ning\u00fan valor +insertrow.novalue = No se ha insertado ning\u00FAn valor #SyncResolverImpl exceptions -syncrsimpl.indexval = El valor de \u00edndice est\u00e1 fuera del intervalo -syncrsimpl.noconflict = Esta columna no est\u00e1 en conflicto +syncrsimpl.indexval = El valor de \u00EDndice est\u00E1 fuera de rango +syncrsimpl.noconflict = Esta columna no est\u00E1 en conflicto syncrsimpl.syncnotpos = No se puede sincronizar -syncrsimpl.valtores = El valor que se debe definir puede estar en la base de datos o en cachedrowset +syncrsimpl.valtores = El valor que se debe resolver puede estar en la base de datos o en cachedrowset #WebRowSetXmlReader exception -wrsxmlreader.invalidcp = Se ha llegado al final de RowSet. Posici\u00f3n de cursor no v\u00e1lida -wrsxmlreader.readxml = readXML: {0} -wrsxmlreader.parseerr = ** Error de an\u00e1lisis: {0} , l\u00ednea: {1} , uri: {2} +wrsxmlreader.invalidcp = Se ha llegado al final de RowSet. Posici\u00F3n de cursor no v\u00E1lida +wrsxmlreader.readxml = readXML : {0} +wrsxmlreader.parseerr = ** Error de an\u00E1lisis: {0} , l\u00EDnea: {1} , uri: {2} #WebRowSetXmlWriter exceptions -wrsxmlwriter.ioex = IOException: {0} -wrsxmlwriter.sqlex = SQLException: {0} -wrsxmlwriter.failedwrite = No se pudo escribir valor +wrsxmlwriter.ioex = IOException : {0} +wrsxmlwriter.sqlex = SQLException : {0} +wrsxmlwriter.failedwrite = Error al escribir el valor wsrxmlwriter.notproper = Tipo incorrecto #XmlReaderContentHandler exceptions -xmlrch.errmap = Error al configurar la asignaci\u00f3n: {0} -xmlrch.errmetadata = Error al configurar metadatos: {0} +xmlrch.errmap = Error al definir la asignaci\u00F3n: {0} +xmlrch.errmetadata = Error al definir metadatos: {0} xmlrch.errinsertval = Error al insertar los valores: {0} -xmlrch.errconstr = Error al construir fila: {0} -xmlrch.errdel = Error al borrar fila: {0} -xmlrch.errinsdel = Error al construir insertar o suprimir fila: {0} -xmlrch.errupdate = Error al construir actualizar fila: {0} +xmlrch.errconstr = Error al construir la fila: {0} +xmlrch.errdel = Error al suprimir la fila: {0} +xmlrch.errinsert = Error al construir la fila de inserci\u00F3n: {0} +xmlrch.errinsdel = Error al construir la fila de inserci\u00F3n o supresi\u00F3n: {0} +xmlrch.errupdate = Error al construir la fila de actualizaci\u00F3n: {0} xmlrch.errupdrow = Error al actualizar la fila: {0} xmlrch.chars = caracteres: xmlrch.badvalue = Valor incorrecto; la propiedad no puede ser nula xmlrch.badvalue1 = Valor incorrecto; los metadatos no pueden ser nulos -xmlrch.warning = ** Advertencia: {0} , l\u00ednea: {1} , uri: {2} +xmlrch.warning = ** Advertencia: {0} , l\u00EDnea: {1} , uri: {2} #RIOptimisticProvider Exceptions -riop.locking = No se permite bloquear la clasificaci\u00f3n +riop.locking = No se permite bloquear la clasificaci\u00F3n #RIXMLProvider exceptions -rixml.unsupp = No compatible con RIXMLProvider +rixml.unsupp = No soportado con RIXMLProvider diff --git a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties index 009a580e0a6..7793e88fe57 100644 --- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties +++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties @@ -24,117 +24,118 @@ # # CacheRowSetImpl exceptions -cachedrowsetimpl.populate = L'objet ResultSet fourni en entr\u00e9e de la m\u00e9thode n'est pas valide -cachedrowsetimpl.invalidp = Le fournisseur de persistance g\u00e9n\u00e9r\u00e9 n'est pas valide -cachedrowsetimpl.nullhash = Impossible de cr\u00e9er une instance de CachedRowSetImpl. Table de hachage null fournie au constructeur -cachedrowsetimpl.invalidop = Op\u00e9ration non valide lors de l'insertion de ligne -cachedrowsetimpl.accfailed = \u00c9chec de acceptChanges +cachedrowsetimpl.populate = L'objet ResultSet fourni en entr\u00E9e de la m\u00E9thode n'est pas valide +cachedrowsetimpl.invalidp = Le fournisseur de persistance g\u00E9n\u00E9r\u00E9 n'est pas valide +cachedrowsetimpl.nullhash = Impossible de cr\u00E9er une instance de CachedRowSetImpl. Table de hachage NULL fournie au constructeur +cachedrowsetimpl.invalidop = Op\u00E9ration non valide lors de l'insertion de ligne +cachedrowsetimpl.accfailed = Echec de acceptChanges cachedrowsetimpl.invalidcp = Position du curseur non valide -cachedrowsetimpl.illegalop = Op\u00e9ration non autoris\u00e9e sur ligne non ins\u00e9r\u00e9e -cachedrowsetimpl.clonefail = \u00c9chec du clonage : {0} +cachedrowsetimpl.illegalop = Op\u00E9ration non admise sur une ligne non ins\u00E9r\u00E9e +cachedrowsetimpl.clonefail = Echec du clonage : {0} cachedrowsetimpl.invalidcol = Index de colonne non valide cachedrowsetimpl.invalcolnm = Nom de colonne non valide -cachedrowsetimpl.boolfail = \u00c9chec de getBoolen pour la valeur ({0}) de la colonne {1} -cachedrowsetimpl.bytefail = \u00c9chec de getByte pour la valeur ({0}) de la colonne {1} -cachedrowsetimpl.shortfail = \u00c9chec de getShort pour la valeur ({0}) de la colonne {1} -cachedrowsetimpl.intfail = \u00c9chec de getInt pour la valeur ({0}) de la colonne {1} -cachedrowsetimpl.longfail = \u00c9chec de getLong pour la valeur ({0}) de la colonne {1} -cachedrowsetimpl.floatfail = \u00c9chec de getFloat pour la valeur ({0}) de la colonne {1} -cachedrowsetimpl.doublefail = \u00c9chec de getDouble pour la valeur ({0}) de la colonne {1} -cachedrowsetimpl.dtypemismt = Le type de donn\u00e9es ne correspond pas -cachedrowsetimpl.datefail = \u00c9chec de getDate pour la valeur ({0}) de la colonne {1} - Aucune conversion possible -cachedrowsetimpl.timefail = \u00c9chec de getDate pour la valeur ({0}) de la colonne {1} - Aucune conversion possible -cachedrowsetimpl.posupdate = Mises \u00e0 jour choisies non prises en charge +cachedrowsetimpl.boolfail = Echec de getBoolen pour la valeur ({0}) de la colonne {1} +cachedrowsetimpl.bytefail = Echec de getByte pour la valeur ({0}) de la colonne {1} +cachedrowsetimpl.shortfail = Echec de getShort pour la valeur ({0}) de la colonne {1} +cachedrowsetimpl.intfail = Echec de getInt pour la valeur ({0}) de la colonne {1} +cachedrowsetimpl.longfail = Echec de getLong pour la valeur ({0}) de la colonne {1} +cachedrowsetimpl.floatfail = Echec de getFloat pour la valeur ({0}) de la colonne {1} +cachedrowsetimpl.doublefail = Echec de getDouble pour la valeur ({0}) de la colonne {1} +cachedrowsetimpl.dtypemismt = Le type de donn\u00E9es ne correspond pas +cachedrowsetimpl.datefail = Echec de getDate pour la valeur ({0}) de la colonne {1} - Aucune conversion possible +cachedrowsetimpl.timefail = Echec de getTime pour la valeur ({0}) de la colonne {1} - Aucune conversion possible +cachedrowsetimpl.posupdate = Mises \u00E0 jour choisies non prises en charge cachedrowsetimpl.unableins = Instanciation impossible : {0} -cachedrowsetimpl.beforefirst = beforeFirst : op\u00e9ration de curseur non valide -cachedrowsetimpl.first = First : op\u00e9ration de curseur non valide +cachedrowsetimpl.beforefirst = beforeFirst : op\u00E9ration de curseur non valide +cachedrowsetimpl.first = First : op\u00E9ration de curseur non valide cachedrowsetimpl.last = last : TYPE_FORWARD_ONLY cachedrowsetimpl.absolute = absolute : position de curseur non valide cachedrowsetimpl.relative = relative : position de curseur non valide -cachedrowsetimpl.asciistream = \u00e9chec de la lecture pour le flux ascii -cachedrowsetimpl.binstream = \u00e9chec de la lecture pour le flux binaire -cachedrowsetimpl.failedins = \u00c9chec de l'insertion de ligne +cachedrowsetimpl.asciistream = \u00E9chec de la lecture pour le flux ASCII +cachedrowsetimpl.binstream = \u00E9chec de la lecture pour le flux binaire +cachedrowsetimpl.failedins = Echec de l'insertion de ligne cachedrowsetimpl.updateins = appel de updateRow lors de l'insertion de ligne cachedrowsetimpl.movetoins = moveToInsertRow : CONCUR_READ_ONLY -cachedrowsetimpl.movetoins1 = moveToInsertRow : aucune m\u00e9tadonn\u00e9e -cachedrowsetimpl.movetoins2 = moveToInsertRow : Nombre de colonnes non valide -cachedrowsetimpl.tablename = Le nom du tableau ne peut pas \u00eatre null -cachedrowsetimpl.keycols = Colonnes de cl\u00e9 non valides -cachedrowsetimpl.opnotsupp = Op\u00e9ration non prise en charge par la base de donn\u00e9es -cachedrowsetimpl.matchcols = Les colonnes correspondantes ne sont pas les m\u00eames que les colonnes d\u00e9finies -cachedrowsetimpl.setmatchcols = D\u00e9finissez les colonnes correspondantes avant de les prendre -cachedrowsetimpl.matchcols1 = Les colonnes correspondantes doivent \u00eatre sup\u00e9rieures \u00e0 z\u00e9ro -cachedrowsetimpl.matchcols2 = Les colonnes correspondantes doivent \u00eatres vides ou ne contenir que des cha\u00eenes vides -cachedrowsetimpl.unsetmatch = Les colonnes d\u00e9finies et non d\u00e9finies sont diff\u00e9rentes -cachedrowsetimpl.unsetmatch1 = Utilisez le nom de la colonne en argument de unsetMatchColumn -cachedrowsetimpl.unsetmatch2 = Utilisez l'ID de la colonne en argument de unsetMatchColumn -cachedrowsetimpl.numrows = Le nombre de lignes est inf\u00e9rieur \u00e0 z\u00e9ro ou \u00e0 la taille d'extraction -cachedrowsetimpl.startpos = La position de d\u00e9part ne peut pas \u00eatre n\u00e9gative -cachedrowsetimpl.nextpage = Entrez les donn\u00e9es avant l'appel -cachedrowsetimpl.pagesize = La taille de la page ne peut pas \u00eatre n\u00e9gative -cachedrowsetimpl.pagesize1 = La taille de la page ne peut pas \u00eatre sup\u00e9rieure \u00e0 maxRows -cachedrowsetimpl.fwdonly = ResultSet est en avant seulement +cachedrowsetimpl.movetoins1 = moveToInsertRow : aucune m\u00E9tadonn\u00E9e +cachedrowsetimpl.movetoins2 = moveToInsertRow : nombre de colonnes non valide +cachedrowsetimpl.tablename = Le nom de la table ne peut pas \u00EAtre NULL +cachedrowsetimpl.keycols = Colonnes de cl\u00E9 non valides +cachedrowsetimpl.invalidcol = Index de colonne non valide +cachedrowsetimpl.opnotsupp = Op\u00E9ration non prise en charge par la base de donn\u00E9es +cachedrowsetimpl.matchcols = Les colonnes correspondantes ne sont pas les m\u00EAmes que les colonnes d\u00E9finies +cachedrowsetimpl.setmatchcols = D\u00E9finir les colonnes correspondantes avant de les prendre +cachedrowsetimpl.matchcols1 = Les colonnes correspondantes doivent \u00EAtre sup\u00E9rieures \u00E0 z\u00E9ro +cachedrowsetimpl.matchcols2 = Les colonnes correspondantes doivent \u00EAtres vides ou ne contenir que des cha\u00EEnes NULL +cachedrowsetimpl.unsetmatch = Les colonnes d\u00E9finies et non d\u00E9finies sont diff\u00E9rentes +cachedrowsetimpl.unsetmatch1 = Utiliser le nom de colonne comme argument pour unsetMatchColumn +cachedrowsetimpl.unsetmatch2 = Utiliser l'ID de colonne comme argument pour unsetMatchColumn +cachedrowsetimpl.numrows = Le nombre de lignes est inf\u00E9rieur \u00E0 z\u00E9ro ou \u00E0 la taille d'extraction +cachedrowsetimpl.startpos = La position de d\u00E9part ne peut pas \u00EAtre n\u00E9gative +cachedrowsetimpl.nextpage = Entrer les donn\u00E9es avant l'appel +cachedrowsetimpl.pagesize = La taille de la page ne peut pas \u00EAtre n\u00E9gative +cachedrowsetimpl.pagesize1 = La taille de la page ne peut pas \u00EAtre sup\u00E9rieure \u00E0 maxRows +cachedrowsetimpl.fwdonly = ResultSet va en avant seulement cachedrowsetimpl.type = Le type est : {0} -cachedrowsetimpl.opnotysupp = Op\u00e9ration non encore prise en charge -cachedrowsetimpl.featnotsupp = Fonction non prise en charge +cachedrowsetimpl.opnotysupp = Op\u00E9ration non encore prise en charge +cachedrowsetimpl.featnotsupp = Fonctionnalit\u00E9 non prise en charge # WebRowSetImpl exceptions -webrowsetimpl.nullhash = Impossible de cr\u00e9er une instance de WebRowSetImpl. Table de hachage null fournie au constructeur -webrowsetimpl.invalidwr = G\u00e9n\u00e9rateur non valide -webrowsetimpl.invalidrd = Lecteur non valide +webrowsetimpl.nullhash = Impossible de cr\u00E9er une instance de WebRowSetImpl. Table de hachage NULL fournie au constructeur +webrowsetimpl.invalidwr = Processus d'\u00E9criture non valide +webrowsetimpl.invalidrd = Processus de lecture non valide #FilteredRowSetImpl exceptions -filteredrowsetimpl.relative = relative : op\u00e9ration de curseur non valide -filteredrowsetimpl.absolute = absolute : op\u00e9ration de curseur non valide -filteredrowsetimpl.notallowed = Cette valeur n'est pas autoris\u00e9e via le filtre +filteredrowsetimpl.relative = relative : op\u00E9ration de curseur non valide +filteredrowsetimpl.absolute = absolute : op\u00E9ration de curseur non valide +filteredrowsetimpl.notallowed = Cette valeur n'est pas autoris\u00E9e via le filtre #JoinRowSetImpl exceptions joinrowsetimpl.notinstance = N'est pas une instance de RowSet -joinrowsetimpl.matchnotset = Les colonnes correspondantes ne sont pas group\u00e9es pour jointure -joinrowsetimpl.numnotequal = Le nombre d'\u00e9l\u00e9ments dans RowSet est diff\u00e9rent du nombre de colonnes correspondantes -joinrowsetimpl.notdefined = Ce n'est pas un type de jointure d\u00e9fini +joinrowsetimpl.matchnotset = Les colonnes correspondantes ne sont pas d\u00E9finies pour la jointure +joinrowsetimpl.numnotequal = Le nombre d'\u00E9l\u00E9ments dans RowSet est diff\u00E9rent du nombre de colonnes correspondantes +joinrowsetimpl.notdefined = Ce n'est pas un type de jointure d\u00E9fini joinrowsetimpl.notsupported = Ce type de jointure n'est pas pris en charge joinrowsetimpl.initerror = Erreur d'initialisation de JoinRowSet -joinrowsetimpl.genericerr = Erreur initiale g\u00e9n\u00e9rique de JoinRowSet -joinrowsetimpl.emptyrowset = Impossible d'ajouter un objet RowSet vide \u00e0 ce JoinRowSet +joinrowsetimpl.genericerr = Erreur initiale g\u00E9n\u00E9rique de JoinRowSet +joinrowsetimpl.emptyrowset = Impossible d'ajouter un objet RowSet vide \u00E0 ce JoinRowSet #JdbcRowSetImpl exceptions -jdbcrowsetimpl.invalstate = \u00c9tat non valide +jdbcrowsetimpl.invalstate = Etat non valide jdbcrowsetimpl.connect = Impossible de connecter JNDI JdbcRowSet (connexion) -jdbcrowsetimpl.paramtype = Impossible de d\u00e9duire le type de param\u00e8tre -jdbcrowsetimpl.matchcols = Les colonnes correspondantes ne sont pas les m\u00eames que les colonnes d\u00e9finies -jdbcrowsetimpl.setmatchcols = D\u00e9finissez les colonnes correspondantes avant de les prendre -jdbcrowsetimpl.matchcols1 = Le nombre de colonnes correspondantes doit \u00eatre sup\u00e9rieur \u00e0 z\u00e9ro -jdbcrowsetimpl.matchcols2 = Les colonnes correspondantes ne doivent pas \u00eatres vides ni contenir des cha\u00eenes vides -jdbcrowsetimpl.unsetmatch = Les colonnes non d\u00e9finies ne sont pas les m\u00eames que les colonnes d\u00e9finies -jdbcrowsetimpl.usecolname = Utilisez le nom de la colonne en argument de unsetMatchColumn -jdbcrowsetimpl.usecolid = Utilisez l'ID de la colonne en argument de unsetMatchColumn -jdbcrowsetimpl.resnotupd = La mise \u00e0 jour de ResultSet est interdite -jdbcrowsetimpl.opnotysupp = Op\u00e9ration non encore prise en charge -jdbcrowsetimpl.featnotsupp = Fonction non prise en charge +jdbcrowsetimpl.paramtype = Impossible de d\u00E9duire le type de param\u00E8tre +jdbcrowsetimpl.matchcols = Les colonnes correspondantes ne sont pas les m\u00EAmes que les colonnes d\u00E9finies +jdbcrowsetimpl.setmatchcols = D\u00E9finir les colonnes correspondantes avant de les prendre +jdbcrowsetimpl.matchcols1 = Les colonnes correspondantes doivent \u00EAtre sup\u00E9rieures \u00E0 z\u00E9ro +jdbcrowsetimpl.matchcols2 = Les colonnes correspondantes ne doivent pas \u00EAtres NULL ni contenir des cha\u00EEnes vides +jdbcrowsetimpl.unsetmatch = Les colonnes non d\u00E9finies ne sont pas les m\u00EAmes que les colonnes d\u00E9finies +jdbcrowsetimpl.usecolname = Utiliser le nom de colonne comme argument pour unsetMatchColumn +jdbcrowsetimpl.usecolid = Utiliser l'ID de colonne comme argument pour unsetMatchColumn +jdbcrowsetimpl.resnotupd = La mise \u00E0 jour de ResultSet est interdite +jdbcrowsetimpl.opnotysupp = Op\u00E9ration non encore prise en charge +jdbcrowsetimpl.featnotsupp = Fonctionnalit\u00E9 non prise en charge #CachedRowSetReader exceptions crsreader.connect = Impossible de connecter (JNDI) -crsreader.paramtype = Impossible de d\u00e9duire le type de param\u00e8tre -crsreader.connecterr = Erreur interne dans RowSetReader\u00a0: pas de connexion ni de commande -crsreader.datedetected = Une date a \u00e9t\u00e9 d\u00e9tect\u00e9e -crsreader.caldetected = Un calendrier a \u00e9t\u00e9 d\u00e9tect\u00e9 +crsreader.paramtype = Impossible de d\u00E9duire le type de param\u00E8tre +crsreader.connecterr = Erreur interne dans RowSetReader\u00A0: pas de connexion ni de commande +crsreader.datedetected = Une date a \u00E9t\u00E9 d\u00E9tect\u00E9e +crsreader.caldetected = Un calendrier a \u00E9t\u00E9 d\u00E9tect\u00E9 #CachedRowSetWriter exceptions crswriter.connect = Impossible d'obtenir la connexion -crswriter.tname = writeData ne peut pas d\u00e9terminer le nom du tableau +crswriter.tname = writeData ne peut pas d\u00E9terminer le nom de la table crswriter.params1 = Valeur de params1 : {0} crswriter.params2 = Valeur de params2 : {0} crswriter.conflictsno = conflits lors de la synchronisation #InsertRow exceptions -insertrow.novalue = Aucune valeur n'a \u00e9t\u00e9 ins\u00e9r\u00e9e +insertrow.novalue = Aucune valeur n'a \u00E9t\u00E9 ins\u00E9r\u00E9e #SyncResolverImpl exceptions syncrsimpl.indexval = Valeur d'index hors plage syncrsimpl.noconflict = Cette colonne n'est pas en conflit syncrsimpl.syncnotpos = La synchronisation est impossible -syncrsimpl.valtores = La valeur \u00e0 r\u00e9soudre peut \u00eatre soit dans la base de donn\u00e9es soit dans CachedrowSet +syncrsimpl.valtores = La valeur \u00E0 r\u00E9soudre peut \u00EAtre soit dans la base de donn\u00E9es, soit dans CachedrowSet #WebRowSetXmlReader exception wrsxmlreader.invalidcp = Fin de RowSet atteinte. Position de curseur non valide @@ -142,23 +143,24 @@ wrsxmlreader.readxml = readXML : {0} wrsxmlreader.parseerr = ** Erreur d''analyse : {0} , ligne : {1} , URI : {2} #WebRowSetXmlWriter exceptions -wrsxmlwriter.ioex = IOException : {0} -wrsxmlwriter.sqlex = SQLException : {0} -wrsxmlwriter.failedwrite = \u00c9chec d'\u00e9criture de la valeur +wrsxmlwriter.ioex = Exception d''E/S : {0} +wrsxmlwriter.sqlex = Exception SQL : {0} +wrsxmlwriter.failedwrite = Echec d'\u00E9criture de la valeur wsrxmlwriter.notproper = N'est pas un type correct #XmlReaderContentHandler exceptions -xmlrch.errmap = Erreur lors de la d\u00e9finition de Map : {0} -xmlrch.errmetadata = Erreur lors de la d\u00e9finition des m\u00e9tadonn\u00e9es : {0} -xmlrch.errinsertval = Erreur lors de l''insertion des valeurs\u00a0: {0} +xmlrch.errmap = Erreur lors de la d\u00E9finition du mappage : {0} +xmlrch.errmetadata = Erreur lors de la d\u00E9finition des m\u00E9tadonn\u00E9es : {0} +xmlrch.errinsertval = Erreur lors de l''insertion des valeurs\u00A0: {0} xmlrch.errconstr = Erreur lors de la construction de la ligne : {0} xmlrch.errdel = Erreur lors de la suppression de la ligne : {0} +xmlrch.errinsert = Erreur lors de la construction de la ligne \u00E0 ins\u00E9rer : {0} xmlrch.errinsdel = Erreur lors de la construction de la ligne insdel : {0} -xmlrch.errupdate = Erreur lors de la construction de la ligne \u00e0 mettre \u00e0 jour : {0} -xmlrch.errupdrow = Erreur lors de la mise \u00e0 jour de la ligne\u00a0: {0} -xmlrch.chars = caract\u00e8res : -xmlrch.badvalue = Valeur incorrecte ; null impossible pour cette propri\u00e9t\u00e9 -xmlrch.badvalue1 = Valeur incorrecte ; null impossible pour ces m\u00e9tadonn\u00e9es +xmlrch.errupdate = Erreur lors de la construction de la ligne \u00E0 mettre \u00E0 jour : {0} +xmlrch.errupdrow = Erreur lors de la mise \u00E0 jour de la ligne\u00A0: {0} +xmlrch.chars = caract\u00E8res : +xmlrch.badvalue = Valeur incorrecte ; cette propri\u00E9t\u00E9 ne peut pas \u00EAtre NULL +xmlrch.badvalue1 = Valeur incorrecte ; ces m\u00E9tadonn\u00E9es ne peuvent pas \u00EAtre NULL xmlrch.warning = ** Avertissement : {0} , ligne : {1} , URI : {2} #RIOptimisticProvider Exceptions diff --git a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_it.properties b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_it.properties index 7501a76454b..916db678bae 100644 --- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_it.properties +++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_it.properties @@ -25,13 +25,13 @@ # CacheRowSetImpl exceptions cachedrowsetimpl.populate = Oggetto ResultSet non valido fornito per l'inserimento dati nel metodo -cachedrowsetimpl.invalidp = Generato fornitore di persistenza non valido -cachedrowsetimpl.nullhash = Impossibile istanziare l'istanza CachedRowSetImpl. Tabella hash nulla fornita al costruttore +cachedrowsetimpl.invalidp = Generato provider di persistenza non valido +cachedrowsetimpl.nullhash = Impossibile creare istanza CachedRowSetImpl. Tabella hash nulla fornita al costruttore cachedrowsetimpl.invalidop = Operazione non valida nella riga di inserimento cachedrowsetimpl.accfailed = acceptChanges non riuscito cachedrowsetimpl.invalidcp = Posizione cursore non valida -cachedrowsetimpl.illegalop = Operazione non consentita nella riga non inserita -cachedrowsetimpl.clonefail = Clone non riuscito: {0} +cachedrowsetimpl.illegalop = Operazione non valida nella riga non inserita +cachedrowsetimpl.clonefail = Copia non riuscita: {0} cachedrowsetimpl.invalidcol = Indice di colonna non valido cachedrowsetimpl.invalcolnm = Nome di colonna non valido cachedrowsetimpl.boolfail = getBoolen non riuscito per il valore ( {0} ) nella colonna {1} @@ -41,11 +41,11 @@ cachedrowsetimpl.intfail = getInt non riuscito per il valore ( {0} ) nella colon cachedrowsetimpl.longfail = getLong non riuscito per il valore ( {0} ) nella colonna {1} cachedrowsetimpl.floatfail = getFloat non riuscito per il valore ( {0} ) nella colonna {1} cachedrowsetimpl.doublefail = getDouble non riuscito per il valore ( {0} ) nella colonna {1} -cachedrowsetimpl.dtypemismt = Mancata corrispondenza dei tipi di dati +cachedrowsetimpl.dtypemismt = Mancata corrispondenza tipo di dati cachedrowsetimpl.datefail = getDate non riuscito per il valore ( {0} ) nella colonna {1}. Nessuna conversione disponibile. cachedrowsetimpl.timefail = getTime non riuscito per il valore ( {0} ) nella colonna {1}. Nessuna conversione disponibile. cachedrowsetimpl.posupdate = Aggiornamenti posizionati non supportati -cachedrowsetimpl.unableins = Impossibile istanziare: {0} +cachedrowsetimpl.unableins = Impossibile creare istanza: {0} cachedrowsetimpl.beforefirst = beforeFirst: operazione cursore non valida cachedrowsetimpl.first = First: operazione cursore non valida cachedrowsetimpl.last = last: TYPE_FORWARD_ONLY @@ -58,8 +58,9 @@ cachedrowsetimpl.updateins = updateRow chiamato nella riga di inserimento cachedrowsetimpl.movetoins = moveToInsertRow: CONCUR_READ_ONLY cachedrowsetimpl.movetoins1 = moveToInsertRow: nessun metadato cachedrowsetimpl.movetoins2 = moveToInsertRow: numero di colonne non valido -cachedrowsetimpl.tablename = Il nome di tabella non pu\u00f2 essere nullo +cachedrowsetimpl.tablename = Il nome di tabella non pu\u00F2 essere nullo cachedrowsetimpl.keycols = Colonne chiave non valide +cachedrowsetimpl.invalidcol = Indice di colonna non valido cachedrowsetimpl.opnotsupp = Operazione non supportata dal database cachedrowsetimpl.matchcols = Le colonne di corrispondenza non coincidono con le colonne impostate cachedrowsetimpl.setmatchcols = Impostare le colonne di corrispondenza prima di recuperarle @@ -68,32 +69,32 @@ cachedrowsetimpl.matchcols2 = Le colonne di corrispondenza devono essere una str cachedrowsetimpl.unsetmatch = Le colonne rimosse non coincidono con le colonne impostate cachedrowsetimpl.unsetmatch1 = Utilizzare il nome di colonna come argomento per unsetMatchColumn cachedrowsetimpl.unsetmatch2 = Utilizzare l'ID di colonna come argomento per unsetMatchColumn -cachedrowsetimpl.numrows = Il numero di righe \u00e8 inferiore a zero o alla dimensione di recupero -cachedrowsetimpl.startpos = La posizione iniziale non pu\u00f2 essere negativa +cachedrowsetimpl.numrows = Il numero di righe \u00E8 inferiore a zero o alla dimensione di recupero +cachedrowsetimpl.startpos = La posizione iniziale non pu\u00F2 essere negativa cachedrowsetimpl.nextpage = Inserire i dati prima di chiamare -cachedrowsetimpl.pagesize = La dimensione della pagina non pu\u00f2 essere inferiore a zero -cachedrowsetimpl.pagesize1 = La dimensione della pagina non pu\u00f2 essere superiore a maxRows -cachedrowsetimpl.fwdonly = ResultSet \u00e8 a solo inoltro -cachedrowsetimpl.type = Il tipo \u00e8: {0} +cachedrowsetimpl.pagesize = La dimensione della pagina non pu\u00F2 essere inferiore a zero +cachedrowsetimpl.pagesize1 = La dimensione della pagina non pu\u00F2 essere superiore a maxRows +cachedrowsetimpl.fwdonly = ResultSet \u00E8 a solo inoltro +cachedrowsetimpl.type = Il tipo \u00E8: {0} cachedrowsetimpl.opnotysupp = Operazione attualmente non supportata -cachedrowsetimpl.featnotsupp = Funzionalit\u00e0 non supportata +cachedrowsetimpl.featnotsupp = Funzione non supportata # WebRowSetImpl exceptions -webrowsetimpl.nullhash = Impossibile istanziare l'istanza WebRowSetImpl. Tabella hash nulla fornita al costruttore -webrowsetimpl.invalidwr = Autore non valido -webrowsetimpl.invalidrd = Lettore non valido +webrowsetimpl.nullhash = Impossibile creare istanza WebRowSetImpl. Tabella hash nulla fornita al costruttore +webrowsetimpl.invalidwr = Processo di scrittura non valido +webrowsetimpl.invalidrd = Processo di lettura non valido #FilteredRowSetImpl exceptions filteredrowsetimpl.relative = relative: operazione cursore non valida filteredrowsetimpl.absolute = absolute: operazione cursore non valida -filteredrowsetimpl.notallowed = Questo valore non \u00e8 consentito nel filtro +filteredrowsetimpl.notallowed = Questo valore non \u00E8 consentito nel filtro #JoinRowSetImpl exceptions -joinrowsetimpl.notinstance = Non \u00e8 un'istanza di rowset +joinrowsetimpl.notinstance = Non \u00E8 un'istanza di rowset joinrowsetimpl.matchnotset = Colonna di corrispondenza non impostata per l'unione joinrowsetimpl.numnotequal = Numero di elementi in rowset diverso dalla colonna di corrispondenza -joinrowsetimpl.notdefined = Non \u00e8 un tipo di unione definito -joinrowsetimpl.notsupported = Questo tipo di unione non \u00e8 supportato +joinrowsetimpl.notdefined = Non \u00E8 un tipo di unione definito +joinrowsetimpl.notsupported = Questo tipo di unione non \u00E8 supportato joinrowsetimpl.initerror = Errore di inizializzazione di JoinRowSet joinrowsetimpl.genericerr = Errore iniziale di joinrowset generico joinrowsetimpl.emptyrowset = Impossibile aggiungere un set di righe vuoto al JoinRowSet corrente @@ -109,16 +110,16 @@ jdbcrowsetimpl.matchcols2 = Le colonne di corrispondenza non possono essere una jdbcrowsetimpl.unsetmatch = Le colonne rimosse non coincidono con le colonne impostate jdbcrowsetimpl.usecolname = Utilizzare il nome di colonna come argomento per unsetMatchColumn jdbcrowsetimpl.usecolid = Utilizzare l'ID di colonna come argomento per unsetMatchColumn -jdbcrowsetimpl.resnotupd = ResultSet non \u00e8 aggiornabile +jdbcrowsetimpl.resnotupd = ResultSet non \u00E8 aggiornabile jdbcrowsetimpl.opnotysupp = Operazione attualmente non supportata -jdbcrowsetimpl.featnotsupp = Funzionalit\u00e0 non supportata +jdbcrowsetimpl.featnotsupp = Funzione non supportata #CachedRowSetReader exceptions crsreader.connect = (JNDI) Impossibile stabilire una connessione crsreader.paramtype = Impossibile dedurre il tipo di parametro crsreader.connecterr = Errore interno in RowSetReader: nessuna connessione o comando -crsreader.datedetected = \u00c8 stata rilevata una data -crsreader.caldetected = \u00c8 stato rilevato un calendario +crsreader.datedetected = \u00C8 stata rilevata una data +crsreader.caldetected = \u00C8 stato rilevato un calendario #CachedRowSetWriter exceptions crswriter.connect = Impossibile stabilire una connessione @@ -128,13 +129,13 @@ crswriter.params2 = Valore dei parametri 2: {0} crswriter.conflictsno = Conflitti durante la sincronizzazione #InsertRow exceptions -insertrow.novalue = Non \u00e8 stato inserito alcun valore +insertrow.novalue = Non \u00E8 stato inserito alcun valore #SyncResolverImpl exceptions -syncrsimpl.indexval = Il valore di indice non rientra nell'intervallo -syncrsimpl.noconflict = Questa colonna non \u00e8 in conflitto +syncrsimpl.indexval = Valore indice non compreso nell'intervallo +syncrsimpl.noconflict = Questa colonna non \u00E8 in conflitto syncrsimpl.syncnotpos = Impossibile eseguire la sincronizzazione -syncrsimpl.valtores = Il valore da risolvere pu\u00f2 essere nel database o in cachedrowset +syncrsimpl.valtores = Il valore da risolvere pu\u00F2 essere nel database o in cachedrowset #WebRowSetXmlReader exception wrsxmlreader.invalidcp = Raggiunta la fine di RowSet. Posizione cursore non valida @@ -153,16 +154,17 @@ xmlrch.errmetadata = Errore durante l''impostazione dei metadati: {0} xmlrch.errinsertval = Errore durante l''inserimento dei valori: {0} xmlrch.errconstr = Errore durante la costruzione della riga: {0} xmlrch.errdel = Errore durante l''eliminazione della riga: {0} +xmlrch.errinsert = Errore durante la costruzione della riga di inserimento: {0} xmlrch.errinsdel = Errore durante la costruzione della riga insdel: {0} xmlrch.errupdate = Errore durante la costruzione della riga di aggiornamento: {0} xmlrch.errupdrow = Errore durante l''aggiornamento della riga: {0} xmlrch.chars = caratteri: -xmlrch.badvalue = valore non valido; propriet\u00e0 non annullabile +xmlrch.badvalue = valore non valido; propriet\u00E0 non annullabile xmlrch.badvalue1 = valore non valido; metadati non annullabili -xmlrch.warning = **Avviso: {0}, riga: {1}, URI: {2} +xmlrch.warning = **Avvertenza: {0}, riga: {1}, URI: {2} #RIOptimisticProvider Exceptions -riop.locking = La classificazione di blocco non \u00e8 supportata +riop.locking = La classificazione di blocco non \u00E8 supportata #RIXMLProvider exceptions rixml.unsupp = Non supportato con RIXMLProvider diff --git a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties index 883c96a6174..7580131926d 100644 --- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties +++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties @@ -24,145 +24,147 @@ # # CacheRowSetImpl exceptions -cachedrowsetimpl.populate = populate \u30e1\u30bd\u30c3\u30c9\u306b\u7121\u52b9\u306a ResultSet \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f\u3002 -cachedrowsetimpl.invalidp = \u7121\u52b9\u306a\u6301\u7d9a\u6027\u30d7\u30ed\u30d0\u30a4\u30c0\u304c\u751f\u6210\u3055\u308c\u307e\u3057\u305f\u3002 -cachedrowsetimpl.nullhash = CachedRowSetImpl \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u3067\u304d\u307e\u305b\u3093\u3002\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306b null \u306e Hashtable \u304c\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f\u3002 -cachedrowsetimpl.invalidop = \u633f\u5165\u884c\u3067\u306e\u7121\u52b9\u306a\u64cd\u4f5c -cachedrowsetimpl.accfailed = acceptChanges \u306e\u5931\u6557 -cachedrowsetimpl.invalidcp = \u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u4f4d\u7f6e -cachedrowsetimpl.illegalop = \u633f\u5165\u3055\u308c\u306a\u304b\u3063\u305f\u884c\u306e\u4e0d\u6b63\u306a\u64cd\u4f5c -cachedrowsetimpl.clonefail = \u8907\u88fd\u306e\u5931\u6557 : {0} -cachedrowsetimpl.invalidcol = \u7121\u52b9\u306a\u5217\u30a4\u30f3\u30c7\u30c3\u30af\u30b9 -cachedrowsetimpl.invalcolnm = \u7121\u52b9\u306a\u5217\u540d -cachedrowsetimpl.boolfail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getBoolen \u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002 -cachedrowsetimpl.bytefail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getByte \u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002 -cachedrowsetimpl.shortfail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getShort \u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002 -cachedrowsetimpl.intfail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getInt \u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002 -cachedrowsetimpl.longfail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getLong \u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002 -cachedrowsetimpl.floatfail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getFloat \u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002 -cachedrowsetimpl.doublefail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getDouble \u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002 -cachedrowsetimpl.dtypemismt = \u30c7\u30fc\u30bf\u578b\u306e\u30df\u30b9\u30de\u30c3\u30c1 -cachedrowsetimpl.datefail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getDate \u304c\u5931\u6557\u3002\u5909\u63db\u3067\u304d\u307e\u305b\u3093\u3002 -cachedrowsetimpl.timefail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getTime \u304c\u5931\u6557\u3002\u5909\u63db\u3067\u304d\u307e\u305b\u3093\u3002 -cachedrowsetimpl.posupdate = \u4f4d\u7f6e\u6c7a\u3081\u3055\u308c\u305f\u66f4\u65b0\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093\u3002 -cachedrowsetimpl.unableins = \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u3067\u304d\u306a\u3044 : {0} -cachedrowsetimpl.beforefirst = beforeFirst : \u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u64cd\u4f5c -cachedrowsetimpl.first = First : \u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u64cd\u4f5c -cachedrowsetimpl.last = last : TYPE_FORWARD_ONLY -cachedrowsetimpl.absolute = absolute : \u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u64cd\u4f5c -cachedrowsetimpl.relative = relative : \u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u64cd\u4f5c -cachedrowsetimpl.asciistream = ascii \u30b9\u30c8\u30ea\u30fc\u30e0\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002 -cachedrowsetimpl.binstream = \u30d0\u30a4\u30ca\u30ea\u30b9\u30c8\u30ea\u30fc\u30e0\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002 -cachedrowsetimpl.failedins = \u884c\u306e\u633f\u5165\u306b\u5931\u6557 -cachedrowsetimpl.updateins = \u633f\u5165\u884c\u306b\u3066 updateRow \u304c\u547c\u3073\u51fa\u3055\u308c\u307e\u3057\u305f\u3002 -cachedrowsetimpl.movetoins = moveToInsertRow : CONCUR_READ_ONLY -cachedrowsetimpl.movetoins1 = moveToInsertRow : \u30e1\u30bf\u30c7\u30fc\u30bf\u306a\u3057 -cachedrowsetimpl.movetoins2 = moveToInsertRow : \u7121\u52b9\u306a\u5217\u6570 -cachedrowsetimpl.tablename = \u8868\u540d\u306b null \u306f\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002 -cachedrowsetimpl.keycols = \u7121\u52b9\u306a\u30ad\u30fc\u5217 -cachedrowsetimpl.opnotsupp = \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u306a\u3044\u64cd\u4f5c -cachedrowsetimpl.matchcols = \u4e00\u81f4\u5217\u304c\u5217\u306e\u30bb\u30c3\u30c8\u3068\u540c\u3058\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 -cachedrowsetimpl.setmatchcols = \u4e00\u81f4\u5217\u3092\u53d6\u5f97\u3059\u308b\u524d\u306b\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002 -cachedrowsetimpl.matchcols1 = \u4e00\u81f4\u5217\u306f 0 \u3088\u308a\u5927\u304d\u3044\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 -cachedrowsetimpl.matchcols2 = \u4e00\u81f4\u5217\u306f\u7a7a\u304b null \u6587\u5b57\u5217\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 -cachedrowsetimpl.unsetmatch = \u8a2d\u5b9a\u89e3\u9664\u3055\u308c\u3066\u3044\u308b\u5217\u306f\u30bb\u30c3\u30c8\u3068\u540c\u3058\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 -cachedrowsetimpl.unsetmatch1 = unsetMatchColumn \u3078\u306e\u5f15\u6570\u3068\u3057\u3066\u5217\u540d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002 -cachedrowsetimpl.unsetmatch2 = unsetMatchColumn \u3078\u306e\u5f15\u6570\u3068\u3057\u3066\u5217 ID \u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002 -cachedrowsetimpl.numrows = \u884c\u6570\u304c\u30bc\u30ed\u307e\u305f\u306f\u30d5\u30a7\u30c3\u30c1\u30b5\u30a4\u30ba\u3088\u308a\u5c0f\u3055\u3044\u3067\u3059\u3002 -cachedrowsetimpl.startpos = \u958b\u59cb\u4f4d\u7f6e\u306f\u8ca0\u3067\u306f\u306a\u308a\u307e\u305b\u3093\u3002 -cachedrowsetimpl.nextpage = \u547c\u3073\u51fa\u3057\u524d\u306b\u30c7\u30fc\u30bf\u3092\u751f\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002 -cachedrowsetimpl.pagesize = \u30da\u30fc\u30b8\u30b5\u30a4\u30ba\u306f\u30bc\u30ed\u3088\u308a\u5c0f\u3055\u304f\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002 -cachedrowsetimpl.pagesize1 = \u30da\u30fc\u30b8\u30b5\u30a4\u30ba\u306f maxRows \u3088\u308a\u5927\u304d\u304f\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002 -cachedrowsetimpl.fwdonly = ResultSet \u306f\u9806\u65b9\u5411\u306e\u307f\u3067\u3059\u3002 -cachedrowsetimpl.type = \u578b : {0} -cachedrowsetimpl.opnotysupp = \u307e\u3060\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u64cd\u4f5c -cachedrowsetimpl.featnotsupp = \u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u6a5f\u80fd +cachedrowsetimpl.populate = populate\u30E1\u30BD\u30C3\u30C9\u306B\u7121\u52B9\u306AResultSet\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304C\u4F7F\u7528\u3055\u308C\u307E\u3057\u305F +cachedrowsetimpl.invalidp = \u7121\u52B9\u306A\u6C38\u7D9A\u6027\u30D7\u30ED\u30D0\u30A4\u30C0\u304C\u751F\u6210\u3055\u308C\u307E\u3057\u305F +cachedrowsetimpl.nullhash = CachedRowSetImpl\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3067\u304D\u307E\u305B\u3093\u3002\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306Bnull\u306EHashtable\u304C\u4F7F\u7528\u3055\u308C\u307E\u3057\u305F +cachedrowsetimpl.invalidop = \u633F\u5165\u884C\u3067\u306E\u7121\u52B9\u306A\u64CD\u4F5C +cachedrowsetimpl.accfailed = acceptChanges\u306E\u5931\u6557 +cachedrowsetimpl.invalidcp = \u7121\u52B9\u306A\u30AB\u30FC\u30BD\u30EB\u4F4D\u7F6E +cachedrowsetimpl.illegalop = \u633F\u5165\u3055\u308C\u306A\u304B\u3063\u305F\u884C\u306E\u4E0D\u6B63\u306A\u64CD\u4F5C +cachedrowsetimpl.clonefail = \u30AF\u30ED\u30FC\u30F3\u306E\u5931\u6557: {0} +cachedrowsetimpl.invalidcol = \u7121\u52B9\u306A\u5217\u7D22\u5F15 +cachedrowsetimpl.invalcolnm = \u7121\u52B9\u306A\u5217\u540D +cachedrowsetimpl.boolfail = \u5217{1}\u306E\u5024({0})\u3067getBoolean\u304C\u5931\u6557\u3057\u307E\u3057\u305F +cachedrowsetimpl.bytefail = \u5217{1}\u306E\u5024({0})\u3067getByte\u304C\u5931\u6557\u3057\u307E\u3057\u305F +cachedrowsetimpl.shortfail = \u5217{1}\u306E\u5024({0})\u3067getShort\u304C\u5931\u6557\u3057\u307E\u3057\u305F +cachedrowsetimpl.intfail = \u5217{1}\u306E\u5024({0})\u3067getInt\u304C\u5931\u6557\u3057\u307E\u3057\u305F +cachedrowsetimpl.longfail = \u5217{1}\u306E\u5024({0})\u3067getLong\u304C\u5931\u6557\u3057\u307E\u3057\u305F +cachedrowsetimpl.floatfail = \u5217{1}\u306E\u5024({0})\u3067getFloat\u304C\u5931\u6557\u3057\u307E\u3057\u305F +cachedrowsetimpl.doublefail = \u5217{1}\u306E\u5024({0})\u3067getDouble\u304C\u5931\u6557\u3057\u307E\u3057\u305F +cachedrowsetimpl.dtypemismt = \u30C7\u30FC\u30BF\u578B\u306E\u4E0D\u4E00\u81F4 +cachedrowsetimpl.datefail = \u5217{1}\u306E\u5024({0})\u3067getDate\u304C\u5931\u6557\u3002\u5909\u63DB\u3067\u304D\u307E\u305B\u3093 +cachedrowsetimpl.timefail = \u5217{1}\u306E\u5024({0})\u3067getTime\u304C\u5931\u6557\u3002\u5909\u63DB\u3067\u304D\u307E\u305B\u3093 +cachedrowsetimpl.posupdate = \u4F4D\u7F6E\u6C7A\u3081\u3055\u308C\u305F\u66F4\u65B0\u304C\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093 +cachedrowsetimpl.unableins = \u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3067\u304D\u306A\u3044: {0} +cachedrowsetimpl.beforefirst = beforeFirst: \u7121\u52B9\u306A\u30AB\u30FC\u30BD\u30EB\u64CD\u4F5C +cachedrowsetimpl.first = First: \u7121\u52B9\u306A\u30AB\u30FC\u30BD\u30EB\u64CD\u4F5C +cachedrowsetimpl.last = last: TYPE_FORWARD_ONLY +cachedrowsetimpl.absolute = absolute: \u7121\u52B9\u306A\u30AB\u30FC\u30BD\u30EB\u4F4D\u7F6E +cachedrowsetimpl.relative = relative: \u7121\u52B9\u306A\u30AB\u30FC\u30BD\u30EB\u4F4D\u7F6E +cachedrowsetimpl.asciistream = ascii\u30B9\u30C8\u30EA\u30FC\u30E0\u306E\u8AAD\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F +cachedrowsetimpl.binstream = \u30D0\u30A4\u30CA\u30EA\u30FB\u30B9\u30C8\u30EA\u30FC\u30E0\u306E\u8AAD\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F +cachedrowsetimpl.failedins = \u884C\u306E\u633F\u5165\u306B\u5931\u6557 +cachedrowsetimpl.updateins = \u633F\u5165\u884C\u306B\u304A\u3044\u3066updateRow\u304C\u547C\u3073\u51FA\u3055\u308C\u307E\u3057\u305F +cachedrowsetimpl.movetoins = moveToInsertRow: CONCUR_READ_ONLY +cachedrowsetimpl.movetoins1 = moveToInsertRow: \u30E1\u30BF\u30C7\u30FC\u30BF\u306A\u3057 +cachedrowsetimpl.movetoins2 = moveToInsertRow: \u7121\u52B9\u306A\u5217\u6570 +cachedrowsetimpl.tablename = \u8868\u540D\u306Bnull\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093 +cachedrowsetimpl.keycols = \u7121\u52B9\u306A\u30AD\u30FC\u5217 +cachedrowsetimpl.invalidcol = \u7121\u52B9\u306A\u5217\u7D22\u5F15 +cachedrowsetimpl.opnotsupp = \u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u306A\u3044\u64CD\u4F5C +cachedrowsetimpl.matchcols = \u4E00\u81F4\u5217\u304C\u5217\u306E\u30BB\u30C3\u30C8\u3068\u540C\u3058\u3067\u306F\u3042\u308A\u307E\u305B\u3093 +cachedrowsetimpl.setmatchcols = \u4E00\u81F4\u5217\u3092\u53D6\u5F97\u3059\u308B\u524D\u306B\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044 +cachedrowsetimpl.matchcols1 = \u4E00\u81F4\u5217\u306F0\u3088\u308A\u5927\u304D\u3044\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059 +cachedrowsetimpl.matchcols2 = \u4E00\u81F4\u5217\u306F\u7A7A\u304Bnull\u6587\u5B57\u5217\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059 +cachedrowsetimpl.unsetmatch = \u8A2D\u5B9A\u89E3\u9664\u3055\u308C\u3066\u3044\u308B\u5217\u306F\u30BB\u30C3\u30C8\u3068\u540C\u3058\u3067\u306F\u3042\u308A\u307E\u305B\u3093 +cachedrowsetimpl.unsetmatch1 = unsetMatchColumn\u3078\u306E\u5F15\u6570\u3068\u3057\u3066\u5217\u540D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044 +cachedrowsetimpl.unsetmatch2 = unsetMatchColumn\u3078\u306E\u5F15\u6570\u3068\u3057\u3066\u5217ID\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044 +cachedrowsetimpl.numrows = \u884C\u6570\u304C\u30BC\u30ED\u307E\u305F\u306F\u30D5\u30A7\u30C3\u30C1\u30FB\u30B5\u30A4\u30BA\u3088\u308A\u5C0F\u3055\u3044\u3067\u3059 +cachedrowsetimpl.startpos = \u958B\u59CB\u4F4D\u7F6E\u3092\u8CA0\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093 +cachedrowsetimpl.nextpage = \u547C\u51FA\u3057\u524D\u306B\u30C7\u30FC\u30BF\u3092\u79FB\u5165\u3057\u307E\u3059 +cachedrowsetimpl.pagesize = \u30DA\u30FC\u30B8\u30FB\u30B5\u30A4\u30BA\u3092\u30BC\u30ED\u3088\u308A\u5C0F\u3055\u304F\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093 +cachedrowsetimpl.pagesize1 = \u30DA\u30FC\u30B8\u30FB\u30B5\u30A4\u30BA\u3092maxRows\u3088\u308A\u5927\u304D\u304F\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093 +cachedrowsetimpl.fwdonly = ResultSet\u306F\u9806\u65B9\u5411\u306E\u307F\u3067\u3059 +cachedrowsetimpl.type = \u30BF\u30A4\u30D7: {0} +cachedrowsetimpl.opnotysupp = \u307E\u3060\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u64CD\u4F5C +cachedrowsetimpl.featnotsupp = \u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u6A5F\u80FD # WebRowSetImpl exceptions -webrowsetimpl.nullhash = WebRowSetImpl \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u3067\u304d\u307e\u305b\u3093\u3002\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306b null \u306e Hashtable \u304c\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f\u3002 -webrowsetimpl.invalidwr = \u7121\u52b9\u306a\u30e9\u30a4\u30bf\u30fc -webrowsetimpl.invalidrd = \u7121\u52b9\u306a\u30ea\u30fc\u30c0\u30fc +webrowsetimpl.nullhash = WebRowSetImpl\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3067\u304D\u307E\u305B\u3093\u3002\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306Bnull\u306EHashtable\u304C\u4F7F\u7528\u3055\u308C\u307E\u3057\u305F +webrowsetimpl.invalidwr = \u7121\u52B9\u306A\u30E9\u30A4\u30BF\u30FC +webrowsetimpl.invalidrd = \u7121\u52B9\u306A\u30EA\u30FC\u30C0\u30FC #FilteredRowSetImpl exceptions -filteredrowsetimpl.relative = relative : \u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u64cd\u4f5c -filteredrowsetimpl.absolute = absolute : \u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u64cd\u4f5c -filteredrowsetimpl.notallowed = \u3053\u306e\u5024\u306f\u30d5\u30a3\u30eb\u30bf\u3067\u8a31\u5bb9\u3055\u308c\u307e\u305b\u3093\u3002 +filteredrowsetimpl.relative = relative: \u7121\u52B9\u306A\u30AB\u30FC\u30BD\u30EB\u64CD\u4F5C +filteredrowsetimpl.absolute = absolute: \u7121\u52B9\u306A\u30AB\u30FC\u30BD\u30EB\u64CD\u4F5C +filteredrowsetimpl.notallowed = \u3053\u306E\u5024\u306F\u30D5\u30A3\u30EB\u30BF\u3067\u8A31\u5BB9\u3055\u308C\u307E\u305B\u3093 #JoinRowSetImpl exceptions -joinrowsetimpl.notinstance = \u884c\u30bb\u30c3\u30c8\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 -joinrowsetimpl.matchnotset = \u4e00\u81f4\u5217\u304c\u7d50\u5408\u7528\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002 -joinrowsetimpl.numnotequal = \u884c\u30bb\u30c3\u30c8\u306e\u8981\u7d20\u6570\u304c\u4e00\u81f4\u5217\u3068\u7b49\u3057\u304f\u3042\u308a\u307e\u305b\u3093\u3002 -joinrowsetimpl.notdefined = \u5b9a\u7fa9\u3055\u308c\u305f\u7d50\u5408\u306e\u578b\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 -joinrowsetimpl.notsupported = \u3053\u306e\u578b\u306e\u7d50\u5408\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002 -joinrowsetimpl.initerror = JoinRowSet \u521d\u671f\u5316\u30a8\u30e9\u30fc -joinrowsetimpl.genericerr = \u6c4e\u7528 joinrowset \u306e\u521d\u671f\u30a8\u30e9\u30fc -joinrowsetimpl.emptyrowset = \u3053\u306e JoinRowSet \u306b\u7a7a\u306e\u884c\u30bb\u30c3\u30c8\u3092\u8ffd\u52a0\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002 +joinrowsetimpl.notinstance = \u884C\u30BB\u30C3\u30C8\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093 +joinrowsetimpl.matchnotset = \u4E00\u81F4\u5217\u304C\u7D50\u5408\u7528\u306B\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093 +joinrowsetimpl.numnotequal = \u884C\u30BB\u30C3\u30C8\u306E\u8981\u7D20\u6570\u304C\u4E00\u81F4\u5217\u3068\u7B49\u3057\u304F\u3042\u308A\u307E\u305B\u3093 +joinrowsetimpl.notdefined = \u5B9A\u7FA9\u3055\u308C\u305F\u7D50\u5408\u306E\u30BF\u30A4\u30D7\u3067\u306F\u3042\u308A\u307E\u305B\u3093 +joinrowsetimpl.notsupported = \u3053\u306E\u30BF\u30A4\u30D7\u306E\u7D50\u5408\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093 +joinrowsetimpl.initerror = JoinRowSet\u521D\u671F\u5316\u30A8\u30E9\u30FC +joinrowsetimpl.genericerr = \u6C4E\u7528joinrowset\u306E\u521D\u671F\u30A8\u30E9\u30FC +joinrowsetimpl.emptyrowset = \u3053\u306EJoinRowSet\u306B\u7A7A\u306E\u884C\u30BB\u30C3\u30C8\u3092\u8FFD\u52A0\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093 #JdbcRowSetImpl exceptions -jdbcrowsetimpl.invalstate = \u7121\u52b9\u306a\u72b6\u614b -jdbcrowsetimpl.connect = JdbcRowSet (connect) JNDI \u304c\u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093\u3002 -jdbcrowsetimpl.paramtype = \u30d1\u30e9\u30e1\u30fc\u30bf\u578b\u3092\u63a8\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002 -jdbcrowsetimpl.matchcols = \u4e00\u81f4\u5217\u304c\u5217\u306e\u30bb\u30c3\u30c8\u3068\u540c\u3058\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 -jdbcrowsetimpl.setmatchcols = \u4e00\u81f4\u5217\u3092\u53d6\u5f97\u3059\u308b\u524d\u306b\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002 -jdbcrowsetimpl.matchcols1 = \u4e00\u81f4\u5217\u306f 0 \u3088\u308a\u5927\u304d\u3044\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 -jdbcrowsetimpl.matchcols2 = \u4e00\u81f4\u5217\u306f\u7a7a\u3084 null \u6587\u5b57\u5217\u3067\u306f\u306a\u308a\u307e\u305b\u3093\u3002 -jdbcrowsetimpl.unsetmatch = \u8a2d\u5b9a\u89e3\u9664\u3055\u308c\u3066\u3044\u308b\u5217\u306f\u30bb\u30c3\u30c8\u3068\u540c\u3058\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 -jdbcrowsetimpl.usecolname = unsetMatchColumn \u3078\u306e\u5f15\u6570\u3068\u3057\u3066\u5217\u540d\u3092\u4f7f\u7528\u3066\u304f\u3060\u3055\u3044\u3002 -jdbcrowsetimpl.usecolid = unsetMatchColumn \u3078\u306e\u5f15\u6570\u3068\u3057\u3066\u5217 ID \u3092\u4f7f\u7528\u3066\u304f\u3060\u3055\u3044\u3002 -jdbcrowsetimpl.resnotupd = ResultSet \u306f\u66f4\u65b0\u3067\u304d\u307e\u305b\u3093\u3002 -jdbcrowsetimpl.opnotysupp = \u307e\u3060\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u64cd\u4f5c -jdbcrowsetimpl.featnotsupp = \u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u6a5f\u80fd +jdbcrowsetimpl.invalstate = \u7121\u52B9\u306A\u72B6\u614B +jdbcrowsetimpl.connect = JdbcRowSet(connect): JNDI\u304C\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093 +jdbcrowsetimpl.paramtype = \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30BF\u30A4\u30D7\u3092\u63A8\u5B9A\u3067\u304D\u307E\u305B\u3093 +jdbcrowsetimpl.matchcols = \u4E00\u81F4\u5217\u304C\u5217\u306E\u30BB\u30C3\u30C8\u3068\u540C\u3058\u3067\u306F\u3042\u308A\u307E\u305B\u3093 +jdbcrowsetimpl.setmatchcols = \u4E00\u81F4\u5217\u3092\u53D6\u5F97\u3059\u308B\u524D\u306B\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044 +jdbcrowsetimpl.matchcols1 = \u4E00\u81F4\u5217\u306F0\u3088\u308A\u5927\u304D\u3044\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059 +jdbcrowsetimpl.matchcols2 = \u4E00\u81F4\u5217\u3092\u7A7A\u307E\u305F\u306Fnull\u6587\u5B57\u5217\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093 +jdbcrowsetimpl.unsetmatch = \u8A2D\u5B9A\u89E3\u9664\u3055\u308C\u3066\u3044\u308B\u5217\u306F\u30BB\u30C3\u30C8\u3068\u540C\u3058\u3067\u306F\u3042\u308A\u307E\u305B\u3093 +jdbcrowsetimpl.usecolname = unsetMatchColumn\u3078\u306E\u5F15\u6570\u3068\u3057\u3066\u5217\u540D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044 +jdbcrowsetimpl.usecolid = unsetMatchColumn\u3078\u306E\u5F15\u6570\u3068\u3057\u3066\u5217ID\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044 +jdbcrowsetimpl.resnotupd = ResultSet\u306F\u66F4\u65B0\u3067\u304D\u307E\u305B\u3093 +jdbcrowsetimpl.opnotysupp = \u307E\u3060\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u64CD\u4F5C +jdbcrowsetimpl.featnotsupp = \u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u6A5F\u80FD #CachedRowSetReader exceptions -crsreader.connect = (JNDI) \u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093\u3002 -crsreader.paramtype = \u30d1\u30e9\u30e1\u30fc\u30bf\u578b\u3092\u63a8\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002 -crsreader.connecterr = RowSetReader \u306e\u5185\u90e8\u30a8\u30e9\u30fc: \u63a5\u7d9a\u307e\u305f\u306f\u30b3\u30de\u30f3\u30c9\u306a\u3057 -crsreader.datedetected = \u65e5\u4ed8\u3092\u691c\u51fa\u3057\u307e\u3057\u305f\u3002 -crsreader.caldetected = \u30ab\u30ec\u30f3\u30c0\u3092\u691c\u51fa\u3057\u307e\u3057\u305f\u3002 +crsreader.connect = (JNDI)\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093 +crsreader.paramtype = \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30BF\u30A4\u30D7\u3092\u63A8\u5B9A\u3067\u304D\u307E\u305B\u3093 +crsreader.connecterr = RowSetReader\u306E\u5185\u90E8\u30A8\u30E9\u30FC: \u63A5\u7D9A\u307E\u305F\u306F\u30B3\u30DE\u30F3\u30C9\u306A\u3057 +crsreader.datedetected = \u65E5\u4ED8\u3092\u691C\u51FA\u3057\u307E\u3057\u305F +crsreader.caldetected = \u30AB\u30EC\u30F3\u30C0\u3092\u691C\u51FA\u3057\u307E\u3057\u305F #CachedRowSetWriter exceptions -crswriter.connect = \u63a5\u7d9a\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3002 -crswriter.tname = writeData \u304c\u8868\u540d\u3092\u5224\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002 -crswriter.params1 = params1 \u306e\u5024 : {0} -crswriter.params2 = params2 \u306e\u5024 : {0} -crswriter.conflictsno = \u540c\u671f\u4e2d\u306b\u7af6\u5408\u304c\u767a\u751f\u3057\u307e\u3059\u3002 +crswriter.connect = \u63A5\u7D9A\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093 +crswriter.tname = writeData\u304C\u8868\u540D\u3092\u5224\u5225\u3067\u304D\u307E\u305B\u3093 +crswriter.params1 = params1\u306E\u5024: {0} +crswriter.params2 = params2\u306E\u5024: {0} +crswriter.conflictsno = \u540C\u671F\u4E2D\u306B\u7AF6\u5408\u304C\u767A\u751F\u3057\u307E\u3059 #InsertRow exceptions -insertrow.novalue = \u5024\u306f\u633f\u5165\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002 +insertrow.novalue = \u5024\u306F\u633F\u5165\u3055\u308C\u3066\u3044\u307E\u305B\u3093 #SyncResolverImpl exceptions -syncrsimpl.indexval = \u7bc4\u56f2\u5916\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5024 -syncrsimpl.noconflict = \u3053\u306e\u5217\u306f\u7af6\u5408\u3057\u3066\u3044\u307e\u305b\u3093\u3002 -syncrsimpl.syncnotpos = \u540c\u671f\u3067\u304d\u307e\u305b\u3093\u3002 -syncrsimpl.valtores = \u89e3\u6c7a\u3055\u308c\u308b\u5024\u306f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b cachedrowset \u306b\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002 +syncrsimpl.indexval = \u7BC4\u56F2\u5916\u306E\u7D22\u5F15\u5024 +syncrsimpl.noconflict = \u3053\u306E\u5217\u306F\u7AF6\u5408\u3057\u3066\u3044\u307E\u305B\u3093 +syncrsimpl.syncnotpos = \u540C\u671F\u3067\u304D\u307E\u305B\u3093 +syncrsimpl.valtores = \u89E3\u6C7A\u3055\u308C\u308B\u5024\u306F\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u307E\u305F\u306Fcachedrowset\u306B\u3042\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059 #WebRowSetXmlReader exception -wrsxmlreader.invalidcp = RowSet \u306e\u6700\u5f8c\u306b\u5230\u9054\u3057\u307e\u3057\u305f\u3002\u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u4f4d\u7f6e -wrsxmlreader.readxml = readXML : {0} -wrsxmlreader.parseerr = ** \u89e3\u6790\u30a8\u30e9\u30fc : {0} , \u884c : {1} , URI : {2} +wrsxmlreader.invalidcp = RowSet\u306E\u6700\u5F8C\u306B\u5230\u9054\u3057\u307E\u3057\u305F\u3002\u7121\u52B9\u306A\u30AB\u30FC\u30BD\u30EB\u4F4D\u7F6E +wrsxmlreader.readxml = readXML: {0} +wrsxmlreader.parseerr = **\u89E3\u6790\u30A8\u30E9\u30FC: {0}\u3001\u884C: {1}\u3001URI: {2} #WebRowSetXmlWriter exceptions -wrsxmlwriter.ioex = IOException : {0} -wrsxmlwriter.sqlex = SQLException : {0} -wrsxmlwriter.failedwrite = \u5024\u306e\u66f8\u304d\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002 -wsrxmlwriter.notproper = \u9069\u5207\u306a\u578b\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 +wrsxmlwriter.ioex = IOException: {0} +wrsxmlwriter.sqlex = SQLException: {0} +wrsxmlwriter.failedwrite = \u5024\u306E\u66F8\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F +wsrxmlwriter.notproper = \u9069\u5207\u306A\u30BF\u30A4\u30D7\u3067\u306F\u3042\u308A\u307E\u305B\u3093 #XmlReaderContentHandler exceptions -xmlrch.errmap = Map \u8a2d\u5b9a\u30a8\u30e9\u30fc : {0} -xmlrch.errmetadata = \u30e1\u30bf\u30c7\u30fc\u30bf\u8a2d\u5b9a\u30a8\u30e9\u30fc : {0} -xmlrch.errinsertval = \u5024\u306e\u633f\u5165\u30a8\u30e9\u30fc : {0} -xmlrch.errconstr = \u884c\u306e\u751f\u6210\u30a8\u30e9\u30fc : {0} -xmlrch.errdel = \u884c\u306e\u524a\u9664\u30a8\u30e9\u30fc : {0} -xmlrch.errinsdel = insdel \u884c\u306e\u751f\u6210\u30a8\u30e9\u30fc : {0} -xmlrch.errupdate = \u66f4\u65b0\u884c\u306e\u751f\u6210\u30a8\u30e9\u30fc : {0} -xmlrch.errupdrow = \u884c\u306e\u66f4\u65b0\u30a8\u30e9\u30fc : {0} -xmlrch.chars = \u6587\u5b57 : -xmlrch.badvalue = \u4e0d\u6b63\u306a\u5024 ; null \u306b\u3067\u304d\u306a\u3044\u30d7\u30ed\u30d1\u30c6\u30a3 -xmlrch.badvalue1 = \u4e0d\u6b63\u306a\u5024 ; null \u306b\u3067\u304d\u306a\u3044\u30e1\u30bf\u30c7\u30fc\u30bf -xmlrch.warning = ** \u8b66\u544a : {0} , \u884c : {1} , URI : {2} +xmlrch.errmap = Map\u8A2D\u5B9A\u30A8\u30E9\u30FC: {0} +xmlrch.errmetadata = \u30E1\u30BF\u30C7\u30FC\u30BF\u8A2D\u5B9A\u30A8\u30E9\u30FC: {0} +xmlrch.errinsertval = \u5024\u306E\u633F\u5165\u30A8\u30E9\u30FC: {0} +xmlrch.errconstr = \u884C\u306E\u751F\u6210\u30A8\u30E9\u30FC: {0} +xmlrch.errdel = \u884C\u306E\u524A\u9664\u30A8\u30E9\u30FC: {0} +xmlrch.errinsert = \u633F\u5165\u884C\u306E\u751F\u6210\u30A8\u30E9\u30FC: {0} +xmlrch.errinsdel = insdel\u884C\u306E\u751F\u6210\u30A8\u30E9\u30FC: {0} +xmlrch.errupdate = \u66F4\u65B0\u884C\u306E\u751F\u6210\u30A8\u30E9\u30FC: {0} +xmlrch.errupdrow = \u884C\u306E\u66F4\u65B0\u30A8\u30E9\u30FC: {0} +xmlrch.chars = \u6587\u5B57: +xmlrch.badvalue = \u4E0D\u6B63\u306A\u5024: null\u306B\u3067\u304D\u306A\u3044\u30D7\u30ED\u30D1\u30C6\u30A3 +xmlrch.badvalue1 = \u4E0D\u6B63\u306A\u5024: null\u306B\u3067\u304D\u306A\u3044\u30E1\u30BF\u30C7\u30FC\u30BF +xmlrch.warning = **\u8B66\u544A: {0}\u3001\u884C: {1}\u3001URI: {2} #RIOptimisticProvider Exceptions -riop.locking = \u30ed\u30c3\u30af\u306e\u5206\u985e\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002 +riop.locking = \u30ED\u30C3\u30AF\u306E\u5206\u985E\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093 #RIXMLProvider exceptions -rixml.unsupp = RIXMLProvider \u3067\u306f\u672a\u30b5\u30dd\u30fc\u30c8 +rixml.unsupp = RIXMLProvider\u3067\u306F\u672A\u30B5\u30DD\u30FC\u30C8 diff --git a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties index 7901d9f840a..a730004c263 100644 --- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties +++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties @@ -24,145 +24,147 @@ # # CacheRowSetImpl exceptions -cachedrowsetimpl.populate = \uc798\ubabb\ub41c ResultSet \uac1d\uccb4\uac00 \uc81c\uacf5\ub418\uc5b4 \uba54\uc18c\ub4dc\ub97c \ucc44\uc6b8 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.invalidp = \uc798\ubabb\ub41c \uc9c0\uc18d\uc131 \uacf5\uae09\uc790\uac00 \uc0dd\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.nullhash = CachedRowSetImpl \uc778\uc2a4\ud134\uc2a4\ub97c \uc778\uc2a4\ud134\uc2a4\ud654\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uad6c\uc131\uc790\uc5d0 \ub110 Hashtable\uc774 \uc81c\uacf5\ub418\uc5c8\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.invalidop = \ud589\uc744 \uc0bd\uc785\ud558\ub294 \ub3d9\uc548 \uc798\ubabb\ub41c \uc791\uc5c5\uc744 \uc218\ud589\ud588\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.accfailed = acceptChanges\uac00 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.invalidcp = \uc798\ubabb\ub41c \ucee4\uc11c \uc704\uce58\uc785\ub2c8\ub2e4. -cachedrowsetimpl.illegalop = \uc0bd\uc785\ub41c \ud589\uc774 \uc544\ub2cc \ud589\uc5d0\uc11c \uc798\ubabb\ub41c \uc791\uc5c5\uc744 \uc218\ud589\ud588\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.clonefail = \ubcf5\uc81c \uc2e4\ud328: {0} -cachedrowsetimpl.invalidcol = \uc798\ubabb\ub41c \uc5f4 \uc0c9\uc778\uc785\ub2c8\ub2e4. -cachedrowsetimpl.invalcolnm = \uc798\ubabb\ub41c \uc5f4 \uc774\ub984\uc785\ub2c8\ub2e4. -cachedrowsetimpl.boolfail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getBoolen\uc774 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.bytefail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getByte\uac00 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.shortfail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getShort\uac00 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.intfail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getInt\uac00 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.longfail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getLong\uc774 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.floatfail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getFloat\uac00 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.doublefail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getDouble\uc774 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.dtypemismt = \ub370\uc774\ud130 \uc720\ud615\uc774 \uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.datefail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getDate\uac00 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. \ubcc0\ud658\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.timefail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getLong\uc774 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. \ubcc0\ud658\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.posupdate = \uc704\uce58 \uc9c0\uc815 \uc5c5\ub370\uc774\ud2b8\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.unableins = \uc778\uc2a4\ud134\uc2a4\ud654 \ud560 \uc218 \uc5c6\uc74c: {0} -cachedrowsetimpl.beforefirst = beforeFirst: \uc798\ubabb\ub41c \ucee4\uc11c \uc791\uc5c5\uc785\ub2c8\ub2e4. -cachedrowsetimpl.first = \ucc98\uc74c: \uc798\ubabb\ub41c \ucee4\uc11c \uc791\uc5c5\uc785\ub2c8\ub2e4. -cachedrowsetimpl.last = \ub9c8\uc9c0\ub9c9: TYPE_FORWARD_ONLY -cachedrowsetimpl.absolute = \uc808\ub300: \uc798\ubabb\ub41c \ucee4\uc11c \uc704\uce58\uc785\ub2c8\ub2e4. -cachedrowsetimpl.relative = \uc0c1\ub300: \uc798\ubabb\ub41c \ucee4\uc11c \uc704\uce58\uc785\ub2c8\ub2e4. -cachedrowsetimpl.asciistream = Ascii \uc2a4\ud2b8\ub9bc\uc744 \uc77d\ub294 \ub370 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.binstream = \uc774\uc9c4 \uc2a4\ud2b8\ub9bc\uc744 \uc77d\ub294 \ub370 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.failedins = \ud589\uc744 \uc0bd\uc785\ud558\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.updateins = \ud589\uc744 \uc0bd\uc785\ud558\ub294 \ub3d9\uc548 updateRow\uac00 \ud638\ucd9c\ub418\uc5c8\uc2b5\ub2c8\ub2e4. +cachedrowsetimpl.populate = \uBD80\uC801\uD569\uD55C ResultSet \uAC1D\uCCB4\uAC00 \uC81C\uACF5\uB418\uC5B4 \uBA54\uC18C\uB4DC\uB97C \uCC44\uC6B8 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.invalidp = \uBD80\uC801\uD569\uD55C \uC9C0\uC18D\uC131 \uC81C\uACF5\uC790\uAC00 \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.nullhash = CachedRowSetImpl \uC778\uC2A4\uD134\uC2A4\uB97C \uC778\uC2A4\uD134\uC2A4\uD654\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC0DD\uC131\uC790\uC5D0 \uB110 Hashtable\uC774 \uC81C\uACF5\uB418\uC5C8\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.invalidop = \uD589\uC744 \uC0BD\uC785\uD558\uB294 \uC911 \uBD80\uC801\uD569\uD55C \uC791\uC5C5\uC774 \uC218\uD589\uB418\uC5C8\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.accfailed = acceptChanges\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.invalidcp = \uCEE4\uC11C \uC704\uCE58\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. +cachedrowsetimpl.illegalop = \uC0BD\uC785\uB41C \uD589\uC774 \uC544\uB2CC \uD589\uC5D0\uC11C \uC798\uBABB\uB41C \uC791\uC5C5\uC774 \uC218\uD589\uB418\uC5C8\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.clonefail = \uBCF5\uC81C \uC2E4\uD328: {0} +cachedrowsetimpl.invalidcol = \uC5F4 \uC778\uB371\uC2A4\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. +cachedrowsetimpl.invalcolnm = \uC5F4 \uC774\uB984\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. +cachedrowsetimpl.boolfail = {1} \uC5F4\uC758 \uAC12({0})\uC5D0\uC11C getBoolen\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.bytefail = {1} \uC5F4\uC758 \uAC12({0})\uC5D0\uC11C getByte\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.shortfail = {1} \uC5F4\uC758 \uAC12({0})\uC5D0\uC11C getShort\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.intfail = {1} \uC5F4\uC758 \uAC12({0})\uC5D0\uC11C getInt\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.longfail = {1} \uC5F4\uC758 \uAC12({0})\uC5D0\uC11C getLong\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.floatfail = {1} \uC5F4\uC758 \uAC12({0})\uC5D0\uC11C getFloat\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.doublefail = {1} \uC5F4\uC758 \uAC12({0})\uC5D0\uC11C getDouble\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.dtypemismt = \uB370\uC774\uD130 \uC720\uD615\uC774 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.datefail = {1} \uC5F4\uC758 \uAC12({0})\uC5D0\uC11C getDate\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. \uBCC0\uD658\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.timefail = {1} \uC5F4\uC758 \uAC12({0})\uC5D0\uC11C getTime\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. \uBCC0\uD658\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.posupdate = \uC704\uCE58\uAC00 \uC9C0\uC815\uB41C \uAC31\uC2E0\uC774 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.unableins = \uC778\uC2A4\uD134\uC2A4\uD654\uD560 \uC218 \uC5C6\uC74C: {0} +cachedrowsetimpl.beforefirst = beforeFirst: \uCEE4\uC11C \uC791\uC5C5\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. +cachedrowsetimpl.first = \uCC98\uC74C: \uCEE4\uC11C \uC791\uC5C5\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. +cachedrowsetimpl.last = \uB9C8\uC9C0\uB9C9: TYPE_FORWARD_ONLY +cachedrowsetimpl.absolute = \uC808\uB300: \uCEE4\uC11C \uC704\uCE58\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. +cachedrowsetimpl.relative = \uC0C1\uB300: \uCEE4\uC11C \uC704\uCE58\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. +cachedrowsetimpl.asciistream = ASCII \uC2A4\uD2B8\uB9BC\uC5D0 \uB300\uD55C \uC77D\uAE30\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.binstream = \uC774\uC9C4 \uC2A4\uD2B8\uB9BC\uC5D0\uC11C \uC77D\uAE30\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.failedins = \uD589 \uC0BD\uC785\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.updateins = \uD589\uC744 \uC0BD\uC785\uD558\uB294 \uC911 updateRow\uAC00 \uD638\uCD9C\uB418\uC5C8\uC2B5\uB2C8\uB2E4. cachedrowsetimpl.movetoins = moveToInsertRow: CONCUR_READ_ONLY -cachedrowsetimpl.movetoins1 = moveToInsertRow: \uba54\ud0c0 \ub370\uc774\ud130\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.movetoins2 = moveToInsertRow: \uc798\ubabb\ub41c \uc5f4 \uac1c\uc218\uc785\ub2c8\ub2e4. -cachedrowsetimpl.tablename = \ud14c\uc774\ube14 \uc774\ub984\uc740 \ub110\uc77c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.keycols = \uc798\ubabb\ub41c \ud0a4 \uc5f4\uc785\ub2c8\ub2e4. -cachedrowsetimpl.opnotsupp = \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294 \uc791\uc5c5\uc785\ub2c8\ub2e4. -cachedrowsetimpl.matchcols = \uc77c\uce58 \uc5f4\uc774 \uc124\uc815\ub41c \uc5f4\uacfc \uac19\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.setmatchcols = \uc77c\uce58 \uc5f4\uc744 \uc124\uc815\ud55c \ub2e4\uc74c\uc5d0 \uac00\uc838\uc624\uc2ed\uc2dc\uc624. -cachedrowsetimpl.matchcols1 = \uc77c\uce58 \uc5f4\uc774 0\uac1c \uc774\uc0c1\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4. -cachedrowsetimpl.matchcols2 = \uc77c\uce58 \uc5f4\uc740 \ube44\uc5b4 \uc788\uac70\ub098 \ub110 \ubb38\uc790\uc5f4\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4. -cachedrowsetimpl.unsetmatch = \uc124\uc815 \ud574\uc81c\ud560 \uc5f4\uc774 \uc124\uc815\ub41c \uc5f4\uacfc \uac19\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.unsetmatch1 = \uc5f4 \uc774\ub984\uc744 unsetMatchColumn\uc758 \uc778\uc218\ub85c \uc0ac\uc6a9\ud558\uc2ed\uc2dc\uc624. -cachedrowsetimpl.unsetmatch2 = \uc5f4 ID\ub97c unsetMatchColumn\uc758 \uc778\uc218\ub85c \uc0ac\uc6a9\ud558\uc2ed\uc2dc\uc624. -cachedrowsetimpl.numrows = \ud589 \uac1c\uc218\uac00 0\ubcf4\ub2e4 \uc791\uac70\ub098 \ubc18\uc785 \ud06c\uae30\ubcf4\ub2e4 \uc791\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.startpos = \uc2dc\uc791 \uc704\uce58\ub294 \uc74c\uc218\uc77c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.nextpage = \ud638\ucd9c\ud558\uae30 \uc804\uc5d0 \ub370\uc774\ud130\ub97c \ucc44\uc6b0\uc2ed\uc2dc\uc624. -cachedrowsetimpl.pagesize = \ud398\uc774\uc9c0 \ud06c\uae30\ub294 0\ubcf4\ub2e4 \uc791\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.pagesize1 = \ud398\uc774\uc9c0 \ud06c\uae30\ub294 maxRows\ubcf4\ub2e4 \ud074 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. -cachedrowsetimpl.fwdonly = ResultSet\ub294 \uc804\ub2ec \uc804\uc6a9\uc785\ub2c8\ub2e4. -cachedrowsetimpl.type = \uc720\ud615: {0} -cachedrowsetimpl.opnotysupp = \uc791\uc5c5\uc774 \uc544\uc9c1 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc74c -cachedrowsetimpl.featnotsupp = \uae30\ub2a5\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc74c +cachedrowsetimpl.movetoins1 = moveToInsertRow: \uBA54\uD0C0 \uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.movetoins2 = moveToInsertRow: \uC5F4 \uC218\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. +cachedrowsetimpl.tablename = \uD14C\uC774\uBE14 \uC774\uB984\uC740 \uB110\uC77C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.keycols = \uD0A4 \uC5F4\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. +cachedrowsetimpl.invalidcol = \uC5F4 \uC778\uB371\uC2A4\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. +cachedrowsetimpl.opnotsupp = \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0\uC11C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uC791\uC5C5\uC785\uB2C8\uB2E4. +cachedrowsetimpl.matchcols = \uC77C\uCE58 \uC5F4\uC774 \uC124\uC815\uB41C \uC5F4\uACFC \uB3D9\uC77C\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.setmatchcols = \uC77C\uCE58 \uC5F4\uC744 \uC124\uC815\uD55C \uD6C4 \uAC00\uC838\uC624\uC2ED\uC2DC\uC624. +cachedrowsetimpl.matchcols1 = \uC77C\uCE58 \uC5F4\uC740 0\uAC1C \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +cachedrowsetimpl.matchcols2 = \uC77C\uCE58 \uC5F4\uC740 \uBE44\uC5B4 \uC788\uAC70\uB098 \uB110 \uBB38\uC790\uC5F4\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +cachedrowsetimpl.unsetmatch = \uC124\uC815\uC744 \uD574\uC81C\uD558\uB824\uB294 \uC5F4\uC774 \uC124\uC815\uB41C \uC5F4\uACFC \uB2E4\uB985\uB2C8\uB2E4. +cachedrowsetimpl.unsetmatch1 = \uC5F4 \uC774\uB984\uC744 unsetMatchColumn\uC758 \uC778\uC218\uB85C \uC0AC\uC6A9\uD558\uC2ED\uC2DC\uC624. +cachedrowsetimpl.unsetmatch2 = \uC5F4 ID\uB97C unsetMatchColumn\uC758 \uC778\uC218\uB85C \uC0AC\uC6A9\uD558\uC2ED\uC2DC\uC624. +cachedrowsetimpl.numrows = \uD589 \uC218\uAC00 0\uBCF4\uB2E4 \uC791\uAC70\uB098 \uC778\uCD9C \uD06C\uAE30\uBCF4\uB2E4 \uC791\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.startpos = \uC2DC\uC791 \uC704\uCE58\uB294 \uC74C\uC218\uC77C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.nextpage = \uD638\uCD9C\uD558\uAE30 \uC804\uC5D0 \uB370\uC774\uD130\uB97C \uCC44\uC6B0\uC2ED\uC2DC\uC624. +cachedrowsetimpl.pagesize = \uD398\uC774\uC9C0 \uD06C\uAE30\uB294 0\uBCF4\uB2E4 \uC791\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.pagesize1 = \uD398\uC774\uC9C0 \uD06C\uAE30\uB294 maxRows\uBCF4\uB2E4 \uD074 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.fwdonly = ResultSet\uB294 \uC804\uB2EC \uC804\uC6A9\uC785\uB2C8\uB2E4. +cachedrowsetimpl.type = \uC720\uD615: {0} +cachedrowsetimpl.opnotysupp = \uC791\uC5C5\uC774 \uC544\uC9C1 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.featnotsupp = \uAE30\uB2A5\uC774 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. # WebRowSetImpl exceptions -webrowsetimpl.nullhash = WebRowSetImpl \uc778\uc2a4\ud134\uc2a4\ub97c \uc778\uc2a4\ud134\uc2a4\ud654\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uad6c\uc131\uc790\uc5d0 \ub110 Hashtable\uc774 \uc81c\uacf5\ub418\uc5c8\uc2b5\ub2c8\ub2e4. -webrowsetimpl.invalidwr = \uc798\ubabb\ub41c \uae30\ub85d\uae30\uc785\ub2c8\ub2e4. -webrowsetimpl.invalidrd = \uc798\ubabb\ub41c \ud310\ub3c5\uae30\uc785\ub2c8\ub2e4. +webrowsetimpl.nullhash = WebRowSetImpl \uC778\uC2A4\uD134\uC2A4\uB97C \uC778\uC2A4\uD134\uC2A4\uD654\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC0DD\uC131\uC790\uC5D0 \uB110 Hashtable\uC774 \uC81C\uACF5\uB418\uC5C8\uC2B5\uB2C8\uB2E4. +webrowsetimpl.invalidwr = \uAE30\uB85D \uC7A5\uCE58\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. +webrowsetimpl.invalidrd = \uC77D\uAE30 \uD504\uB85C\uADF8\uB7A8\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. #FilteredRowSetImpl exceptions -filteredrowsetimpl.relative = \uc0c1\ub300: \uc798\ubabb\ub41c \ucee4\uc11c \uc791\uc5c5\uc785\ub2c8\ub2e4. -filteredrowsetimpl.absolute = \uc808\ub300: \uc798\ubabb\ub41c \ucee4\uc11c \uc791\uc5c5\uc785\ub2c8\ub2e4. -filteredrowsetimpl.notallowed = \uc774 \uac12\uc740 \ud544\ud130\ub97c \ud1b5\uacfc\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. +filteredrowsetimpl.relative = \uC0C1\uB300: \uCEE4\uC11C \uC791\uC5C5\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. +filteredrowsetimpl.absolute = \uC808\uB300: \uCEE4\uC11C \uC791\uC5C5\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. +filteredrowsetimpl.notallowed = \uC774 \uAC12\uC740 \uD544\uD130\uB97C \uD1B5\uACFC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. #JoinRowSetImpl exceptions -joinrowsetimpl.notinstance = Rowset\uc758 \uc778\uc2a4\ud134\uc2a4\uac00 \uc544\ub2d9\ub2c8\ub2e4. -joinrowsetimpl.matchnotset = \uacb0\ud569\ud560 \uc77c\uce58 \uc5f4\uc744 \uc124\uc815\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4. -joinrowsetimpl.numnotequal = Rowset\uc758 \uc694\uc18c \uc218\uac00 \uc77c\uce58 \uc5f4\uacfc \uac19\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. -joinrowsetimpl.notdefined = \uc815\uc758\ub41c \uacb0\ud569 \uc720\ud615\uc774 \uc544\ub2d9\ub2c8\ub2e4. -joinrowsetimpl.notsupported = \uc774 \uacb0\ud569 \uc720\ud615\uc740 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. -joinrowsetimpl.initerror = JoinRowSet \ucd08\uae30\ud654 \uc624\ub958 -joinrowsetimpl.genericerr = \uc77c\ubc18 joinrowset \ucd08\uae30 \uc624\ub958 -joinrowsetimpl.emptyrowset = \ube48 rowset\uc744 \uc774 JoinRowSet\uc5d0 \ucd94\uac00\ud560 \uc218 \uc5c6\uc74c +joinrowsetimpl.notinstance = Rowset\uC758 \uC778\uC2A4\uD134\uC2A4\uAC00 \uC544\uB2D9\uB2C8\uB2E4. +joinrowsetimpl.matchnotset = \uC870\uC778\uD560 \uC77C\uCE58 \uC5F4\uC774 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. +joinrowsetimpl.numnotequal = Rowset\uC758 \uC694\uC18C \uC218\uAC00 \uC77C\uCE58 \uC5F4\uACFC \uAC19\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. +joinrowsetimpl.notdefined = \uC815\uC758\uB41C \uC870\uC778 \uC720\uD615\uC774 \uC544\uB2D9\uB2C8\uB2E4. +joinrowsetimpl.notsupported = \uC774 \uC870\uC778 \uC720\uD615\uC740 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. +joinrowsetimpl.initerror = JoinRowSet \uCD08\uAE30\uD654 \uC624\uB958 +joinrowsetimpl.genericerr = \uC77C\uBC18 joinrowset \uCD08\uAE30 \uC624\uB958 +joinrowsetimpl.emptyrowset = \uBE48 rowset\uB97C \uC774 JoinRowSet\uC5D0 \uCD94\uAC00\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. #JdbcRowSetImpl exceptions -jdbcrowsetimpl.invalstate = \uc798\ubabb\ub41c \uc0c1\ud0dc\uc785\ub2c8\ub2e4. -jdbcrowsetimpl.connect = JdbcRowSet(\uc5f0\uacb0) JNDI\uac00 \uc5f0\uacb0\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. -jdbcrowsetimpl.paramtype = \ub9e4\uac1c \ubcc0\uc218 \uc720\ud615\uc744 \ucd94\ub860\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. -jdbcrowsetimpl.matchcols = \uc77c\uce58 \uc5f4\uc774 \uc124\uc815\ub41c \uc5f4\uacfc \uac19\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. -jdbcrowsetimpl.setmatchcols = \uc77c\uce58 \uc5f4\uc744 \uc124\uc815\ud55c \ub2e4\uc74c\uc5d0 \uac00\uc838\uc624\uc2ed\uc2dc\uc624. -jdbcrowsetimpl.matchcols1 = \uc77c\uce58 \uc5f4\uc740 0\uac1c \uc774\uc0c1\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4. -jdbcrowsetimpl.matchcols2 = \uc77c\uce58 \uc5f4\uc740 \ub110 \ub610\ub294 \ube48 \ubb38\uc790\uc5f4\uc77c \uc218\ub294 \uc5c6\uc2b5\ub2c8\ub2e4. -jdbcrowsetimpl.unsetmatch = \uc124\uc815 \ud574\uc81c\ud560 \uc5f4\uc774 \uc124\uc815\ub41c \uc5f4\uacfc \uac19\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. -jdbcrowsetimpl.usecolname = \uc5f4 \uc774\ub984\uc744 unsetMatchColumn\uc758 \uc778\uc218\ub85c \uc0ac\uc6a9\ud558\uc2ed\uc2dc\uc624. -jdbcrowsetimpl.usecolid = \uc5f4 ID\ub97c unsetMatchColumn\uc758 \uc778\uc218\ub85c \uc0ac\uc6a9\ud558\uc2ed\uc2dc\uc624. -jdbcrowsetimpl.resnotupd = ResultSet\uc740 \uc5c5\ub370\uc774\ud2b8\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. -jdbcrowsetimpl.opnotysupp = \uc791\uc5c5\uc774 \uc544\uc9c1 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc74c -jdbcrowsetimpl.featnotsupp = \uae30\ub2a5\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc74c +jdbcrowsetimpl.invalstate = \uC0C1\uD0DC\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. +jdbcrowsetimpl.connect = JdbcRowSet(\uC811\uC18D) JNDI\uAC00 \uC811\uC18D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +jdbcrowsetimpl.paramtype = \uB9E4\uAC1C\uBCC0\uC218 \uC720\uD615\uC744 \uCD94\uB860\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +jdbcrowsetimpl.matchcols = \uC77C\uCE58 \uC5F4\uC774 \uC124\uC815\uB41C \uC5F4\uACFC \uB3D9\uC77C\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. +jdbcrowsetimpl.setmatchcols = \uC77C\uCE58 \uC5F4\uC744 \uC124\uC815\uD55C \uD6C4 \uAC00\uC838\uC624\uC2ED\uC2DC\uC624. +jdbcrowsetimpl.matchcols1 = \uC77C\uCE58 \uC5F4\uC740 0\uAC1C \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +jdbcrowsetimpl.matchcols2 = \uC77C\uCE58 \uC5F4\uC740 \uB110 \uB610\uB294 \uBE48 \uBB38\uC790\uC5F4\uC77C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +jdbcrowsetimpl.unsetmatch = \uC124\uC815\uC744 \uD574\uC81C\uD558\uB824\uB294 \uC5F4\uC774 \uC124\uC815\uB41C \uC5F4\uACFC \uB2E4\uB985\uB2C8\uB2E4. +jdbcrowsetimpl.usecolname = \uC5F4 \uC774\uB984\uC744 unsetMatchColumn\uC758 \uC778\uC218\uB85C \uC0AC\uC6A9\uD558\uC2ED\uC2DC\uC624. +jdbcrowsetimpl.usecolid = \uC5F4 ID\uB97C unsetMatchColumn\uC758 \uC778\uC218\uB85C \uC0AC\uC6A9\uD558\uC2ED\uC2DC\uC624. +jdbcrowsetimpl.resnotupd = ResultSet\uB97C \uAC31\uC2E0\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +jdbcrowsetimpl.opnotysupp = \uC791\uC5C5\uC774 \uC544\uC9C1 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. +jdbcrowsetimpl.featnotsupp = \uAE30\uB2A5\uC774 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. #CachedRowSetReader exceptions -crsreader.connect = (JNDI) \uc5f0\uacb0\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. -crsreader.paramtype = \ub9e4\uac1c \ubcc0\uc218 \uc720\ud615\uc744 \ucd94\ub860\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. -crsreader.connecterr = RowSetReader\uc758 \ub0b4\ubd80 \uc624\ub958: \uc5f0\uacb0 \ub610\ub294 \uba85\ub839\uc774 \uc5c6\uc74c -crsreader.datedetected = \ub0a0\uc9dc\uac00 \uac10\uc9c0\ub428 -crsreader.caldetected = \ub2ec\ub825\uc774 \uac10\uc9c0\ub428 +crsreader.connect = (JNDI) \uC811\uC18D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +crsreader.paramtype = \uB9E4\uAC1C\uBCC0\uC218 \uC720\uD615\uC744 \uCD94\uB860\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +crsreader.connecterr = RowSetReader\uC5D0 \uB0B4\uBD80 \uC624\uB958 \uBC1C\uC0DD: \uC811\uC18D \uB610\uB294 \uBA85\uB839\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. +crsreader.datedetected = \uB0A0\uC9DC\uB97C \uAC10\uC9C0\uD568 +crsreader.caldetected = \uB2EC\uB825\uC744 \uAC10\uC9C0\uD568 #CachedRowSetWriter exceptions -crswriter.connect = \uc5f0\uacb0\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. -crswriter.tname = writeData\uc5d0\uc11c \ud14c\uc774\ube14 \uc774\ub984\uc744 \ud655\uc778\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. -crswriter.params1 = params1\uc758 \uac12: {0} -crswriter.params2 = params2\uc758 \uac12: {0} -crswriter.conflictsno = \ub3d9\uae30\ud654\ud558\ub294 \ub3d9\uc548 \ucda9\ub3cc\ud568 +crswriter.connect = \uC811\uC18D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +crswriter.tname = writeData\uC5D0\uC11C \uD14C\uC774\uBE14 \uC774\uB984\uC744 \uD655\uC778\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +crswriter.params1 = params1\uC758 \uAC12: {0} +crswriter.params2 = params2\uC758 \uAC12: {0} +crswriter.conflictsno = \uB3D9\uAE30\uD654\uD558\uB294 \uC911 \uCDA9\uB3CC\uD568 #InsertRow exceptions -insertrow.novalue = \uac12\uc774 \uc0bd\uc785\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4. +insertrow.novalue = \uAC12\uC774 \uC0BD\uC785\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. #SyncResolverImpl exceptions -syncrsimpl.indexval = \uc0c9\uc778 \uac12\uc774 \ubc94\uc704\ub97c \ubc97\uc5b4\ub0ac\uc2b5\ub2c8\ub2e4. -syncrsimpl.noconflict = \uc774 \uc5f4\uc740 \ucda9\ub3cc\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. -syncrsimpl.syncnotpos = \ub3d9\uae30\ud654\ub97c \ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. -syncrsimpl.valtores = \ud655\uc778\ud560 \uac12\uc774 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub098 cachedrowset\uc5d0 \uc788\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. +syncrsimpl.indexval = \uC778\uB371\uC2A4 \uAC12\uC774 \uBC94\uC704\uB97C \uBC97\uC5B4\uB0AC\uC2B5\uB2C8\uB2E4. +syncrsimpl.noconflict = \uC774 \uC5F4\uC740 \uCDA9\uB3CC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. +syncrsimpl.syncnotpos = \uB3D9\uAE30\uD654\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +syncrsimpl.valtores = \uBD84\uC11D\uD560 \uAC12\uC774 \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uB610\uB294 cachedrowset\uC5D0 \uC788\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4. #WebRowSetXmlReader exception -wrsxmlreader.invalidcp = RowSet\uc758 \ub05d\uc5d0 \ub3c4\ub2ec\ud588\uc2b5\ub2c8\ub2e4. \uc798\ubabb\ub41c \ucee4\uc11c \uc704\uce58\uc785\ub2c8\ub2e4. +wrsxmlreader.invalidcp = RowSet\uC758 \uB05D\uC5D0 \uB3C4\uB2EC\uD588\uC2B5\uB2C8\uB2E4. \uCEE4\uC11C \uC704\uCE58\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. wrsxmlreader.readxml = readXML: {0} -wrsxmlreader.parseerr = ** \uad6c\ubb38 \ubd84\uc11d \uc624\ub958 : {0} , \ud589 : {1} , uri : {2} +wrsxmlreader.parseerr = ** \uAD6C\uBB38 \uBD84\uC11D \uC624\uB958: {0}, \uD589: {1}, URI: {2} #WebRowSetXmlWriter exceptions -wrsxmlwriter.ioex = IOException: {0} -wrsxmlwriter.sqlex = SQLException: {0} -wrsxmlwriter.failedwrite = \uac12\uc744 \uc4f0\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4. -wsrxmlwriter.notproper = \uc62c\ubc14\ub978 \uc720\ud615\uc774 \uc544\ub2d9\ub2c8\ub2e4. +wrsxmlwriter.ioex = IOException : {0} +wrsxmlwriter.sqlex = SQLException : {0} +wrsxmlwriter.failedwrite = \uAC12 \uC4F0\uAE30\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. +wsrxmlwriter.notproper = \uC801\uC808\uD55C \uC720\uD615\uC774 \uC544\uB2D9\uB2C8\uB2E4. #XmlReaderContentHandler exceptions -xmlrch.errmap = \ub9e4\ud551\uc744 \uc124\uc815\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0} -xmlrch.errmetadata = \uba54\ud0c0\ub370\uc774\ud130\ub97c \uc124\uc815\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0} -xmlrch.errinsertval = \ub2e4\uc74c \uac12\uc744 \uc0bd\uc785\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd : {0} -xmlrch.errconstr = \ud589\uc744 \ub9cc\ub4dc\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0} -xmlrch.errdel = \ud589\uc744 \uc81c\uac70\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0} -xmlrch.errinsdel = insdel \ud589\uc744 \ub9cc\ub4dc\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0} -xmlrch.errupdate = update \ud589\uc744 \ub9cc\ub4dc\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0} -xmlrch.errupdrow = \ub2e4\uc74c \ud589\uc744 \uc5c5\ub370\uc774\ud2b8\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd : {0} -xmlrch.chars = \ubb38\uc790: -xmlrch.badvalue = \uc798\ubabb\ub41c \uac12; \ub110\uc77c \uc218 \uc5c6\ub294 \ub4f1\ub85d \uc815\ubcf4 -xmlrch.badvalue1 = \uc798\ubabb\ub41c \uac12; \ub110\uc77c \uc218 \uc5c6\ub294 \uba54\ud0c0\ub370\uc774\ud130 -xmlrch.warning = ** \uacbd\uace0 : {0} , \ud589 : {1} , uri : {2} +xmlrch.errmap = \uB9F5\uC744 \uC124\uC815\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0} +xmlrch.errmetadata = \uBA54\uD0C0 \uB370\uC774\uD130\uB97C \uC124\uC815\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0} +xmlrch.errinsertval = \uAC12\uC744 \uC0BD\uC785\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0} +xmlrch.errconstr = \uD589\uC744 \uC0DD\uC131\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0} +xmlrch.errdel = \uD589\uC744 \uC0AD\uC81C\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0} +xmlrch.errinsert = insert \uD589\uC744 \uC0DD\uC131\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0} +xmlrch.errinsdel = insdel \uD589\uC744 \uC0DD\uC131\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0} +xmlrch.errupdate = update \uD589\uC744 \uC0DD\uC131\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0} +xmlrch.errupdrow = \uD589\uC744 \uAC31\uC2E0\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0} +xmlrch.chars = \uBB38\uC790: +xmlrch.badvalue = \uC798\uBABB\uB41C \uAC12: \uB110\uC77C \uC218 \uC5C6\uB294 \uC18D\uC131\uC785\uB2C8\uB2E4. +xmlrch.badvalue1 = \uC798\uBABB\uB41C \uAC12: \uB110\uC77C \uC218 \uC5C6\uB294 \uBA54\uD0C0 \uB370\uC774\uD130\uC785\uB2C8\uB2E4. +xmlrch.warning = ** \uACBD\uACE0: {0}, \uD589: {1}, URI: {2} #RIOptimisticProvider Exceptions -riop.locking = \ub4f1\uae09 \uc7a0\uae08\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. +riop.locking = \uBD84\uB958 \uC7A0\uAE08\uC774 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. #RIXMLProvider exceptions -rixml.unsupp = RIXMLProvider\uc5d0\uc11c \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. +rixml.unsupp = RIXMLProvider\uC5D0\uC11C \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. diff --git a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties index 4abf3f54ddb..32f6c296add 100644 --- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties +++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties @@ -24,147 +24,147 @@ # # CacheRowSetImpl exceptions -cachedrowsetimpl.populate = Objeto ResultSet inv\u00e1lido fornecido para preencher o m\u00e9todo -cachedrowsetimpl.invalidp = Fornecedor de persist\u00eancias inv\u00e1lido gerado -cachedrowsetimpl.nullhash = N\u00e3o \u00e9 poss\u00edvel instanciar a inst\u00e2ncia CachedRowSetImpl. Hashtable nulo fornecido ao construtor -cachedrowsetimpl.invalidop = Opera\u00e7\u00e3o inv\u00e1lida durante a inser\u00e7\u00e3o de linha -cachedrowsetimpl.accfailed = acceptChanges falho -cachedrowsetimpl.invalidcp = Posi\u00e7\u00e3o inv\u00e1lida do cursor -cachedrowsetimpl.illegalop = Opera\u00e7\u00e3o ilegal em linha n\u00e3o inserida -cachedrowsetimpl.clonefail = Clone falho: {0} -cachedrowsetimpl.invalidcol = \u00cdndice de coluna inv\u00e1lido -cachedrowsetimpl.invalcolnm = Nome de coluna inv\u00e1lido -cachedrowsetimpl.boolfail = getBoolen falhou no valor ( {0} ) na coluna {1} -cachedrowsetimpl.bytefail = getByte falhou no valor ( {0} ) na coluna {1} -cachedrowsetimpl.shortfail = getShort falhou no valor ( {0} ) na coluna {1} -cachedrowsetimpl.intfail = getInt falhou no valor ( {0} ) na coluna {1} -cachedrowsetimpl.longfail = getLong falhou no valor ( {0} ) na coluna {1} -cachedrowsetimpl.floatfail = getFloat falhou no valor ( {0} ) na coluna {1} -cachedrowsetimpl.doublefail = getDouble falhou no valor ( {0} ) na coluna {1} -cachedrowsetimpl.dtypemismt = Tipo de dados incompat\u00edvel -cachedrowsetimpl.datefail = getDate falhou no valor ( {0} ) na coluna {1} sem convers\u00e3o dispon\u00edvel -cachedrowsetimpl.timefail = getTime falhou no valor ( {0} ) na coluna {1} sem convers\u00e3o dispon\u00edvel -cachedrowsetimpl.posupdate = Atualiza\u00e7\u00f5es posicionadas n\u00e3o suportadas -cachedrowsetimpl.unableins = N\u00e3o \u00e9 poss\u00edvel instanciar: {0} -cachedrowsetimpl.beforefirst = beforeFirst : posi\u00e7\u00e3o inv\u00e1lida do cursor -cachedrowsetimpl.first = First : opera\u00e7\u00e3o inv\u00e1lida do cursor +cachedrowsetimpl.populate = Objeto ResultSet inv\u00E1lido fornecido para preencher o m\u00E9todo +cachedrowsetimpl.invalidp = Fornecedor de persist\u00EAncias inv\u00E1lido gerado +cachedrowsetimpl.nullhash = N\u00E3o \u00E9 poss\u00EDvel instanciar a inst\u00E2ncia CachedRowSetImpl. Hashtable Nulo fornecido ao construtor +cachedrowsetimpl.invalidop = Opera\u00E7\u00E3o inv\u00E1lida durante a inser\u00E7\u00E3o de linha +cachedrowsetimpl.accfailed = Falha em acceptChanges +cachedrowsetimpl.invalidcp = Posi\u00E7\u00E3o inv\u00E1lida do cursor +cachedrowsetimpl.illegalop = Opera\u00E7\u00E3o inv\u00E1lida em linha n\u00E3o inserida +cachedrowsetimpl.clonefail = Falha ao clonar: {0} +cachedrowsetimpl.invalidcol = \u00CDndice de coluna inv\u00E1lido +cachedrowsetimpl.invalcolnm = Nome de coluna inv\u00E1lido +cachedrowsetimpl.boolfail = Falha em getBoolen no valor ( {0} ) na coluna {1} +cachedrowsetimpl.bytefail = Falha em getByte no valor ( {0} ) na coluna {1} +cachedrowsetimpl.shortfail = Falha em getShort no valor ( {0} ) na coluna {1} +cachedrowsetimpl.intfail = Falha em getInt no valor ( {0} ) na coluna {1} +cachedrowsetimpl.longfail = Falha em getLong no valor ( {0} ) na coluna {1} +cachedrowsetimpl.floatfail = Falha em getFloat no valor ( {0} ) na coluna {1} +cachedrowsetimpl.doublefail = Falha em getDouble no valor ( {0} ) na coluna {1} +cachedrowsetimpl.dtypemismt = Tipo de Dados Incompat\u00EDvel +cachedrowsetimpl.datefail = Falha em getDate no valor ( {0} ) na coluna {1} sem convers\u00E3o dispon\u00EDvel +cachedrowsetimpl.timefail = Falha em getTime no valor ( {0} ) na coluna {1} sem convers\u00E3o dispon\u00EDvel +cachedrowsetimpl.posupdate = Atualiza\u00E7\u00F5es posicionadas n\u00E3o suportadas +cachedrowsetimpl.unableins = N\u00E3o \u00E9 poss\u00EDvel instanciar : {0} +cachedrowsetimpl.beforefirst = beforeFirst : Opera\u00E7\u00E3o do cursor inv\u00E1lida +cachedrowsetimpl.first = First : Opera\u00E7\u00E3o inv\u00E1lida do cursor cachedrowsetimpl.last = last : TYPE_FORWARD_ONLY -cachedrowsetimpl.absolute = absolute : posi\u00e7\u00e3o inv\u00e1lida do cursor -cachedrowsetimpl.relative = relative : posi\u00e7\u00e3o inv\u00e1lida do cursor -cachedrowsetimpl.asciistream = leitura falha do fluxo ascii -cachedrowsetimpl.binstream = leitura falha em fluxo bin\u00e1rio -cachedrowsetimpl.failedins = Falha ao inserir linha -cachedrowsetimpl.updateins = updateRow chamado durante a inser\u00e7\u00e3o de linha +cachedrowsetimpl.absolute = absolute : Posi\u00E7\u00E3o inv\u00E1lida do cursor +cachedrowsetimpl.relative = relative : Posi\u00E7\u00E3o inv\u00E1lida do cursor +cachedrowsetimpl.asciistream = falha na leitura do fluxo ascii +cachedrowsetimpl.binstream = falha na leitura do fluxo bin\u00E1rio +cachedrowsetimpl.failedins = Falha ao inserir a linha +cachedrowsetimpl.updateins = updateRow chamado durante a inser\u00E7\u00E3o de linha cachedrowsetimpl.movetoins = moveToInsertRow : CONCUR_READ_ONLY cachedrowsetimpl.movetoins1 = moveToInsertRow : sem metadados -cachedrowsetimpl.movetoins2 = moveToInsertRow : n\u00famero de colunas inv\u00e1lido -cachedrowsetimpl.tablename = O nome da tabela n\u00e3o pode ser nulo -cachedrowsetimpl.keycols = Colunas de chaves inv\u00e1lidas -cachedrowsetimpl.invalidcol = \u00cdndice de coluna inv\u00e1lido -cachedrowsetimpl.opnotsupp = Opera\u00e7\u00e3o n\u00e3o suportada pelo banco de dados -cachedrowsetimpl.matchcols = As colunas correspondentes n\u00e3o s\u00e3o iguais \u00e0s colunas definidas -cachedrowsetimpl.setmatchcols = Definir colunas correspondentes antes de obt\u00ea-las +cachedrowsetimpl.movetoins2 = moveToInsertRow : n\u00FAmero de colunas inv\u00E1lido +cachedrowsetimpl.tablename = O nome da tabela n\u00E3o pode ser nulo +cachedrowsetimpl.keycols = Colunas de chaves inv\u00E1lidas +cachedrowsetimpl.invalidcol = \u00CDndice de coluna inv\u00E1lido +cachedrowsetimpl.opnotsupp = Opera\u00E7\u00E3o n\u00E3o suportada pelo Banco de Dados +cachedrowsetimpl.matchcols = As colunas correspondentes n\u00E3o s\u00E3o iguais \u00E0s colunas definidas +cachedrowsetimpl.setmatchcols = Definir Colunas correspondentes antes de obt\u00EA-las cachedrowsetimpl.matchcols1 = As colunas correspondentes devem ser maior do que 0 -cachedrowsetimpl.matchcols2 = As colunas correspondentes devem ser sequ\u00eancias vazias ou nulas -cachedrowsetimpl.unsetmatch = As colunas n\u00e3o definidas n\u00e3o s\u00e3o iguais \u00e0s colunas definidas +cachedrowsetimpl.matchcols2 = As colunas correspondentes devem ser strings vazias ou nulas +cachedrowsetimpl.unsetmatch = As colunas n\u00E3o definidas n\u00E3o s\u00E3o iguais \u00E0s colunas definidas cachedrowsetimpl.unsetmatch1 = Usar o nome da coluna como argumento para unsetMatchColumn cachedrowsetimpl.unsetmatch2 = Usar o ID da coluna como argumento para unsetMatchColumn -cachedrowsetimpl.numrows = O n\u00famero de linhas \u00e9 menor do que zero ou menor do que o tamanho obtido -cachedrowsetimpl.startpos = A posi\u00e7\u00e3o de in\u00edcio n\u00e3o pode ser negativa +cachedrowsetimpl.numrows = O n\u00FAmero de linhas \u00E9 menor do que zero ou menor do que o tamanho obtido +cachedrowsetimpl.startpos = A posi\u00E7\u00E3o de in\u00EDcio n\u00E3o pode ser negativa cachedrowsetimpl.nextpage = Preencher dados antes de chamar -cachedrowsetimpl.pagesize = O tamanho da p\u00e1gina n\u00e3o pode ser menor do que zero -cachedrowsetimpl.pagesize1 = O tamanho da p\u00e1gina n\u00e3o pode ser maior do que maxRows -cachedrowsetimpl.fwdonly = ResultSet \u00e9 somente para frente -cachedrowsetimpl.type = O tipo \u00e9 : {0} -cachedrowsetimpl.opnotysupp = Opera\u00e7\u00e3o ainda n\u00e3o suportada -cachedrowsetimpl.featnotsupp = Recurso n\u00e3o suportado +cachedrowsetimpl.pagesize = O tamanho da p\u00E1gina n\u00E3o pode ser menor do que zero +cachedrowsetimpl.pagesize1 = O tamanho da p\u00E1gina n\u00E3o pode ser maior do que maxRows +cachedrowsetimpl.fwdonly = ResultSet \u00E9 somente para frente +cachedrowsetimpl.type = O tipo \u00E9 : {0} +cachedrowsetimpl.opnotysupp = Opera\u00E7\u00E3o ainda n\u00E3o suportada +cachedrowsetimpl.featnotsupp = Recurso n\u00E3o suportado # WebRowSetImpl exceptions -webrowsetimpl.nullhash = N\u00e3o \u00e9 poss\u00edvel instanciar a inst\u00e2ncia WebRowSetImpl. Hashtable nulo fornecido ao construtor -webrowsetimpl.invalidwr = Gravador inv\u00e1lido -webrowsetimpl.invalidrd = Leitor inv\u00e1lido +webrowsetimpl.nullhash = N\u00E3o \u00E9 poss\u00EDvel instanciar a inst\u00E2ncia WebRowSetImpl. Hashtable nulo fornecido ao construtor +webrowsetimpl.invalidwr = Gravador inv\u00E1lido +webrowsetimpl.invalidrd = Leitor inv\u00E1lido #FilteredRowSetImpl exceptions -filteredrowsetimpl.relative = relative : opera\u00e7\u00e3o inv\u00e1lida do cursor -filteredrowsetimpl.absolute = absolute : opera\u00e7\u00e3o inv\u00e1lida do cursor -filteredrowsetimpl.notallowed = Este valor n\u00e3o \u00e9 permitido no filtro +filteredrowsetimpl.relative = relative : Opera\u00E7\u00E3o inv\u00E1lida do cursor +filteredrowsetimpl.absolute = absolute : Opera\u00E7\u00E3o inv\u00E1lida do cursor +filteredrowsetimpl.notallowed = Este valor n\u00E3o \u00E9 permitido no filtro #JoinRowSetImpl exceptions -joinrowsetimpl.notinstance = N\u00e3o \u00e9 uma inst\u00e2ncia do conjunto de linhas -joinrowsetimpl.matchnotset = Coluna correspondente n\u00e3o definida para jun\u00e7\u00e3o -joinrowsetimpl.numnotequal = N\u00famero de elementos no conjunto de linhas diferente da coluna correspondente -joinrowsetimpl.notdefined = N\u00e3o \u00e9 um tipo definido de jun\u00e7\u00e3o -joinrowsetimpl.notsupported = Este tipo de jun\u00e7\u00e3o n\u00e3o \u00e9 suportada -joinrowsetimpl.initerror = Erro de inicializa\u00e7\u00e3o do JoinRowSet -joinrowsetimpl.genericerr = Erro inicial de joinrowset gen\u00e9rico -joinrowsetimpl.emptyrowset = O conjunto de linha vazio n\u00e3o pode ser adicionado a este JoinRowSet +joinrowsetimpl.notinstance = N\u00E3o \u00E9 uma inst\u00E2ncia do conjunto de linhas +joinrowsetimpl.matchnotset = Coluna Correspondente n\u00E3o definida para jun\u00E7\u00E3o +joinrowsetimpl.numnotequal = N\u00FAmero de elementos no conjunto de linhas diferente da coluna correspondente +joinrowsetimpl.notdefined = N\u00E3o \u00E9 um tipo definido de jun\u00E7\u00E3o +joinrowsetimpl.notsupported = Este tipo de jun\u00E7\u00E3o n\u00E3o \u00E9 suportada +joinrowsetimpl.initerror = Erro de inicializa\u00E7\u00E3o do JoinRowSet +joinrowsetimpl.genericerr = Erro inicial de joinrowset gen\u00E9rico +joinrowsetimpl.emptyrowset = O conjunto de linha vazio n\u00E3o pode ser adicionado a este JoinRowSet #JdbcRowSetImpl exceptions -jdbcrowsetimpl.invalstate = Estado inv\u00e1lido -jdbcrowsetimpl.connect = N\u00e3o \u00e9 poss\u00edvel conectar JdbcRowSet (connect) a JNDI -jdbcrowsetimpl.paramtype = N\u00e3o \u00e9 poss\u00edvel deduzir o tipo de par\u00e2metro -jdbcrowsetimpl.matchcols = As colunas correspondentes n\u00e3o s\u00e3o iguais \u00e0s colunas definidas -jdbcrowsetimpl.setmatchcols = Definir as colunas correspondentes antes de obt\u00ea-las +jdbcrowsetimpl.invalstate = Estado inv\u00E1lido +jdbcrowsetimpl.connect = N\u00E3o \u00E9 poss\u00EDvel conectar JdbcRowSet (connect) a JNDI +jdbcrowsetimpl.paramtype = N\u00E3o \u00E9 poss\u00EDvel deduzir o tipo de par\u00E2metro +jdbcrowsetimpl.matchcols = As Colunas Correspondentes n\u00E3o s\u00E3o iguais \u00E0s colunas definidas +jdbcrowsetimpl.setmatchcols = Definir as colunas correspondentes antes de obt\u00EA-las jdbcrowsetimpl.matchcols1 = As colunas correspondentes devem ser maior do que 0 -jdbcrowsetimpl.matchcols2 = As colunas correspondentes n\u00e3o podem ser sequ\u00eancias vazias ou nulas -jdbcrowsetimpl.unsetmatch = As colunas n\u00e3o definidas n\u00e3o s\u00e3o iguais \u00e0s colunas definidas +jdbcrowsetimpl.matchcols2 = As colunas correspondentes n\u00E3o podem ser strings vazias ou nulas +jdbcrowsetimpl.unsetmatch = As colunas n\u00E3o definidas n\u00E3o s\u00E3o iguais \u00E0s colunas definidas jdbcrowsetimpl.usecolname = Usar o nome da coluna como argumento para unsetMatchColumn jdbcrowsetimpl.usecolid = Usar o ID da coluna como argumento para unsetMatchColumn -jdbcrowsetimpl.resnotupd = ResultSet n\u00e3o \u00e9 atualiz\u00e1vel -jdbcrowsetimpl.opnotysupp = Opera\u00e7\u00e3o ainda n\u00e3o suportada -jdbcrowsetimpl.featnotsupp = Recurso n\u00e3o suportado +jdbcrowsetimpl.resnotupd = ResultSet n\u00E3o \u00E9 atualiz\u00E1vel +jdbcrowsetimpl.opnotysupp = Opera\u00E7\u00E3o ainda n\u00E3o suportada +jdbcrowsetimpl.featnotsupp = Recurso n\u00E3o suportado #CachedRowSetReader exceptions -crsreader.connect = (JNDI) N\u00e3o \u00e9 poss\u00edvel conectar -crsreader.paramtype = N\u00e3o \u00e9 poss\u00edvel deduzir o tipo de par\u00e2metro -crsreader.connecterr = Erro interno no RowSetReader: sem conex\u00e3o ou comando -crsreader.datedetected = Data detectada -crsreader.caldetected = Calend\u00e1rio detectado +crsreader.connect = (JNDI) N\u00E3o \u00E9 poss\u00EDvel conectar +crsreader.paramtype = N\u00E3o \u00E9 poss\u00EDvel deduzir o tipo de par\u00E2metro +crsreader.connecterr = Erro Interno no RowSetReader: sem conex\u00E3o ou comando +crsreader.datedetected = Data Detectada +crsreader.caldetected = Calend\u00E1rio Detectado #CachedRowSetWriter exceptions -crswriter.connect = N\u00e3o \u00e9 poss\u00edvel obter a conex\u00e3o -crswriter.tname = writeData n\u00e3o pode determinar o nome da tabela +crswriter.connect = N\u00E3o \u00E9 poss\u00EDvel obter a conex\u00E3o +crswriter.tname = writeData n\u00E3o pode determinar o nome da tabela crswriter.params1 = Valor de params1 : {0} crswriter.params2 = Valor de params2 : {0} -crswriter.conflictsno = conflitos durante a sincroniza\u00e7\u00e3o +crswriter.conflictsno = conflitos durante a sincroniza\u00E7\u00E3o #InsertRow exceptions insertrow.novalue = Nenhum valor foi inserido #SyncResolverImpl exceptions -syncrsimpl.indexval = Valor de \u00edndice fora do intervalo -syncrsimpl.noconflict = Est\u00e1 coluna n\u00e3o est\u00e1 em conflito -syncrsimpl.syncnotpos = A sincroniza\u00e7\u00e3o n\u00e3o \u00e9 poss\u00edvel -syncrsimpl.valtores = O valor a ser decidido pode estar no banco de dados ou no conjunto de linhas armazenado em cache +syncrsimpl.indexval = Valor de \u00EDndice fora da faixa +syncrsimpl.noconflict = Est\u00E1 coluna n\u00E3o est\u00E1 em conflito +syncrsimpl.syncnotpos = A sincroniza\u00E7\u00E3o n\u00E3o \u00E9 poss\u00EDvel +syncrsimpl.valtores = O valor a ser decidido pode estar no banco de dados ou no conjunto de linhas armazenado no cache #WebRowSetXmlReader exception -wrsxmlreader.invalidcp = Fim de RowSet atingido. Posi\u00e7\u00e3o inv\u00e1lida do cursor +wrsxmlreader.invalidcp = Fim de RowSet atingido. Posi\u00E7\u00E3o inv\u00E1lida do cursor wrsxmlreader.readxml = readXML : {0} -wrsxmlreader.parseerr = ** Analisando erro : {0} , linha : {1} , uri : {2} +wrsxmlreader.parseerr = ** Erro de Parse : {0} , linha : {1} , uri : {2} #WebRowSetXmlWriter exceptions wrsxmlwriter.ioex = IOException : {0} wrsxmlwriter.sqlex = SQLException : {0} -wrsxmlwriter.failedwrite = Falha ao gravar valor -wsrxmlwriter.notproper = N\u00e3o \u00e9 um tipo adequado +wrsxmlwriter.failedwrite = Falha ao gravar o valor +wsrxmlwriter.notproper = N\u00E3o \u00E9 um tipo adequado #XmlReaderContentHandler exceptions -xmlrch.errmap = Erro ao definir mapa : {0} +xmlrch.errmap = Erro ao definir o Mapa : {0} xmlrch.errmetadata = Erro ao definir metadados : {0} xmlrch.errinsertval = Erro ao inserir valores : {0} -xmlrch.errconstr = Erro ao construir linha : {0} -xmlrch.errdel = Erro ao excluir linha : {0} -xmlrch.errinsert = Erro ao construir linha de inser\u00e7\u00e3o : {0} -xmlrch.errinsdel = Erro ao construir linha insdel : {0} -xmlrch.errupdate = Erro ao construir linha de atualiza\u00e7\u00e3o : {0} -xmlrch.errupdrow = Erro ao atualizar linha : {0} +xmlrch.errconstr = Erro ao construir a linha : {0} +xmlrch.errdel = Erro ao deletar a linha : {0} +xmlrch.errinsert = Erro ao construir a linha de inser\u00E7\u00E3o : {0} +xmlrch.errinsdel = Erro ao construir a linha insdel : {0} +xmlrch.errupdate = Erro ao construir a linha de atualiza\u00E7\u00E3o : {0} +xmlrch.errupdrow = Erro ao atualizar a linha : {0} xmlrch.chars = caracteres : -xmlrch.badvalue = Valor incorreto ; propriedade n\u00e3o anul\u00e1vel -xmlrch.badvalue1 = Valor incorreto ; metadado n\u00e3o anul\u00e1vel -xmlrch.warning = ** Aviso : {0} , linha : {1} , uri : {2} +xmlrch.badvalue = Valor incorreto ; propriedade n\u00E3o anul\u00E1vel +xmlrch.badvalue1 = Valor incorreto ; metadado n\u00E3o anul\u00E1vel +xmlrch.warning = ** Advert\u00EAncia : {0} , linha : {1} , uri : {2} #RIOptimisticProvider Exceptions -riop.locking = O bloqueio de classifica\u00e7\u00e3o n\u00e3o \u00e9 suportado +riop.locking = O bloqueio de classifica\u00E7\u00E3o n\u00E3o \u00E9 suportado #RIXMLProvider exceptions -rixml.unsupp = N\u00e3o suportado com RIXMLProvider +rixml.unsupp = N\u00E3o suportado com RIXMLProvider diff --git a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties index 429c438f440..089dc281caf 100644 --- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties +++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties @@ -25,144 +25,146 @@ # CacheRowSetImpl exceptions cachedrowsetimpl.populate = Ifyllningsmetoden fick ett ogiltigt ResultSet-objekt -cachedrowsetimpl.invalidp = En ogiltig best\u00e4ndig leverant\u00f6r genererades -cachedrowsetimpl.nullhash = Det g\u00e5r inte att skapa instansen CachedRowSetImpl. Tom hashtabell skickades till konstrukt\u00f6r -cachedrowsetimpl.invalidop = En ogiltig \u00e5tg\u00e4rd utf\u00f6rdes i infogningsraden -cachedrowsetimpl.accfailed = acceptChanges misslyckades -cachedrowsetimpl.invalidcp = Mark\u00f6rpositionen \u00e4r ogiltig -cachedrowsetimpl.illegalop = En ogiltig \u00e5tg\u00e4rd utf\u00f6rdes p\u00e5 en icke infogad rad -cachedrowsetimpl.clonefail = Kloningen misslyckades: {0} -cachedrowsetimpl.invalidcol = Kolumnindexet \u00e4r ogiltigt -cachedrowsetimpl.invalcolnm = Kolumnnamnet \u00e4r ogiltigt -cachedrowsetimpl.boolfail = getBoolen misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1} -cachedrowsetimpl.bytefail = getByte misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1} -cachedrowsetimpl.shortfail = getShort misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1} -cachedrowsetimpl.intfail = getInt misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1} -cachedrowsetimpl.longfail = getLong misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1} -cachedrowsetimpl.floatfail = getFloat misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1} -cachedrowsetimpl.doublefail = getDouble misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1} +cachedrowsetimpl.invalidp = En ogiltig best\u00E4ndig leverant\u00F6r genererades +cachedrowsetimpl.nullhash = Kan inte instansiera CachedRowSetImpl. Null-hashtabell skickades till konstruktor +cachedrowsetimpl.invalidop = En ogiltig \u00E5tg\u00E4rd utf\u00F6rdes p\u00E5 infogad rad +cachedrowsetimpl.accfailed = acceptChanges utf\u00F6rdes inte +cachedrowsetimpl.invalidcp = Mark\u00F6rpositionen \u00E4r ogiltig +cachedrowsetimpl.illegalop = En otill\u00E5ten \u00E5tg\u00E4rd utf\u00F6rdes p\u00E5 en icke infogad rad +cachedrowsetimpl.clonefail = Kloningen utf\u00F6rdes inte: {0} +cachedrowsetimpl.invalidcol = Kolumnindexet \u00E4r ogiltigt +cachedrowsetimpl.invalcolnm = Kolumnnamnet \u00E4r ogiltigt +cachedrowsetimpl.boolfail = getBoolen utf\u00F6rdes inte f\u00F6r v\u00E4rdet ({0}) i kolumnen {1} +cachedrowsetimpl.bytefail = getByte utf\u00F6rdes inte f\u00F6r v\u00E4rdet ({0}) i kolumnen {1} +cachedrowsetimpl.shortfail = getShort utf\u00F6rdes inte f\u00F6r v\u00E4rdet ({0}) i kolumnen {1} +cachedrowsetimpl.intfail = getInt utf\u00F6rdes inte f\u00F6r v\u00E4rdet ({0}) i kolumnen {1} +cachedrowsetimpl.longfail = getLong utf\u00F6rdes inte f\u00F6r v\u00E4rdet ({0}) i kolumnen {1} +cachedrowsetimpl.floatfail = getFloat utf\u00F6rdes inte f\u00F6r v\u00E4rdet ({0}) i kolumnen {1} +cachedrowsetimpl.doublefail = getDouble utf\u00F6rdes inte f\u00F6r v\u00E4rdet ({0}) i kolumnen {1} cachedrowsetimpl.dtypemismt = Inkompatibel datatyp -cachedrowsetimpl.datefail = getDate misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1}, ingen konvertering tillg\u00e4nglig -cachedrowsetimpl.timefail = getTime misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1}, ingen konvertering tillg\u00e4nglig -cachedrowsetimpl.posupdate = Det finns inte st\u00f6d f\u00f6r positionerad uppdatering -cachedrowsetimpl.unableins = Det g\u00e5r inte att skapa {0} -cachedrowsetimpl.beforefirst = beforeFirst: Ogiltig mark\u00f6r\u00e5tg\u00e4rd -cachedrowsetimpl.first = First: Ogiltig mark\u00f6r\u00e5tg\u00e4rd +cachedrowsetimpl.datefail = getDate utf\u00F6rdes inte f\u00F6r v\u00E4rdet ({0}) i kolumnen {1}, ingen konvertering tillg\u00E4nglig +cachedrowsetimpl.timefail = getTime utf\u00F6rdes inte f\u00F6r v\u00E4rdet ({0}) i kolumnen {1}, ingen konvertering tillg\u00E4nglig +cachedrowsetimpl.posupdate = Det finns inte st\u00F6d f\u00F6r positionerad uppdatering +cachedrowsetimpl.unableins = Kan inte instansiera {0} +cachedrowsetimpl.beforefirst = beforeFirst: Ogiltig mark\u00F6r\u00E5tg\u00E4rd +cachedrowsetimpl.first = First: Ogiltig mark\u00F6r\u00E5tg\u00E4rd cachedrowsetimpl.last = last: TYPE_FORWARD_ONLY -cachedrowsetimpl.absolute = absolute: Mark\u00f6rpositionen \u00e4r ogiltig -cachedrowsetimpl.relative = relative: Mark\u00f6rpositionen \u00e4r ogiltig -cachedrowsetimpl.asciistream = det gick inte att l\u00e4sa ASCII-str\u00f6mmen -cachedrowsetimpl.binstream = det gick inte l\u00e4sa den bin\u00e4ra str\u00f6mmen -cachedrowsetimpl.failedins = Fel vid infogningsrad -cachedrowsetimpl.updateins = updateRow anropade vid infogningsrad +cachedrowsetimpl.absolute = absolute: Mark\u00F6rpositionen \u00E4r ogiltig +cachedrowsetimpl.relative = relative: Mark\u00F6rpositionen \u00E4r ogiltig +cachedrowsetimpl.asciistream = kunde inte l\u00E4sa ASCII-str\u00F6mmen +cachedrowsetimpl.binstream = kunde inte l\u00E4sa den bin\u00E4ra str\u00F6mmen +cachedrowsetimpl.failedins = Kunde inte infoga rad +cachedrowsetimpl.updateins = updateRow anropades fr\u00E5n infogad rad cachedrowsetimpl.movetoins = moveToInsertRow : CONCUR_READ_ONLY cachedrowsetimpl.movetoins1 = moveToInsertRow: inga metadata cachedrowsetimpl.movetoins2 = moveToInsertRow: ogiltigt antal kolumner -cachedrowsetimpl.tablename = Tabellnamnet kan inte vara tomt +cachedrowsetimpl.tablename = Tabellnamnet kan inte vara null cachedrowsetimpl.keycols = Ogiltiga nyckelkolumner -cachedrowsetimpl.opnotsupp = Databasen har inte st\u00f6d f\u00f6r denna \u00e5tg\u00e4rd -cachedrowsetimpl.matchcols = Matchningskolumnerna \u00e4r inte samma som de som st\u00e4llts in -cachedrowsetimpl.setmatchcols = St\u00e4ll in matchningskolumnerna innan du h\u00e4mtar dem -cachedrowsetimpl.matchcols1 = Matchningskolumnerna m\u00e5ste vara st\u00f6rre \u00e4n 0 -cachedrowsetimpl.matchcols2 = Matchningskolumnerna m\u00e5ste vara tomma eller en nollstr\u00e4ng -cachedrowsetimpl.unsetmatch = Kolumnerna som \u00e5terst\u00e4lls \u00e4r inte samma som de som st\u00e4llts in -cachedrowsetimpl.unsetmatch1 = Anv\u00e4nd kolumnnamn som argument f\u00f6r unsetMatchColumn -cachedrowsetimpl.unsetmatch2 = Anv\u00e4nd kolumnn-id som argument f\u00f6r unsetMatchColumn -cachedrowsetimpl.numrows = Antalet rader understiger noll eller \u00e4r mindre \u00e4n h\u00e4mtningsstorleken -cachedrowsetimpl.startpos = Startpositionen f\u00e5r inte vara negativ +cachedrowsetimpl.invalidcol = Kolumnindexet \u00E4r ogiltigt +cachedrowsetimpl.opnotsupp = Databasen har inte st\u00F6d f\u00F6r denna \u00E5tg\u00E4rd +cachedrowsetimpl.matchcols = Matchningskolumnerna \u00E4r inte samma som de som st\u00E4llts in +cachedrowsetimpl.setmatchcols = St\u00E4ll in matchningskolumnerna innan du h\u00E4mtar dem +cachedrowsetimpl.matchcols1 = Matchningskolumnerna m\u00E5ste vara st\u00F6rre \u00E4n 0 +cachedrowsetimpl.matchcols2 = Matchningskolumnerna m\u00E5ste vara tomma eller en null-str\u00E4ng +cachedrowsetimpl.unsetmatch = Kolumnerna som \u00E5terst\u00E4lls \u00E4r inte samma som de som st\u00E4llts in +cachedrowsetimpl.unsetmatch1 = Anv\u00E4nd kolumnnamn som argument f\u00F6r unsetMatchColumn +cachedrowsetimpl.unsetmatch2 = Anv\u00E4nd kolumn-id som argument f\u00F6r unsetMatchColumn +cachedrowsetimpl.numrows = Antalet rader understiger noll eller \u00E4r mindre \u00E4n h\u00E4mtningsstorleken +cachedrowsetimpl.startpos = Startpositionen f\u00E5r inte vara negativ cachedrowsetimpl.nextpage = Fyll i data innan anrop -cachedrowsetimpl.pagesize = Sidstorleken f\u00e5r inte understiga noll -cachedrowsetimpl.pagesize1 = Sidstorleken f\u00e5r inte \u00f6verstiga maxRows -cachedrowsetimpl.fwdonly = ResultSet kan endast g\u00e5 fram\u00e5t +cachedrowsetimpl.pagesize = Sidstorleken f\u00E5r inte understiga noll +cachedrowsetimpl.pagesize1 = Sidstorleken f\u00E5r inte \u00F6verstiga maxRows +cachedrowsetimpl.fwdonly = ResultSet kan endast g\u00E5 fram\u00E5t cachedrowsetimpl.type = Typ: {0} -cachedrowsetimpl.opnotysupp = Det finns \u00e4nnu inget st\u00f6d f\u00f6r denna \u00e5tg\u00e4rd -cachedrowsetimpl.featnotsupp = Det finns inget st\u00f6d f\u00f6r denna funktion +cachedrowsetimpl.opnotysupp = Det finns \u00E4nnu inget st\u00F6d f\u00F6r denna \u00E5tg\u00E4rd +cachedrowsetimpl.featnotsupp = Det finns inget st\u00F6d f\u00F6r denna funktion # WebRowSetImpl exceptions -webrowsetimpl.nullhash = Det g\u00e5r inte att skapa instansen WebRowSetImpl. Tom hashtabell skickades till konstrukt\u00f6r. -webrowsetimpl.invalidwr = Ogiltig f\u00f6rfattare -webrowsetimpl.invalidrd = Ogiltig l\u00e4sare +webrowsetimpl.nullhash = Kan inte instansiera WebRowSetImpl. Null-hashtabell skickades till konstruktor. +webrowsetimpl.invalidwr = Ogiltig f\u00F6rfattare +webrowsetimpl.invalidrd = Ogiltig l\u00E4sare #FilteredRowSetImpl exceptions -filteredrowsetimpl.relative = relative: Ogiltig mark\u00f6r\u00e5tg\u00e4rd -filteredrowsetimpl.absolute = absolute: Ogiltig mark\u00f6r\u00e5tg\u00e4rd -filteredrowsetimpl.notallowed = Detta v\u00e4rde kommer att filtreras bort +filteredrowsetimpl.relative = relative: Ogiltig mark\u00F6r\u00E5tg\u00E4rd +filteredrowsetimpl.absolute = absolute: Ogiltig mark\u00F6r\u00E5tg\u00E4rd +filteredrowsetimpl.notallowed = Detta v\u00E4rde kommer att filtreras bort #JoinRowSetImpl exceptions -joinrowsetimpl.notinstance = Detta \u00e4r inte en instans av rowset -joinrowsetimpl.matchnotset = Matchningskolumnen \u00e4r inte inst\u00e4lld p\u00e5 koppling -joinrowsetimpl.numnotequal = Antalet element i RowSet \u00e4r inte lika med matchningskolumnens -joinrowsetimpl.notdefined = Detta \u00e4r inte n\u00e5gon definierad kopplingstyp -joinrowsetimpl.notsupported = Det finns inget st\u00f6d f\u00f6r denna kopplingstyp -joinrowsetimpl.initerror = Initieringsfel f\u00f6r JoinRowSet -joinrowsetimpl.genericerr = Allm\u00e4nt initieringsfel f\u00f6r JoinRowSet -joinrowsetimpl.emptyrowset = Tomma radupps\u00e4ttningar kan inte l\u00e4ggas till i denna JoinRowSet +joinrowsetimpl.notinstance = Detta \u00E4r inte en instans av radupps\u00E4ttning +joinrowsetimpl.matchnotset = Matchningskolumnen \u00E4r inte inst\u00E4lld p\u00E5 koppling +joinrowsetimpl.numnotequal = Antal objekt i radupps\u00E4ttning st\u00E4mmer inte med matchningskolumnens +joinrowsetimpl.notdefined = Detta \u00E4r inte n\u00E5gon definierad kopplingstyp +joinrowsetimpl.notsupported = Det finns inget st\u00F6d f\u00F6r denna kopplingstyp +joinrowsetimpl.initerror = Initieringsfel f\u00F6r JoinRowSet +joinrowsetimpl.genericerr = Allm\u00E4nt initieringsfel f\u00F6r JoinRowSet +joinrowsetimpl.emptyrowset = Tomma radupps\u00E4ttningar kan inte l\u00E4ggas till i denna JoinRowSet #JdbcRowSetImpl exceptions jdbcrowsetimpl.invalstate = Ogiltig status jdbcrowsetimpl.connect = JdbcRowSet (anslut) JNDI kan inte anslutas -jdbcrowsetimpl.paramtype = Det g\u00e5r inte att fastst\u00e4lla parametertypen -jdbcrowsetimpl.matchcols = Matchningskolumnerna \u00e4r inte samma som de som st\u00e4llts in -jdbcrowsetimpl.setmatchcols = St\u00e4ll in matchningskolumnerna innan du h\u00e4mtar dem -jdbcrowsetimpl.matchcols1 = Matchningskolumnerna m\u00e5ste vara st\u00f6rre \u00e4n 0 -jdbcrowsetimpl.matchcols2 = Matchningskolumnerna kan inte vara en nollstr\u00e4ng eller tomma -jdbcrowsetimpl.unsetmatch = Kolumnerna som \u00e5terst\u00e4lls \u00e4r inte samma som de som st\u00e4llts in -jdbcrowsetimpl.usecolname = Anv\u00e4nd kolumnnamn som argument f\u00f6r unsetMatchColumn -jdbcrowsetimpl.usecolid = Anv\u00e4nd kolumnn-id som argument f\u00f6r unsetMatchColumn -jdbcrowsetimpl.resnotupd = ResultSet \u00e4r inte uppdateringsbart -jdbcrowsetimpl.opnotysupp = Det finns \u00e4nnu inget st\u00f6d f\u00f6r denna \u00e5tg\u00e4rd -jdbcrowsetimpl.featnotsupp = Det finns inget st\u00f6d f\u00f6r denna funktion +jdbcrowsetimpl.paramtype = Kan inte h\u00E4rleda parametertypen +jdbcrowsetimpl.matchcols = Matchningskolumnerna \u00E4r inte samma som de som st\u00E4llts in +jdbcrowsetimpl.setmatchcols = St\u00E4ll in matchningskolumnerna innan du h\u00E4mtar dem +jdbcrowsetimpl.matchcols1 = Matchningskolumnerna m\u00E5ste vara st\u00F6rre \u00E4n 0 +jdbcrowsetimpl.matchcols2 = Matchningskolumnerna kan inte vara en null-str\u00E4ng eller tomma +jdbcrowsetimpl.unsetmatch = Kolumnerna som \u00E5terst\u00E4lls \u00E4r inte samma som de som st\u00E4llts in +jdbcrowsetimpl.usecolname = Anv\u00E4nd kolumnnamn som argument f\u00F6r unsetMatchColumn +jdbcrowsetimpl.usecolid = Anv\u00E4nd kolumn-id som argument f\u00F6r unsetMatchColumn +jdbcrowsetimpl.resnotupd = ResultSet \u00E4r inte uppdateringsbart +jdbcrowsetimpl.opnotysupp = Det finns \u00E4nnu inget st\u00F6d f\u00F6r denna \u00E5tg\u00E4rd +jdbcrowsetimpl.featnotsupp = Det finns inget st\u00F6d f\u00F6r denna funktion #CachedRowSetReader exceptions crsreader.connect = (JNDI) kan inte anslutas -crsreader.paramtype = Det g\u00e5r inte att fastst\u00e4lla parametertypen +crsreader.paramtype = Kan inte h\u00E4rleda parametertypen crsreader.connecterr = Internt fel i RowSetReader: ingen anslutning eller inget kommando crsreader.datedetected = Ett datum har identifierats crsreader.caldetected = En kalender har identifierats #CachedRowSetWriter exceptions -crswriter.connect = Det g\u00e5r inte att uppr\u00e4tta n\u00e5gon anslutning -crswriter.tname = writeData kan inte fastst\u00e4lla tabellnamnet -crswriter.params1 = Parameterv\u00e4rde1: {0} -crswriter.params2 = Parameterv\u00e4rde2: {0} -crswriter.conflictsno = konflikter under synkronisering +crswriter.connect = Kan inte uppr\u00E4tta n\u00E5gon anslutning +crswriter.tname = writeData kan inte fastst\u00E4lla tabellnamnet +crswriter.params1 = Parameterv\u00E4rde1: {0} +crswriter.params2 = Parameterv\u00E4rde2: {0} +crswriter.conflictsno = orsakar konflikt vid synkronisering #InsertRow exceptions -insertrow.novalue = Inget v\u00e4rde har infogats +insertrow.novalue = Inget v\u00E4rde har infogats #SyncResolverImpl exceptions -syncrsimpl.indexval = Indexv\u00e4rdet ligger utanf\u00f6r intervallet -syncrsimpl.noconflict = Denna kolumn st\u00e5r inte i konflikt -syncrsimpl.syncnotpos = Synkronisering \u00e4r inte m\u00f6jlig -syncrsimpl.valtores = V\u00e4rdet som ska analyseras kan antingen finnas i databasen eller i cachedrowset +syncrsimpl.indexval = Indexv\u00E4rdet ligger utanf\u00F6r intervallet +syncrsimpl.noconflict = Kolumnen orsakar ingen konflikt +syncrsimpl.syncnotpos = Synkronisering \u00E4r inte m\u00F6jlig +syncrsimpl.valtores = V\u00E4rdet som ska fastst\u00E4llas kan antingen finnas i databasen eller i cachedrowset #WebRowSetXmlReader exception -wrsxmlreader.invalidcp = Slutet p\u00e5 RowSet har n\u00e5tts. Mark\u00f6rpositionen \u00e4r ogiltig. +wrsxmlreader.invalidcp = Slutet p\u00E5 RowSet har n\u00E5tts. Mark\u00F6rpositionen \u00E4r ogiltig. wrsxmlreader.readxml = readXML: {0} wrsxmlreader.parseerr = ** Tolkningsfel: {0}, rad: {1}, URI: {2} #WebRowSetXmlWriter exceptions wrsxmlwriter.ioex = IOException: {0} wrsxmlwriter.sqlex = SQLException: {0} -wrsxmlwriter.failedwrite = Det gick inte att skriva v\u00e4rdet +wrsxmlwriter.failedwrite = Kunde inte skriva v\u00E4rdet wsrxmlwriter.notproper = Ingen riktig typ #XmlReaderContentHandler exceptions -xmlrch.errmap = Ett fel uppstod vid inst\u00e4llningen av f\u00f6ljande bild: {0} -xmlrch.errmetadata = Ett fel uppstod vid inst\u00e4llningen av f\u00f6ljande metadata: {0} -xmlrch.errinsertval = Ett fel uppstod n\u00e4r f\u00f6ljande v\u00e4rden skulle infogas: {0} -xmlrch.errconstr = Ett fel uppstod n\u00e4r f\u00f6ljande rad skulle skapas: {0} -xmlrch.errdel = Ett fel uppstod n\u00e4r f\u00f6ljande rad skulle raderas: {0} -xmlrch.errinsdel = Ett fel uppstod n\u00e4r raden insdel skulle skapas: {0} -xmlrch.errupdate = Ett fel uppstod n\u00e4r f\u00f6ljande uppdateringsrad skulle skapas: {0} -xmlrch.errupdrow = Ett fel uppstod n\u00e4r f\u00f6ljande rad skulle uppdateras: {0} +xmlrch.errmap = Fel uppstod vid inst\u00E4llning av mappning: {0} +xmlrch.errmetadata = Fel uppstod vid inst\u00E4llning av metadata: {0} +xmlrch.errinsertval = Fel uppstod vid infogning av v\u00E4rden: {0} +xmlrch.errconstr = Fel uppstod vid konstruktion av rad: {0} +xmlrch.errdel = Fel uppstod vid borttagning av rad: {0} +xmlrch.errinsert = Fel uppstod vid konstruktion av infogad rad: {0} +xmlrch.errinsdel = Fel uppstod vid konstruktion av insdel-rad: {0} +xmlrch.errupdate = Fel uppstod vid konstruktion av uppdateringsrad: {0} +xmlrch.errupdrow = Fel uppstod vid uppdatering av rad: {0} xmlrch.chars = tecken: -xmlrch.badvalue = Felaktigt v\u00e4rde; egenskapen kan inte ha ett tomt v\u00e4rde -xmlrch.badvalue1 = Felaktigt v\u00e4rde; metadatan kan inte ha ett tomt v\u00e4rde +xmlrch.badvalue = Felaktigt v\u00E4rde; egenskapen kan inte ha ett tomt v\u00E4rde +xmlrch.badvalue1 = Felaktigt v\u00E4rde; metadatan kan inte ha ett tomt v\u00E4rde xmlrch.warning = ** Varning! {0}, rad: {1}, URI: {2} #RIOptimisticProvider Exceptions -riop.locking = Det finns inte st\u00f6d f\u00f6r denna l\u00e5sningsklassifikation +riop.locking = Det finns inte st\u00F6d f\u00F6r denna l\u00E5sningsklassificering #RIXMLProvider exceptions -rixml.unsupp = RIXMLProvider har inte st\u00f6d f\u00f6r detta +rixml.unsupp = RIXMLProvider har inte st\u00F6d f\u00F6r detta diff --git a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties index b09b018312f..596d8ab7f44 100644 --- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties +++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties @@ -24,145 +24,147 @@ # # CacheRowSetImpl exceptions -cachedrowsetimpl.populate = \u63d0\u4f9b\u7ed9\u586b\u5145\u65b9\u6cd5\u7684 ResultSet \u5bf9\u8c61\u65e0\u6548 -cachedrowsetimpl.invalidp = \u751f\u6210\u7684\u6301\u4e45\u6027\u63d0\u4f9b\u8005\u65e0\u6548 -cachedrowsetimpl.nullhash = \u65e0\u6cd5\u5b9e\u4f8b\u5316 CachedRowSetImpl \u5b9e\u4f8b\u3002\u63d0\u4f9b\u7ed9\u6784\u9020\u51fd\u6570\u7684 Hashtable \u4e3a Null -cachedrowsetimpl.invalidop = \u5bf9\u63d2\u5165\u884c\u6267\u884c\u7684\u64cd\u4f5c\u65e0\u6548 -cachedrowsetimpl.accfailed = acceptChanges \u5931\u8d25 -cachedrowsetimpl.invalidcp = \u5149\u6807\u4f4d\u7f6e\u65e0\u6548 -cachedrowsetimpl.illegalop = \u5bf9\u975e\u63d2\u5165\u884c\u6267\u884c\u7684\u64cd\u4f5c\u975e\u6cd5 -cachedrowsetimpl.clonefail = \u514b\u9686\u5931\u8d25: {0} -cachedrowsetimpl.invalidcol = \u5217\u7d22\u5f15\u65e0\u6548 -cachedrowsetimpl.invalcolnm = \u5217\u540d\u65e0\u6548 -cachedrowsetimpl.boolfail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getBoolen \u5931\u8d25 -cachedrowsetimpl.bytefail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getByte \u5931\u8d25 -cachedrowsetimpl.shortfail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getShort \u5931\u8d25 -cachedrowsetimpl.intfail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getInt \u5931\u8d25 -cachedrowsetimpl.longfail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getLong \u5931\u8d25 -cachedrowsetimpl.floatfail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getFloat \u5931\u8d25 -cachedrowsetimpl.doublefail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getDouble \u5931\u8d25 -cachedrowsetimpl.dtypemismt = \u6570\u636e\u7c7b\u578b\u4e0d\u5339\u914d -cachedrowsetimpl.datefail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getDate \u5931\u8d25\uff0c\u65e0\u53ef\u7528\u8f6c\u6362 -cachedrowsetimpl.timefail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getTime \u5931\u8d25\uff0c\u65e0\u53ef\u7528\u8f6c\u6362 -cachedrowsetimpl.posupdate = \u4e0d\u652f\u6301\u5b9a\u4f4d\u66f4\u65b0 -cachedrowsetimpl.unableins = \u65e0\u6cd5\u5b9e\u4f8b\u5316: {0} -cachedrowsetimpl.beforefirst = beforeFirst: \u5149\u6807\u64cd\u4f5c\u65e0\u6548 -cachedrowsetimpl.first = First: \u5149\u6807\u64cd\u4f5c\u65e0\u6548 +cachedrowsetimpl.populate = \u63D0\u4F9B\u7ED9\u586B\u5145\u65B9\u6CD5\u7684 ResultSet \u5BF9\u8C61\u65E0\u6548 +cachedrowsetimpl.invalidp = \u751F\u6210\u7684\u6301\u4E45\u6027\u63D0\u4F9B\u65B9\u65E0\u6548 +cachedrowsetimpl.nullhash = \u65E0\u6CD5\u5B9E\u4F8B\u5316 CachedRowSetImpl \u5B9E\u4F8B\u3002\u63D0\u4F9B\u7ED9\u6784\u9020\u5668\u7684 Hashtable \u4E3A\u7A7A\u503C +cachedrowsetimpl.invalidop = \u5BF9\u63D2\u5165\u884C\u6267\u884C\u7684\u64CD\u4F5C\u65E0\u6548 +cachedrowsetimpl.accfailed = acceptChanges \u5931\u8D25 +cachedrowsetimpl.invalidcp = \u5149\u6807\u4F4D\u7F6E\u65E0\u6548 +cachedrowsetimpl.illegalop = \u5BF9\u975E\u63D2\u5165\u884C\u6267\u884C\u7684\u64CD\u4F5C\u975E\u6CD5 +cachedrowsetimpl.clonefail = \u514B\u9686\u5931\u8D25: {0} +cachedrowsetimpl.invalidcol = \u5217\u7D22\u5F15\u65E0\u6548 +cachedrowsetimpl.invalcolnm = \u5217\u540D\u65E0\u6548 +cachedrowsetimpl.boolfail = \u5BF9\u5217 {1} \u4E2D\u7684\u503C ({0}) \u6267\u884C getBoolen \u5931\u8D25 +cachedrowsetimpl.bytefail = \u5BF9\u5217 {1} \u4E2D\u7684\u503C ({0}) \u6267\u884C getByte \u5931\u8D25 +cachedrowsetimpl.shortfail = \u5BF9\u5217 {1} \u4E2D\u7684\u503C ({0}) \u6267\u884C getShort \u5931\u8D25 +cachedrowsetimpl.intfail = \u5BF9\u5217 {1} \u4E2D\u7684\u503C ({0}) \u6267\u884C getInt \u5931\u8D25 +cachedrowsetimpl.longfail = \u5BF9\u5217 {1} \u4E2D\u7684\u503C ({0}) \u6267\u884C getLong \u5931\u8D25 +cachedrowsetimpl.floatfail = \u5BF9\u5217 {1} \u4E2D\u7684\u503C ({0}) \u6267\u884C getFloat \u5931\u8D25 +cachedrowsetimpl.doublefail = \u5BF9\u5217 {1} \u4E2D\u7684\u503C ({0}) \u6267\u884C getDouble \u5931\u8D25 +cachedrowsetimpl.dtypemismt = \u6570\u636E\u7C7B\u578B\u4E0D\u5339\u914D +cachedrowsetimpl.datefail = \u5BF9\u5217 {1} \u4E2D\u7684\u503C ({0}) \u6267\u884C getDate \u5931\u8D25, \u65E0\u53EF\u7528\u8F6C\u6362 +cachedrowsetimpl.timefail = \u5BF9\u5217 {1} \u4E2D\u7684\u503C ({0}) \u6267\u884C getTime \u5931\u8D25, \u65E0\u53EF\u7528\u8F6C\u6362 +cachedrowsetimpl.posupdate = \u4E0D\u652F\u6301\u5B9A\u4F4D\u66F4\u65B0 +cachedrowsetimpl.unableins = \u65E0\u6CD5\u5B9E\u4F8B\u5316: {0} +cachedrowsetimpl.beforefirst = beforeFirst: \u5149\u6807\u64CD\u4F5C\u65E0\u6548 +cachedrowsetimpl.first = First: \u5149\u6807\u64CD\u4F5C\u65E0\u6548 cachedrowsetimpl.last = last: TYPE_FORWARD_ONLY -cachedrowsetimpl.absolute = absolute: \u5149\u6807\u4f4d\u7f6e\u65e0\u6548 -cachedrowsetimpl.relative = relative: \u5149\u6807\u4f4d\u7f6e\u65e0\u6548 -cachedrowsetimpl.asciistream = \u8bfb\u53d6 ASCII \u6d41\u5931\u8d25 -cachedrowsetimpl.binstream = \u8bfb\u53d6\u4e8c\u8fdb\u5236\u6d41\u5931\u8d25 -cachedrowsetimpl.failedins = \u5bf9\u63d2\u5165\u884c\u6267\u884c\u64cd\u4f5c\u5931\u8d25 -cachedrowsetimpl.updateins = \u4e3a\u63d2\u5165\u884c\u8c03\u7528 updateRow +cachedrowsetimpl.absolute = absolute: \u5149\u6807\u4F4D\u7F6E\u65E0\u6548 +cachedrowsetimpl.relative = relative: \u5149\u6807\u4F4D\u7F6E\u65E0\u6548 +cachedrowsetimpl.asciistream = \u672A\u80FD\u8BFB\u53D6 ASCII \u6D41 +cachedrowsetimpl.binstream = \u672A\u80FD\u8BFB\u53D6\u4E8C\u8FDB\u5236\u6D41 +cachedrowsetimpl.failedins = \u5BF9\u63D2\u5165\u884C\u6267\u884C\u64CD\u4F5C\u5931\u8D25 +cachedrowsetimpl.updateins = \u4E3A\u63D2\u5165\u884C\u8C03\u7528 updateRow cachedrowsetimpl.movetoins = moveToInsertRow: CONCUR_READ_ONLY -cachedrowsetimpl.movetoins1 = moveToInsertRow: \u65e0\u5143\u6570\u636e -cachedrowsetimpl.movetoins2 = moveToInsertRow: \u5217\u6570\u65e0\u6548 -cachedrowsetimpl.tablename = \u8868\u540d\u4e0d\u80fd\u4e3a Null -cachedrowsetimpl.keycols = \u952e\u5217\u65e0\u6548 -cachedrowsetimpl.opnotsupp = \u64cd\u4f5c\u4e0d\u53d7\u6570\u636e\u5e93\u652f\u6301 -cachedrowsetimpl.matchcols = \u5339\u914d\u5217\u4e0e\u8bbe\u7f6e\u7684\u90a3\u4e9b\u5339\u914d\u5217\u4e0d\u540c -cachedrowsetimpl.setmatchcols = \u5728\u83b7\u53d6\u5339\u914d\u5217\u4e4b\u524d\u5148\u8bbe\u7f6e\u5339\u914d\u5217 -cachedrowsetimpl.matchcols1 = \u5339\u914d\u5217\u6570\u5e94\u5f53\u5927\u4e8e 0 -cachedrowsetimpl.matchcols2 = \u5339\u914d\u5217\u6570\u5e94\u5f53\u4e3a\u7a7a\u6216 Null \u5b57\u7b26\u4e32 -cachedrowsetimpl.unsetmatch = \u8981\u590d\u539f\u7684\u5217\u4e0e\u8bbe\u7f6e\u7684\u4e0d\u540c -cachedrowsetimpl.unsetmatch1 = \u4f7f\u7528\u5217\u540d\u4f5c\u4e3a unsetMatchColumn \u7684\u53c2\u6570 -cachedrowsetimpl.unsetmatch2 = \u4f7f\u7528\u5217 ID \u4f5c\u4e3a unsetMatchColumn \u7684\u53c2\u6570 -cachedrowsetimpl.numrows = \u884c\u6570\u5c0f\u4e8e\u96f6\u6216\u5c0f\u4e8e\u8981\u63d0\u53d6\u7684\u884c\u6570 -cachedrowsetimpl.startpos = \u8d77\u59cb\u4f4d\u7f6e\u4e0d\u80fd\u4e3a\u8d1f\u6570 -cachedrowsetimpl.nextpage = \u5728\u8c03\u7528\u4e4b\u524d\u5148\u586b\u5145\u6570\u636e -cachedrowsetimpl.pagesize = \u9875\u9762\u5927\u5c0f\u4e0d\u80fd\u5c0f\u4e8e\u96f6 -cachedrowsetimpl.pagesize1 = \u9875\u9762\u5927\u5c0f\u4e0d\u80fd\u5927\u4e8e maxRows -cachedrowsetimpl.fwdonly = ResultSet \u7684\u7c7b\u578b\u4e3a\u4ec5\u5411\u524d\u7c7b\u578b -cachedrowsetimpl.type = \u7c7b\u578b\u4e3a: {0} -cachedrowsetimpl.opnotysupp = \u5c1a\u4e0d\u652f\u6301\u7684\u64cd\u4f5c -cachedrowsetimpl.featnotsupp = \u5c1a\u4e0d\u652f\u6301\u7684\u529f\u80fd +cachedrowsetimpl.movetoins1 = moveToInsertRow: \u65E0\u5143\u6570\u636E +cachedrowsetimpl.movetoins2 = moveToInsertRow: \u5217\u6570\u65E0\u6548 +cachedrowsetimpl.tablename = \u8868\u540D\u4E0D\u80FD\u4E3A\u7A7A\u503C +cachedrowsetimpl.keycols = \u5173\u952E\u5B57\u5217\u65E0\u6548 +cachedrowsetimpl.invalidcol = \u5217\u7D22\u5F15\u65E0\u6548 +cachedrowsetimpl.opnotsupp = \u64CD\u4F5C\u4E0D\u53D7\u6570\u636E\u5E93\u652F\u6301 +cachedrowsetimpl.matchcols = \u5339\u914D\u5217\u4E0E\u8BBE\u7F6E\u7684\u90A3\u4E9B\u5339\u914D\u5217\u4E0D\u540C +cachedrowsetimpl.setmatchcols = \u5728\u83B7\u53D6\u5339\u914D\u5217\u4E4B\u524D\u5148\u8BBE\u7F6E\u5339\u914D\u5217 +cachedrowsetimpl.matchcols1 = \u5339\u914D\u5217\u6570\u5E94\u5F53\u5927\u4E8E 0 +cachedrowsetimpl.matchcols2 = \u5339\u914D\u5217\u6570\u5E94\u5F53\u4E3A\u7A7A\u6216\u7A7A\u503C\u5B57\u7B26\u4E32 +cachedrowsetimpl.unsetmatch = \u8981\u53D6\u6D88\u8BBE\u7F6E\u7684\u5217\u4E0E\u8BBE\u7F6E\u7684\u5217\u4E0D\u540C +cachedrowsetimpl.unsetmatch1 = \u4F7F\u7528\u5217\u540D\u4F5C\u4E3A unsetMatchColumn \u7684\u53C2\u6570 +cachedrowsetimpl.unsetmatch2 = \u4F7F\u7528\u5217 ID \u4F5C\u4E3A unsetMatchColumn \u7684\u53C2\u6570 +cachedrowsetimpl.numrows = \u884C\u6570\u5C0F\u4E8E\u96F6\u6216\u5C0F\u4E8E\u8981\u63D0\u53D6\u7684\u884C\u6570 +cachedrowsetimpl.startpos = \u8D77\u59CB\u4F4D\u7F6E\u4E0D\u80FD\u4E3A\u8D1F\u6570 +cachedrowsetimpl.nextpage = \u5728\u8C03\u7528\u4E4B\u524D\u5148\u586B\u5145\u6570\u636E +cachedrowsetimpl.pagesize = \u9875\u9762\u5927\u5C0F\u4E0D\u80FD\u5C0F\u4E8E\u96F6 +cachedrowsetimpl.pagesize1 = \u9875\u9762\u5927\u5C0F\u4E0D\u80FD\u5927\u4E8E maxRows +cachedrowsetimpl.fwdonly = ResultSet \u7684\u7C7B\u578B\u4E3A\u4EC5\u5411\u524D\u7C7B\u578B +cachedrowsetimpl.type = \u7C7B\u578B\u4E3A: {0} +cachedrowsetimpl.opnotysupp = \u5C1A\u4E0D\u652F\u6301\u8BE5\u64CD\u4F5C +cachedrowsetimpl.featnotsupp = \u5C1A\u4E0D\u652F\u6301\u8BE5\u529F\u80FD # WebRowSetImpl exceptions -webrowsetimpl.nullhash = \u65e0\u6cd5\u5b9e\u4f8b\u5316 WebRowSetImpl \u5b9e\u4f8b\u3002\u63d0\u4f9b\u7ed9\u6784\u9020\u51fd\u6570\u7684 Hashtable \u4e3a Null -webrowsetimpl.invalidwr = \u7f16\u5199\u5668\u65e0\u6548 -webrowsetimpl.invalidrd = \u8bfb\u53d6\u5668\u65e0\u6548 +webrowsetimpl.nullhash = \u65E0\u6CD5\u5B9E\u4F8B\u5316 WebRowSetImpl \u5B9E\u4F8B\u3002\u63D0\u4F9B\u7ED9\u6784\u9020\u5668\u7684 Hashtable \u4E3A\u7A7A\u503C +webrowsetimpl.invalidwr = \u5199\u8FDB\u7A0B\u65E0\u6548 +webrowsetimpl.invalidrd = \u8BFB\u8FDB\u7A0B\u65E0\u6548 #FilteredRowSetImpl exceptions -filteredrowsetimpl.relative = relative: \u5149\u6807\u64cd\u4f5c\u65e0\u6548 -filteredrowsetimpl.absolute = absolute: \u5149\u6807\u64cd\u4f5c\u65e0\u6548 -filteredrowsetimpl.notallowed = \u4e0d\u5141\u8bb8\u6b64\u503c\u901a\u8fc7\u8fc7\u6ee4\u5668 +filteredrowsetimpl.relative = relative: \u5149\u6807\u64CD\u4F5C\u65E0\u6548 +filteredrowsetimpl.absolute = absolute: \u5149\u6807\u64CD\u4F5C\u65E0\u6548 +filteredrowsetimpl.notallowed = \u4E0D\u5141\u8BB8\u6B64\u503C\u901A\u8FC7\u7B5B\u9009\u5668 #JoinRowSetImpl exceptions -joinrowsetimpl.notinstance = \u4e0d\u662f RowSet \u7684\u5b9e\u4f8b -joinrowsetimpl.matchnotset = \u672a\u8bbe\u7f6e\u5339\u914d\u5217\u4ee5\u8fdb\u884c\u8fde\u63a5 -joinrowsetimpl.numnotequal = RowSet \u4e2d\u7684\u5143\u7d20\u4e2a\u6570\u4e0d\u7b49\u4e8e\u5339\u914d\u5217\u6570 -joinrowsetimpl.notdefined = \u8fd9\u4e0d\u662f\u5b9a\u4e49\u7684\u8fde\u63a5\u7c7b\u578b -joinrowsetimpl.notsupported = \u4e0d\u652f\u6301\u6b64\u8fde\u63a5\u7c7b\u578b -joinrowsetimpl.initerror = JoinRowSet \u521d\u59cb\u5316\u9519\u8bef -joinrowsetimpl.genericerr = \u4e00\u822c JoinRowSet \u521d\u59cb\u5316\u9519\u8bef -joinrowsetimpl.emptyrowset = \u65e0\u6cd5\u5c06\u7a7a RowSet \u6dfb\u52a0\u5230\u6b64 JoinRowSet +joinrowsetimpl.notinstance = \u4E0D\u662F RowSet \u7684\u5B9E\u4F8B +joinrowsetimpl.matchnotset = \u672A\u8BBE\u7F6E\u5339\u914D\u5217\u4EE5\u8FDB\u884C\u8054\u63A5 +joinrowsetimpl.numnotequal = RowSet \u4E2D\u7684\u5143\u7D20\u4E2A\u6570\u4E0D\u7B49\u4E8E\u5339\u914D\u5217\u6570 +joinrowsetimpl.notdefined = \u8FD9\u4E0D\u662F\u5B9A\u4E49\u7684\u8054\u63A5\u7C7B\u578B +joinrowsetimpl.notsupported = \u4E0D\u652F\u6301\u6B64\u8054\u63A5\u7C7B\u578B +joinrowsetimpl.initerror = JoinRowSet \u521D\u59CB\u5316\u9519\u8BEF +joinrowsetimpl.genericerr = \u4E00\u822C JoinRowSet \u521D\u59CB\u5316\u9519\u8BEF +joinrowsetimpl.emptyrowset = \u65E0\u6CD5\u5C06\u7A7A RowSet \u6DFB\u52A0\u5230\u6B64 JoinRowSet #JdbcRowSetImpl exceptions -jdbcrowsetimpl.invalstate = \u72b6\u6001\u65e0\u6548 -jdbcrowsetimpl.connect = JdbcRowSet\uff08\u8fde\u63a5\uff09JNDI \u65e0\u6cd5\u8fde\u63a5 -jdbcrowsetimpl.paramtype = \u65e0\u6cd5\u63a8\u65ad\u53c2\u6570\u7c7b\u578b -jdbcrowsetimpl.matchcols = \u5339\u914d\u5217\u4e0e\u8bbe\u7f6e\u7684\u90a3\u4e9b\u5339\u914d\u5217\u4e0d\u540c -jdbcrowsetimpl.setmatchcols = \u5728\u83b7\u53d6\u5339\u914d\u5217\u4e4b\u524d\u5148\u8bbe\u7f6e\u5339\u914d\u5217 -jdbcrowsetimpl.matchcols1 = \u5339\u914d\u5217\u6570\u5e94\u5f53\u5927\u4e8e 0 -jdbcrowsetimpl.matchcols2 = \u5339\u914d\u5217\u4e0d\u80fd\u4e3a Null \u6216\u7a7a\u5b57\u7b26\u4e32 -jdbcrowsetimpl.unsetmatch = \u8981\u590d\u539f\u7684\u5217\u4e0e\u8bbe\u7f6e\u7684\u4e0d\u540c -jdbcrowsetimpl.usecolname = \u4f7f\u7528\u5217\u540d\u4f5c\u4e3a unsetMatchColumn \u7684\u53c2\u6570 -jdbcrowsetimpl.usecolid = \u4f7f\u7528\u5217 ID \u4f5c\u4e3a unsetMatchColumn \u7684\u53c2\u6570 -jdbcrowsetimpl.resnotupd = ResultSet \u4e0d\u53ef\u66f4\u65b0 -jdbcrowsetimpl.opnotysupp = \u5c1a\u4e0d\u652f\u6301\u7684\u64cd\u4f5c -jdbcrowsetimpl.featnotsupp = \u5c1a\u4e0d\u652f\u6301\u7684\u529f\u80fd +jdbcrowsetimpl.invalstate = \u72B6\u6001\u65E0\u6548 +jdbcrowsetimpl.connect = JdbcRowSet (\u8FDE\u63A5) JNDI \u65E0\u6CD5\u8FDE\u63A5 +jdbcrowsetimpl.paramtype = \u65E0\u6CD5\u63A8\u65AD\u53C2\u6570\u7C7B\u578B +jdbcrowsetimpl.matchcols = \u5339\u914D\u5217\u4E0E\u8BBE\u7F6E\u7684\u90A3\u4E9B\u5339\u914D\u5217\u4E0D\u540C +jdbcrowsetimpl.setmatchcols = \u5728\u83B7\u53D6\u5339\u914D\u5217\u4E4B\u524D\u5148\u8BBE\u7F6E\u5339\u914D\u5217 +jdbcrowsetimpl.matchcols1 = \u5339\u914D\u5217\u6570\u5E94\u5F53\u5927\u4E8E 0 +jdbcrowsetimpl.matchcols2 = \u5339\u914D\u5217\u4E0D\u80FD\u4E3A\u7A7A\u503C\u6216\u7A7A\u5B57\u7B26\u4E32 +jdbcrowsetimpl.unsetmatch = \u8981\u53D6\u6D88\u8BBE\u7F6E\u7684\u5217\u4E0E\u8BBE\u7F6E\u7684\u5217\u4E0D\u540C +jdbcrowsetimpl.usecolname = \u4F7F\u7528\u5217\u540D\u4F5C\u4E3A unsetMatchColumn \u7684\u53C2\u6570 +jdbcrowsetimpl.usecolid = \u4F7F\u7528\u5217 ID \u4F5C\u4E3A unsetMatchColumn \u7684\u53C2\u6570 +jdbcrowsetimpl.resnotupd = ResultSet \u4E0D\u53EF\u66F4\u65B0 +jdbcrowsetimpl.opnotysupp = \u5C1A\u4E0D\u652F\u6301\u8BE5\u64CD\u4F5C +jdbcrowsetimpl.featnotsupp = \u5C1A\u4E0D\u652F\u6301\u8BE5\u529F\u80FD #CachedRowSetReader exceptions -crsreader.connect = (JNDI) \u65e0\u6cd5\u8fde\u63a5 -crsreader.paramtype = \u65e0\u6cd5\u63a8\u65ad\u53c2\u6570\u7c7b\u578b -crsreader.connecterr = RowSetReader \u4e2d\u51fa\u73b0\u5185\u90e8\u9519\u8bef\uff1a\u65e0\u8fde\u63a5\u6216\u547d\u4ee4 -crsreader.datedetected = \u68c0\u6d4b\u5230\u65e5\u671f -crsreader.caldetected = \u68c0\u6d4b\u5230\u65e5\u5386 +crsreader.connect = (JNDI) \u65E0\u6CD5\u8FDE\u63A5 +crsreader.paramtype = \u65E0\u6CD5\u63A8\u65AD\u53C2\u6570\u7C7B\u578B +crsreader.connecterr = RowSetReader \u4E2D\u51FA\u73B0\u5185\u90E8\u9519\u8BEF: \u65E0\u8FDE\u63A5\u6216\u547D\u4EE4 +crsreader.datedetected = \u68C0\u6D4B\u5230\u65E5\u671F +crsreader.caldetected = \u68C0\u6D4B\u5230\u65E5\u5386 #CachedRowSetWriter exceptions -crswriter.connect = \u65e0\u6cd5\u8fdb\u884c\u8fde\u63a5 -crswriter.tname = writeData \u65e0\u6cd5\u786e\u5b9a\u8868\u540d -crswriter.params1 = params1 \u7684\u503c: {0} -crswriter.params2 = params2 \u7684\u503c: {0} -crswriter.conflictsno = \u540c\u6b65\u5316\u65f6\u53d1\u751f\u51b2\u7a81 +crswriter.connect = \u65E0\u6CD5\u83B7\u53D6\u8FDE\u63A5 +crswriter.tname = writeData \u65E0\u6CD5\u786E\u5B9A\u8868\u540D +crswriter.params1 = params1 \u7684\u503C: {0} +crswriter.params2 = params2 \u7684\u503C: {0} +crswriter.conflictsno = \u540C\u6B65\u65F6\u53D1\u751F\u51B2\u7A81 #InsertRow exceptions -insertrow.novalue = \u5c1a\u672a\u63d2\u5165\u4efb\u4f55\u503c +insertrow.novalue = \u5C1A\u672A\u63D2\u5165\u4EFB\u4F55\u503C #SyncResolverImpl exceptions -syncrsimpl.indexval = \u7d22\u5f15\u503c\u8d85\u51fa\u8303\u56f4 -syncrsimpl.noconflict = \u6b64\u5217\u4e0d\u51b2\u7a81 -syncrsimpl.syncnotpos = \u4e0d\u80fd\u540c\u6b65 -syncrsimpl.valtores = \u8981\u89e3\u6790\u7684\u503c\u53ef\u4ee5\u5728\u6570\u636e\u5e93\u4e2d\uff0c\u4e5f\u53ef\u4ee5\u5728 CachedRowSet \u4e2d +syncrsimpl.indexval = \u7D22\u5F15\u503C\u8D85\u51FA\u8303\u56F4 +syncrsimpl.noconflict = \u6B64\u5217\u4E0D\u51B2\u7A81 +syncrsimpl.syncnotpos = \u4E0D\u80FD\u540C\u6B65 +syncrsimpl.valtores = \u8981\u89E3\u6790\u7684\u503C\u53EF\u4EE5\u5728\u6570\u636E\u5E93\u4E2D, \u4E5F\u53EF\u4EE5\u5728 CachedRowSet \u4E2D #WebRowSetXmlReader exception -wrsxmlreader.invalidcp = \u5df2\u5230\u8fbe RowSet \u7684\u7ed3\u5c3e\u3002\u5149\u6807\u4f4d\u7f6e\u65e0\u6548 +wrsxmlreader.invalidcp = \u5DF2\u5230\u8FBE RowSet \u7684\u7ED3\u5C3E\u3002\u5149\u6807\u4F4D\u7F6E\u65E0\u6548 wrsxmlreader.readxml = readXML: {0} -wrsxmlreader.parseerr = ** \u8bed\u6cd5\u89e3\u6790\u9519\u8bef: {0}\uff0c\u884c: {1}\uff0cURI: {2} +wrsxmlreader.parseerr = ** \u8BED\u6CD5\u5206\u6790\u9519\u8BEF: {0}, \u884C: {1}, URI: {2} #WebRowSetXmlWriter exceptions wrsxmlwriter.ioex = IOException: {0} wrsxmlwriter.sqlex = SQLException: {0} -wrsxmlwriter.failedwrite = \u65e0\u6cd5\u5199\u5165\u503c -wsrxmlwriter.notproper = \u7c7b\u578b\u4e0d\u6b63\u786e +wrsxmlwriter.failedwrite = \u65E0\u6CD5\u5199\u5165\u503C +wsrxmlwriter.notproper = \u7C7B\u578B\u4E0D\u6B63\u786E #XmlReaderContentHandler exceptions -xmlrch.errmap = \u8bbe\u7f6e\u6620\u5c04\u65f6\u51fa\u9519: {0} -xmlrch.errmetadata = \u8bbe\u7f6e\u5143\u6570\u636e\u65f6\u51fa\u9519: {0} -xmlrch.errinsertval = \u63d2\u5165\u503c\u65f6\u51fa\u9519: {0} -xmlrch.errconstr = \u6784\u9020\u884c\u65f6\u51fa\u9519: {0} -xmlrch.errdel = \u5220\u9664\u884c\u65f6\u51fa\u9519: {0} -xmlrch.errinsdel = \u6784\u9020 insdel \u884c\u65f6\u51fa\u9519: {0} -xmlrch.errupdate = \u6784\u9020\u66f4\u65b0\u884c\u65f6\u51fa\u9519: {0} -xmlrch.errupdrow = \u66f4\u65b0\u884c\u65f6\u51fa\u9519: {0} -xmlrch.chars = \u5b57\u7b26: -xmlrch.badvalue = \u503c\u9519\u8bef\uff1b\u5c5e\u6027\u4e0d\u53ef\u4e3a Null -xmlrch.badvalue1 = \u503c\u9519\u8bef\uff1b\u5143\u6570\u636e\u4e0d\u53ef\u4e3a Null -xmlrch.warning = ** \u8b66\u544a: {0}\uff0c\u884c: {1}\uff0cURI: {2} +xmlrch.errmap = \u8BBE\u7F6E\u6620\u5C04\u65F6\u51FA\u9519: {0} +xmlrch.errmetadata = \u8BBE\u7F6E\u5143\u6570\u636E\u65F6\u51FA\u9519: {0} +xmlrch.errinsertval = \u63D2\u5165\u503C\u65F6\u51FA\u9519: {0} +xmlrch.errconstr = \u6784\u9020\u884C\u65F6\u51FA\u9519: {0} +xmlrch.errdel = \u5220\u9664\u884C\u65F6\u51FA\u9519: {0} +xmlrch.errinsert = \u6784\u9020\u63D2\u5165\u884C\u65F6\u51FA\u9519: {0} +xmlrch.errinsdel = \u6784\u9020 insdel \u884C\u65F6\u51FA\u9519: {0} +xmlrch.errupdate = \u6784\u9020\u66F4\u65B0\u884C\u65F6\u51FA\u9519: {0} +xmlrch.errupdrow = \u66F4\u65B0\u884C\u65F6\u51FA\u9519: {0} +xmlrch.chars = \u5B57\u7B26: +xmlrch.badvalue = \u503C\u9519\u8BEF; \u5C5E\u6027\u4E0D\u53EF\u4E3A\u7A7A\u503C +xmlrch.badvalue1 = \u503C\u9519\u8BEF; \u5143\u6570\u636E\u4E0D\u53EF\u4E3A\u7A7A\u503C +xmlrch.warning = ** \u8B66\u544A: {0}, \u884C: {1}, URI: {2} #RIOptimisticProvider Exceptions -riop.locking = \u4e0d\u652f\u6301\u9501\u5b9a\u5206\u7c7b +riop.locking = \u4E0D\u652F\u6301\u9501\u5B9A\u5206\u7C7B #RIXMLProvider exceptions -rixml.unsupp = \u4e0d\u652f\u6301 RIXMLProvider +rixml.unsupp = \u4E0D\u652F\u6301 RIXMLProvider diff --git a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties index a52d73d4dbe..cb71246daa9 100644 --- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties +++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties @@ -24,145 +24,147 @@ # # CacheRowSetImpl exceptions -cachedrowsetimpl.populate = \u70ba\u690d\u5165\u65b9\u6cd5\u63d0\u4f9b\u7684 ResultSet \u7269\u4ef6\u7121\u6548 -cachedrowsetimpl.invalidp = \u7522\u751f\u7684\u6301\u7e8c\u6027\u63d0\u4f9b\u8005\u7121\u6548 -cachedrowsetimpl.nullhash = \u7121\u6cd5\u5275\u8a2d CachedRowSetImpl \u5be6\u4f8b\u3002\u70ba\u5efa\u69cb\u5b50\u63d0\u4f9b\u7684 Hashtable \u70ba\u7a7a -cachedrowsetimpl.invalidop = \u5c0d\u63d2\u5165\u5217\u9032\u884c\u7684\u4f5c\u696d\u7121\u6548 +cachedrowsetimpl.populate = \u70BA\u690D\u5165\u65B9\u6CD5\u63D0\u4F9B\u7684 ResultSet \u7269\u4EF6\u7121\u6548 +cachedrowsetimpl.invalidp = \u7522\u751F\u7684\u6301\u7E8C\u6027\u63D0\u4F9B\u8005\u7121\u6548 +cachedrowsetimpl.nullhash = \u7121\u6CD5\u5EFA\u7ACB CachedRowSetImpl \u57F7\u884C\u8655\u7406\u3002\u70BA\u5EFA\u69CB\u5B50\u63D0\u4F9B\u7684 Hashtable \u70BA\u7A7A\u503C +cachedrowsetimpl.invalidop = \u63D2\u5165\u5217\u6642\u7684\u4F5C\u696D\u7121\u6548 cachedrowsetimpl.accfailed = acceptChanges \u5931\u6557 -cachedrowsetimpl.invalidcp = \u6e38\u6a19\u4f4d\u7f6e\u7121\u6548 -cachedrowsetimpl.illegalop = \u975e\u63d2\u5165\u5217\u4e0a\u5b58\u5728\u975e\u6cd5\u4f5c\u696d -cachedrowsetimpl.clonefail = \u8907\u88fd\u5931\u6557\uff1a{0} -cachedrowsetimpl.invalidcol = \u6b04\u7d22\u5f15\u7121\u6548 -cachedrowsetimpl.invalcolnm = \u6b04\u540d\u7121\u6548 -cachedrowsetimpl.boolfail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getBoolen \u5931\u6557 -cachedrowsetimpl.bytefail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getByte \u5931\u6557 -cachedrowsetimpl.shortfail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getShort \u5931\u6557 -cachedrowsetimpl.intfail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getInt \u5931\u6557 -cachedrowsetimpl.longfail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getLong \u5931\u6557 -cachedrowsetimpl.floatfail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getFloat \u5931\u6557 -cachedrowsetimpl.doublefail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getDouble \u5931\u6557 -cachedrowsetimpl.dtypemismt = \u8cc7\u6599\u985e\u578b\u4e0d\u5339\u914d -cachedrowsetimpl.datefail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getDate \u5931\u6557\uff0c\u672a\u9032\u884c\u8f49\u63db -cachedrowsetimpl.timefail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getTime \u5931\u6557\uff0c\u672a\u9032\u884c\u8f49\u63db -cachedrowsetimpl.posupdate = \u4e0d\u652f\u63f4\u5b9a\u4f4d\u7684\u66f4\u65b0 -cachedrowsetimpl.unableins = \u7121\u6cd5\u5275\u8a2d\uff1a{0} -cachedrowsetimpl.beforefirst = beforeFirst\uff1a\u6e38\u6a19\u4f5c\u696d\u7121\u6548 -cachedrowsetimpl.first = First\uff1a\u6e38\u6a19\u4f5c\u696d\u7121\u6548 -cachedrowsetimpl.last = last\uff1aTYPE_FORWARD_ONLY -cachedrowsetimpl.absolute = absolute\uff1a\u6e38\u6a19\u4f4d\u7f6e\u7121\u6548 -cachedrowsetimpl.relative = relative\uff1a\u6e38\u6a19\u4f4d\u7f6e\u7121\u6548 -cachedrowsetimpl.asciistream = \u5c0d ascii \u4e32\u6d41\u57f7\u884c read \u5931\u6557 -cachedrowsetimpl.binstream = \u5c0d\u4e8c\u9032\u4f4d\u4e32\u6d41\u57f7\u884c read \u5931\u6557 -cachedrowsetimpl.failedins = \u5728\u63d2\u5165\u5217\u4e0a\u5931\u6557 -cachedrowsetimpl.updateins = \u5c0d\u63d2\u5165\u5217\u547c\u53eb updateRow -cachedrowsetimpl.movetoins = moveToInsertRow\uff1aCONCUR_READ_ONLY -cachedrowsetimpl.movetoins1 = moveToInsertRow\uff1a\u6c92\u6709\u5143\u8cc7\u6599 -cachedrowsetimpl.movetoins2 = moveToInsertRow\uff1a\u6b04\u6578\u7121\u6548 -cachedrowsetimpl.tablename = \u8868\u540d\u7a31\u4e0d\u80fd\u70ba\u7a7a -cachedrowsetimpl.keycols = \u95dc\u9375\u6b04\u7121\u6548 -cachedrowsetimpl.opnotsupp = \u8cc7\u6599\u5eab\u4e0d\u652f\u63f4\u4f5c\u696d -cachedrowsetimpl.matchcols = \u5339\u914d\u6b04\u548c\u8a2d\u5b9a\u7684\u6b04\u4e0d\u540c -cachedrowsetimpl.setmatchcols = \u5728\u53d6\u5f97\u5339\u914d\u6b04\u4e4b\u524d\u8a2d\u5b9a\u5b83\u5011 -cachedrowsetimpl.matchcols1 = \u5339\u914d\u6b04\u61c9\u5927\u65bc 0 -cachedrowsetimpl.matchcols2 = \u5339\u914d\u6b04\u61c9\u70ba\u7a7a\u767d\u5b57\u4e32\u6216\u7a7a\u5b57\u4e32 -cachedrowsetimpl.unsetmatch = \u672a\u8a2d\u5b9a\u7684\u6b04\u548c\u8a2d\u5b9a\u7684\u6b04\u4e0d\u540c -cachedrowsetimpl.unsetmatch1 = \u4f7f\u7528\u6b04\u540d\u505a\u70ba unsetMatchColumn \u7684\u5f15\u6578 -cachedrowsetimpl.unsetmatch2 = \u4f7f\u7528\u6b04 ID \u505a\u70ba unsetMatchColumn \u7684\u5f15\u6578 -cachedrowsetimpl.numrows = \u5217\u6578\u5c0f\u65bc\u96f6\u6216\u5c0f\u65bc\u64f7\u53d6\u5927\u5c0f -cachedrowsetimpl.startpos = \u8d77\u59cb\u4f4d\u7f6e\u4e0d\u80fd\u70ba\u8ca0 -cachedrowsetimpl.nextpage = \u5728\u547c\u53eb\u4e4b\u524d\u690d\u5165\u8cc7\u6599 -cachedrowsetimpl.pagesize = \u9801\u9762\u5927\u5c0f\u4e0d\u80fd\u5c0f\u65bc\u96f6 -cachedrowsetimpl.pagesize1 = \u9801\u9762\u5927\u5c0f\u4e0d\u80fd\u5927\u65bc maxRows -cachedrowsetimpl.fwdonly = ResultSet \u53ea\u80fd\u5411\u524d\u9032\u884c -cachedrowsetimpl.type = \u985e\u578b\u662f\uff1a{0} -cachedrowsetimpl.opnotysupp = \u5c1a\u4e0d\u652f\u63f4\u8a72\u4f5c\u696d -cachedrowsetimpl.featnotsupp = \u4e0d\u652f\u63f4\u8a72\u529f\u80fd +cachedrowsetimpl.invalidcp = \u6E38\u6A19\u4F4D\u7F6E\u7121\u6548 +cachedrowsetimpl.illegalop = \u975E\u63D2\u5165\u5217\u4E0A\u5B58\u5728\u7121\u6548\u4F5C\u696D +cachedrowsetimpl.clonefail = \u8907\u88FD\u5931\u6557: {0} +cachedrowsetimpl.invalidcol = \u6B04\u7D22\u5F15\u7121\u6548 +cachedrowsetimpl.invalcolnm = \u6B04\u540D\u7121\u6548 +cachedrowsetimpl.boolfail = \u5C0D\u6B04 {1} \u4E2D\u7684\u503C ( {0} ) \u57F7\u884C getBoolen \u5931\u6557 +cachedrowsetimpl.bytefail = \u5C0D\u6B04 {1} \u4E2D\u7684\u503C ( {0} ) \u57F7\u884C getByte \u5931\u6557 +cachedrowsetimpl.shortfail = \u5C0D\u6B04 {1} \u4E2D\u7684\u503C ( {0} ) \u57F7\u884C getShort \u5931\u6557 +cachedrowsetimpl.intfail = \u5C0D\u6B04 {1} \u4E2D\u7684\u503C ( {0} ) \u57F7\u884C getInt \u5931\u6557 +cachedrowsetimpl.longfail = \u5C0D\u6B04 {1} \u4E2D\u7684\u503C ( {0} ) \u57F7\u884C getLong \u5931\u6557 +cachedrowsetimpl.floatfail = \u5C0D\u6B04 {1} \u4E2D\u7684\u503C ( {0} ) \u57F7\u884C getFloat \u5931\u6557 +cachedrowsetimpl.doublefail = \u5C0D\u6B04 {1} \u4E2D\u7684\u503C ( {0} ) \u57F7\u884C getDouble \u5931\u6557 +cachedrowsetimpl.dtypemismt = \u8CC7\u6599\u985E\u578B\u4E0D\u76F8\u7B26 +cachedrowsetimpl.datefail = \u5C0D\u6B04 {1} \u4E2D\u7684\u503C ( {0} ) \u57F7\u884C getDate \u5931\u6557\uFF0C\u672A\u9032\u884C\u8F49\u63DB +cachedrowsetimpl.timefail = \u5C0D\u6B04 {1} \u4E2D\u7684\u503C ( {0} ) \u57F7\u884C getTime \u5931\u6557\uFF0C\u672A\u9032\u884C\u8F49\u63DB +cachedrowsetimpl.posupdate = \u4E0D\u652F\u63F4\u5B9A\u4F4D\u7684\u66F4\u65B0 +cachedrowsetimpl.unableins = \u7121\u6CD5\u5EFA\u7ACB: {0} +cachedrowsetimpl.beforefirst = beforeFirst: \u6E38\u6A19\u4F5C\u696D\u7121\u6548 +cachedrowsetimpl.first = First: \u6E38\u6A19\u4F5C\u696D\u7121\u6548 +cachedrowsetimpl.last = last : TYPE_FORWARD_ONLY +cachedrowsetimpl.absolute = absolute: \u6E38\u6A19\u4F4D\u7F6E\u7121\u6548 +cachedrowsetimpl.relative = relative: \u6E38\u6A19\u4F4D\u7F6E\u7121\u6548 +cachedrowsetimpl.asciistream = \u8B80\u53D6 ascii \u4E32\u6D41\u5931\u6557 +cachedrowsetimpl.binstream = \u8B80\u53D6\u4E8C\u9032\u4F4D\u4E32\u6D41\u5931\u6557 +cachedrowsetimpl.failedins = \u63D2\u5165\u5217\u5931\u6557 +cachedrowsetimpl.updateins = \u63D2\u5165\u5217\u6642\u547C\u53EB updateRow +cachedrowsetimpl.movetoins = moveToInsertRow: CONCUR_READ_ONLY +cachedrowsetimpl.movetoins1 = moveToInsertRow: \u6C92\u6709\u63CF\u8FF0\u8CC7\u6599 +cachedrowsetimpl.movetoins2 = moveToInsertRow: \u6B04\u6578\u7121\u6548 +cachedrowsetimpl.tablename = \u8868\u683C\u540D\u7A31\u4E0D\u80FD\u70BA\u7A7A\u503C +cachedrowsetimpl.keycols = \u95DC\u9375\u6B04\u7121\u6548 +cachedrowsetimpl.invalidcol = \u6B04\u7D22\u5F15\u7121\u6548 +cachedrowsetimpl.opnotsupp = \u8CC7\u6599\u5EAB\u4E0D\u652F\u63F4\u4F5C\u696D +cachedrowsetimpl.matchcols = \u5339\u914D\u6B04\u548C\u8A2D\u5B9A\u7684\u6B04\u4E0D\u540C +cachedrowsetimpl.setmatchcols = \u5728\u53D6\u5F97\u5339\u914D\u6B04\u4E4B\u524D\u8A2D\u5B9A\u5B83\u5011 +cachedrowsetimpl.matchcols1 = \u5339\u914D\u6B04\u61C9\u5927\u65BC 0 +cachedrowsetimpl.matchcols2 = \u5339\u914D\u6B04\u61C9\u70BA\u7A7A\u767D\u5B57\u4E32\u6216\u7A7A\u503C\u5B57\u4E32 +cachedrowsetimpl.unsetmatch = \u53D6\u6D88\u8A2D\u5B9A\u7684\u6B04\u548C\u8A2D\u5B9A\u7684\u6B04\u4E0D\u540C +cachedrowsetimpl.unsetmatch1 = \u4F7F\u7528\u6B04\u540D\u505A\u70BA unsetMatchColumn \u7684\u5F15\u6578 +cachedrowsetimpl.unsetmatch2 = \u4F7F\u7528\u6B04 ID \u505A\u70BA unsetMatchColumn \u7684\u5F15\u6578 +cachedrowsetimpl.numrows = \u5217\u6578\u5C0F\u65BC\u96F6\u6216\u5C0F\u65BC\u64F7\u53D6\u5927\u5C0F +cachedrowsetimpl.startpos = \u8D77\u59CB\u4F4D\u7F6E\u4E0D\u80FD\u70BA\u8CA0\u6578 +cachedrowsetimpl.nextpage = \u5728\u547C\u53EB\u4E4B\u524D\u690D\u5165\u8CC7\u6599 +cachedrowsetimpl.pagesize = \u9801\u9762\u5927\u5C0F\u4E0D\u80FD\u5C0F\u65BC\u96F6 +cachedrowsetimpl.pagesize1 = \u9801\u9762\u5927\u5C0F\u4E0D\u80FD\u5927\u65BC maxRows +cachedrowsetimpl.fwdonly = ResultSet \u53EA\u80FD\u5411\u524D\u9032\u884C +cachedrowsetimpl.type = \u985E\u578B\u662F: {0} +cachedrowsetimpl.opnotysupp = \u5C1A\u4E0D\u652F\u63F4\u8A72\u4F5C\u696D +cachedrowsetimpl.featnotsupp = \u4E0D\u652F\u63F4\u8A72\u529F\u80FD # WebRowSetImpl exceptions -webrowsetimpl.nullhash = \u7121\u6cd5\u5275\u8a2d WebRowSetImpl \u5be6\u4f8b\u3002\u70ba\u5efa\u69cb\u5b50\u63d0\u4f9b\u7684 Hashtable \u70ba\u7a7a -webrowsetimpl.invalidwr = \u5beb\u5165\u5668\u7121\u6548 -webrowsetimpl.invalidrd = \u8b80\u53d6\u5668\u7121\u6548 +webrowsetimpl.nullhash = \u7121\u6CD5\u5EFA\u7ACB WebRowSetImpl \u57F7\u884C\u8655\u7406\u3002\u70BA\u5EFA\u69CB\u5B50\u63D0\u4F9B\u7684 Hashtable \u70BA\u7A7A\u503C +webrowsetimpl.invalidwr = \u5BEB\u5165\u5668\u7121\u6548 +webrowsetimpl.invalidrd = \u8B80\u53D6\u5668\u7121\u6548 #FilteredRowSetImpl exceptions -filteredrowsetimpl.relative = relative\uff1a\u6e38\u6a19\u4f5c\u696d\u7121\u6548 -filteredrowsetimpl.absolute = absolute\uff1a\u6e38\u6a19\u4f5c\u696d\u7121\u6548 -filteredrowsetimpl.notallowed = \u4e0d\u5141\u8a31\u6b64\u503c\u901a\u904e\u904e\u6ffe\u5668 +filteredrowsetimpl.relative = relative: \u6E38\u6A19\u4F5C\u696D\u7121\u6548 +filteredrowsetimpl.absolute = absolute: \u6E38\u6A19\u4F5C\u696D\u7121\u6548 +filteredrowsetimpl.notallowed = \u4E0D\u5141\u8A31\u6B64\u503C\u901A\u904E\u7BE9\u9078 #JoinRowSetImpl exceptions -joinrowsetimpl.notinstance = \u4e0d\u662f rowset \u7684\u5be6\u4f8b -joinrowsetimpl.matchnotset = \u672a\u8a2d\u5b9a\u7528\u65bc\u9023\u7d50\u7684\u5339\u914d\u6b04 -joinrowsetimpl.numnotequal = rowset \u4e2d\u7684\u5143\u7d20\u6578\u4e0d\u7b49\u65bc\u5339\u914d\u6b04 -joinrowsetimpl.notdefined = \u9019\u4e0d\u662f\u9023\u7d50\u7684\u5df2\u5b9a\u7fa9\u985e\u578b -joinrowsetimpl.notsupported = \u4e0d\u652f\u63f4\u6b64\u985e\u9023\u7d50 -joinrowsetimpl.initerror = JoinRowSet \u521d\u59cb\u5316\u932f\u8aa4 -joinrowsetimpl.genericerr = \u5e38\u898f\u7684 joinrowset \u521d\u59cb\u5316\u932f\u8aa4 -joinrowsetimpl.emptyrowset = \u7121\u6cd5\u5c07\u7a7a rowset \u65b0\u589e\u81f3\u6b64 JoinRowSet +joinrowsetimpl.notinstance = \u4E0D\u662F rowset \u7684\u57F7\u884C\u8655\u7406 +joinrowsetimpl.matchnotset = \u672A\u8A2D\u5B9A\u7528\u65BC\u9023\u7D50\u7684\u5339\u914D\u6B04 +joinrowsetimpl.numnotequal = rowset \u4E2D\u7684\u5143\u7D20\u6578\u4E0D\u7B49\u65BC\u5339\u914D\u6B04 +joinrowsetimpl.notdefined = \u9019\u4E0D\u662F\u9023\u7D50\u7684\u5DF2\u5B9A\u7FA9\u985E\u578B +joinrowsetimpl.notsupported = \u4E0D\u652F\u63F4\u6B64\u985E\u9023\u7D50 +joinrowsetimpl.initerror = JoinRowSet \u521D\u59CB\u5316\u932F\u8AA4 +joinrowsetimpl.genericerr = \u4E00\u822C\u7684 joinrowset \u521D\u59CB\u5316\u932F\u8AA4 +joinrowsetimpl.emptyrowset = \u7121\u6CD5\u5C07\u7A7A rowset \u65B0\u589E\u81F3\u6B64 JoinRowSet #JdbcRowSetImpl exceptions -jdbcrowsetimpl.invalstate = \u72c0\u614b\u7121\u6548 -jdbcrowsetimpl.connect = JdbcRowSet (\u9023\u7dda) JNDI \u7121\u6cd5\u9023\u7dda -jdbcrowsetimpl.paramtype = \u7121\u6cd5\u63a8\u65b7\u53c3\u6578\u985e\u578b -jdbcrowsetimpl.matchcols = \u5339\u914d\u6b04\u548c\u8a2d\u5b9a\u7684\u6b04\u4e0d\u540c -jdbcrowsetimpl.setmatchcols = \u5728\u53d6\u5f97\u5339\u914d\u6b04\u4e4b\u524d\u8a2d\u5b9a\u5b83\u5011 -jdbcrowsetimpl.matchcols1 = \u5339\u914d\u6b04\u61c9\u5927\u65bc 0 -jdbcrowsetimpl.matchcols2 = \u5339\u914d\u6b04\u4e0d\u80fd\u70ba\u7a7a\u5b57\u4e32\u6216\u7a7a\u767d\u5b57\u4e32 -jdbcrowsetimpl.unsetmatch = \u672a\u8a2d\u5b9a\u7684\u6b04\u548c\u8a2d\u5b9a\u7684\u6b04\u4e0d\u540c -jdbcrowsetimpl.usecolname = \u4f7f\u7528\u6b04\u540d\u505a\u70ba unsetMatchColumn \u7684\u5f15\u6578 -jdbcrowsetimpl.usecolid = \u4f7f\u7528\u6b04 ID \u505a\u70ba unsetMatchColumn \u7684\u5f15\u6578 -jdbcrowsetimpl.resnotupd = ResultSet \u4e0d\u53ef\u66f4\u65b0 -jdbcrowsetimpl.opnotysupp = \u5c1a\u4e0d\u652f\u63f4\u8a72\u4f5c\u696d -jdbcrowsetimpl.featnotsupp = \u4e0d\u652f\u63f4\u8a72\u529f\u80fd +jdbcrowsetimpl.invalstate = \u72C0\u614B\u7121\u6548 +jdbcrowsetimpl.connect = JdbcRowSet (\u9023\u7DDA) JNDI \u7121\u6CD5\u9023\u7DDA +jdbcrowsetimpl.paramtype = \u7121\u6CD5\u63A8\u65B7\u53C3\u6578\u985E\u578B +jdbcrowsetimpl.matchcols = \u5339\u914D\u6B04\u548C\u8A2D\u5B9A\u7684\u6B04\u4E0D\u540C +jdbcrowsetimpl.setmatchcols = \u8981\u5148\u8A2D\u5B9A\u5339\u914D\u6B04\uFF0C\u624D\u80FD\u53D6\u5F97\u5B83\u5011 +jdbcrowsetimpl.matchcols1 = \u5339\u914D\u6B04\u61C9\u5927\u65BC 0 +jdbcrowsetimpl.matchcols2 = \u5339\u914D\u6B04\u4E0D\u80FD\u70BA\u7A7A\u767D\u5B57\u4E32\u6216\u7A7A\u503C\u5B57\u4E32 +jdbcrowsetimpl.unsetmatch = \u53D6\u6D88\u8A2D\u5B9A\u7684\u6B04\u548C\u8A2D\u5B9A\u7684\u6B04\u4E0D\u540C +jdbcrowsetimpl.usecolname = \u4F7F\u7528\u6B04\u540D\u505A\u70BA unsetMatchColumn \u7684\u5F15\u6578 +jdbcrowsetimpl.usecolid = \u4F7F\u7528\u6B04 ID \u505A\u70BA unsetMatchColumn \u7684\u5F15\u6578 +jdbcrowsetimpl.resnotupd = ResultSet \u4E0D\u53EF\u66F4\u65B0 +jdbcrowsetimpl.opnotysupp = \u5C1A\u4E0D\u652F\u63F4\u8A72\u4F5C\u696D +jdbcrowsetimpl.featnotsupp = \u4E0D\u652F\u63F4\u8A72\u529F\u80FD #CachedRowSetReader exceptions -crsreader.connect = (JNDI) \u7121\u6cd5\u9023\u7dda -crsreader.paramtype = \u7121\u6cd5\u63a8\u65b7\u53c3\u6578\u985e\u578b -crsreader.connecterr = RowSetReader \u4e2d\u51fa\u73fe\u5167\u90e8\u932f\u8aa4\ufe30\u7121\u9023\u7dda\u6216\u6307\u4ee4 -crsreader.datedetected = \u5075\u6e2c\u5230\u65e5\u671f -crsreader.caldetected = \u5075\u6e2c\u5230\u884c\u4e8b\u66c6 +crsreader.connect = (JNDI) \u7121\u6CD5\u9023\u7DDA +crsreader.paramtype = \u7121\u6CD5\u63A8\u65B7\u53C3\u6578\u985E\u578B +crsreader.connecterr = RowSetReader \u4E2D\u51FA\u73FE\u5167\u90E8\u932F\u8AA4: \u7121\u9023\u7DDA\u6216\u547D\u4EE4 +crsreader.datedetected = \u5075\u6E2C\u5230\u65E5\u671F +crsreader.caldetected = \u5075\u6E2C\u5230\u884C\u4E8B\u66C6 #CachedRowSetWriter exceptions -crswriter.connect = \u7121\u6cd5\u5efa\u7acb\u9023\u7dda -crswriter.tname = writeData \u4e0d\u80fd\u6c7a\u5b9a\u8868\u540d\u7a31 -crswriter.params1 = params1 \u7684\u503c\uff1a{0} -crswriter.params2 = params2 \u7684\u503c\uff1a{0} -crswriter.conflictsno = \u540c\u6b65\u5316\u6642\u767c\u751f\u885d\u7a81 +crswriter.connect = \u7121\u6CD5\u53D6\u5F97\u9023\u7DDA +crswriter.tname = writeData \u4E0D\u80FD\u6C7A\u5B9A\u8868\u683C\u540D\u7A31 +crswriter.params1 = params1 \u7684\u503C: {0} +crswriter.params2 = params2 \u7684\u503C: {0} +crswriter.conflictsno = \u540C\u6B65\u5316\u6642\u767C\u751F\u885D\u7A81 #InsertRow exceptions -insertrow.novalue = \u5c1a\u672a\u63d2\u5165\u503c +insertrow.novalue = \u5C1A\u672A\u63D2\u5165\u503C #SyncResolverImpl exceptions -syncrsimpl.indexval = \u7d22\u5f15\u503c\u8d85\u51fa\u7bc4\u570d -syncrsimpl.noconflict = \u6b64\u6b04\u4e0d\u885d\u7a81 -syncrsimpl.syncnotpos = \u4e0d\u53ef\u80fd\u540c\u6b65\u5316 -syncrsimpl.valtores = \u8981\u89e3\u6790\u7684\u503c\u53ef\u4f4d\u65bc\u8cc7\u6599\u5eab\u6216 cachedrowset \u4e2d +syncrsimpl.indexval = \u7D22\u5F15\u503C\u8D85\u51FA\u7BC4\u570D +syncrsimpl.noconflict = \u6B64\u6B04\u4E0D\u885D\u7A81 +syncrsimpl.syncnotpos = \u4E0D\u53EF\u80FD\u540C\u6B65\u5316 +syncrsimpl.valtores = \u8981\u89E3\u6790\u7684\u503C\u53EF\u4F4D\u65BC\u8CC7\u6599\u5EAB\u6216 cachedrowset \u4E2D #WebRowSetXmlReader exception -wrsxmlreader.invalidcp = \u5df2\u5230\u9054 RowSet \u672b\u5c3e\u3002\u6e38\u6a19\u4f4d\u7f6e\u7121\u6548 -wrsxmlreader.readxml = readXML\uff1a{0} -wrsxmlreader.parseerr = ** \u5256\u6790\u932f\u8aa4: {0}\uff0c\u884c: {1}\uff0curi: {2} +wrsxmlreader.invalidcp = \u5DF2\u5230\u9054 RowSet \u7D50\u5C3E\u3002\u6E38\u6A19\u4F4D\u7F6E\u7121\u6548 +wrsxmlreader.readxml = readXML: {0} +wrsxmlreader.parseerr = ** \u5256\u6790\u932F\u8AA4: {0}\uFF0C\u884C: {1}\uFF0Curi: {2} #WebRowSetXmlWriter exceptions -wrsxmlwriter.ioex = IOException\uff1a{0} -wrsxmlwriter.sqlex = SQLException\uff1a{0} -wrsxmlwriter.failedwrite = \u5beb\u5165\u503c\u5931\u6557 -wsrxmlwriter.notproper = \u4e0d\u662f\u6b63\u78ba\u985e\u578b +wrsxmlwriter.ioex = IOException : {0} +wrsxmlwriter.sqlex = SQLException : {0} +wrsxmlwriter.failedwrite = \u5BEB\u5165\u503C\u5931\u6557 +wsrxmlwriter.notproper = \u4E0D\u662F\u6B63\u78BA\u985E\u578B #XmlReaderContentHandler exceptions -xmlrch.errmap = \u8a2d\u5b9a\u5c0d\u6620\u6642\u767c\u751f\u932f\u8aa4\uff1a{0} -xmlrch.errmetadata = \u8a2d\u5b9a\u5143\u8cc7\u6599\u6642\u767c\u751f\u932f\u8aa4\uff1a{0} -xmlrch.errinsertval = \u63d2\u5165\u503c\u6642\u767c\u751f\u932f\u8aa4: {0} -xmlrch.errconstr = \u5efa\u69cb\u5217\u6642\u767c\u751f\u932f\u8aa4\uff1a{0} -xmlrch.errdel = \u522a\u9664\u5217\u6642\u767c\u751f\u932f\u8aa4\uff1a{0} -xmlrch.errinsdel = \u5efa\u69cb insdel \u5217\u6642\u767c\u751f\u932f\u8aa4\uff1a{0} -xmlrch.errupdate = \u5efa\u69cb\u66f4\u65b0\u5217\u6642\u767c\u751f\u932f\u8aa4\uff1a{0} -xmlrch.errupdrow = \u66f4\u65b0\u5217\u6642\u767c\u751f\u932f\u8aa4: {0} -xmlrch.chars = \u5b57\u5143\uff1a -xmlrch.badvalue = \u932f\u8aa4\u7684\u503c\uff1b\u7279\u6027\u4e0d\u80fd\u70ba\u7a7a -xmlrch.badvalue1 = \u932f\u8aa4\u7684\u503c\uff1b\u5143\u8cc7\u6599\u4e0d\u80fd\u70ba\u7a7a -xmlrch.warning = ** \u8b66\u544a: {0}\uff0c\u884c: {1}\uff0curi: {2} +xmlrch.errmap = \u8A2D\u5B9A\u5C0D\u6620\u6642\u767C\u751F\u932F\u8AA4: {0} +xmlrch.errmetadata = \u8A2D\u5B9A\u63CF\u8FF0\u8CC7\u6599\u6642\u767C\u751F\u932F\u8AA4: {0} +xmlrch.errinsertval = \u63D2\u5165\u503C\u6642\u767C\u751F\u932F\u8AA4: {0} +xmlrch.errconstr = \u5EFA\u69CB\u5217\u6642\u767C\u751F\u932F\u8AA4: {0} +xmlrch.errdel = \u522A\u9664\u5217\u6642\u767C\u751F\u932F\u8AA4: {0} +xmlrch.errinsert = \u5EFA\u69CB\u63D2\u5165\u5217\u6642\u767C\u751F\u932F\u8AA4 : {0} +xmlrch.errinsdel = \u5EFA\u69CB insdel \u5217\u6642\u767C\u751F\u932F\u8AA4: {0} +xmlrch.errupdate = \u5EFA\u69CB\u66F4\u65B0\u5217\u6642\u767C\u751F\u932F\u8AA4: {0} +xmlrch.errupdrow = \u66F4\u65B0\u5217\u6642\u767C\u751F\u932F\u8AA4: {0} +xmlrch.chars = \u5B57\u5143: +xmlrch.badvalue = \u932F\u8AA4\u7684\u503C; \u5C6C\u6027\u4E0D\u80FD\u70BA\u7A7A\u503C +xmlrch.badvalue1 = \u932F\u8AA4\u7684\u503C; \u63CF\u8FF0\u8CC7\u6599\u4E0D\u80FD\u70BA\u7A7A\u503C +xmlrch.warning = ** \u8B66\u544A: {0}\uFF0C\u884C: {1}\uFF0Curi: {2} #RIOptimisticProvider Exceptions -riop.locking = \u4e0d\u652f\u63f4\u9396\u5b9a\u5206\u985e +riop.locking = \u4E0D\u652F\u63F4\u9396\u5B9A\u5206\u985E #RIXMLProvider exceptions -rixml.unsupp = RIXMLProvider \u4e0d\u652f\u63f4 +rixml.unsupp = RIXMLProvider \u4E0D\u652F\u63F4 diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties index bab2c4296a6..a6975e8b63e 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties @@ -50,25 +50,25 @@ FileChooser.directoryDescriptionText=Verzeichnis FileChooser.newFolderErrorText=Fehler beim Erstellen eines neuen Ordners FileChooser.newFolderErrorSeparator= : FileChooser.newFolderParentDoesntExistTitleText=Ordner kann nicht erstellt werden -FileChooser.newFolderParentDoesntExistText=Der Ordner kann nicht erstellt werden.\n\nDas System kann den angegebenen Pfad nicht finden. -FileChooser.renameErrorTitleText=Fehler beim Umbenennen der Datei oder des Ordners +FileChooser.newFolderParentDoesntExistText=Ordner kann nicht erstellt werden.\n\nSystem kann den angegebenen Pfad nicht finden. +FileChooser.renameErrorTitleText=Fehler beim Umbenennen von Datei oder Ordner FileChooser.renameErrorText={0} kann nicht umbenannt werden -FileChooser.renameErrorFileExistsText={0} kann nicht umbenannt werden: Es ist bereits eine Datei mit diesem Namen vorhanden. Geben Sie einen anderen Dateinamen an. +FileChooser.renameErrorFileExistsText={0} kann nicht umbenannt werden: Es ist bereits eine Datei mit dem angegebenen Namen vorhanden. Geben Sie einen anderen Dateinamen an. FileChooser.acceptAllFileFilterText=Alle Dateien FileChooser.cancelButtonText=Abbrechen -FileChooser.cancelButtonMnemonic=65 +FileChooser.cancelButtonMnemonic=67 FileChooser.saveButtonText=Speichern FileChooser.saveButtonMnemonic=83 -FileChooser.openButtonText=\u00d6ffnen -FileChooser.openButtonMnemonic=70 +FileChooser.openButtonText=\u00D6ffnen +FileChooser.openButtonMnemonic=79 FileChooser.saveDialogTitleText=Speichern -FileChooser.openDialogTitleText=\u00d6ffnen +FileChooser.openDialogTitleText=\u00D6ffnen FileChooser.updateButtonText=Aktualisieren -FileChooser.updateButtonMnemonic=75 +FileChooser.updateButtonMnemonic=85 FileChooser.helpButtonText=Hilfe FileChooser.helpButtonMnemonic=72 -FileChooser.directoryOpenButtonText=\u00d6ffnen -FileChooser.directoryOpenButtonMnemonic=69 +FileChooser.directoryOpenButtonText=\u00D6ffnen +FileChooser.directoryOpenButtonMnemonic=79 # File Size Units FileChooser.fileSizeKiloBytes={0} KB @@ -78,28 +78,28 @@ FileChooser.fileSizeGigaBytes={0} GB # These strings are platform dependent not look and feel dependent. FileChooser.win32.newFolder=Neuer Ordner FileChooser.win32.newFolder.subsequent=Neuer Ordner ({0}) -FileChooser.other.newFolder=Neuer Ordner -FileChooser.other.newFolder.subsequent=Neuer Ordner.{0} +FileChooser.other.newFolder=NewFolder +FileChooser.other.newFolder.subsequent=NewFolder.{0} ## file chooser tooltips ### -FileChooser.cancelButtonToolTipText=Dialogfeld f\u00fcr Dateiauswahl abbrechen -FileChooser.saveButtonToolTipText=Ausgew\u00e4hlte Datei speichern -FileChooser.openButtonToolTipText=Ausgew\u00e4hlte Datei \u00f6ffnen +FileChooser.cancelButtonToolTipText=Dialogfeld f\u00FCr Dateiauswahl schlie\u00DFen +FileChooser.saveButtonToolTipText=Ausgew\u00E4hlte Datei speichern +FileChooser.openButtonToolTipText=Ausgew\u00E4hlte Datei \u00F6ffnen FileChooser.updateButtonToolTipText=Verzeichnisliste aktualisieren -FileChooser.helpButtonToolTipText=Hilfe f\u00fcr Dateiauswahl -FileChooser.directoryOpenButtonToolTipText=Markiertes Verzeichnis \u00f6ffnen +FileChooser.helpButtonToolTipText=FileChooser-Hilfe +FileChooser.directoryOpenButtonToolTipText=Ausgew\u00E4hltes Verzeichnis \u00F6ffnen ############ COLOR CHOOSER STRINGS ############# ColorChooser.previewText=Vorschau ColorChooser.okText=OK ColorChooser.cancelText=Abbrechen -ColorChooser.resetText=Zur\u00fccksetzen +ColorChooser.resetText=Zur\u00FCcksetzen # VK_XXX constant for 'ColorChooser.resetText' button to make mnemonic -ColorChooser.resetMnemonic=90 +ColorChooser.resetMnemonic=82 ColorChooser.sampleText=Beispieltext Beispieltext ColorChooser.swatchesNameText=Muster -ColorChooser.swatchesMnemonic=77 +ColorChooser.swatchesMnemonic=83 ColorChooser.swatchesRecentText=Aktuell: # Each of the ColorChooser types can define a mnemonic, as a KeyEvent.VK_XXX # constant, and an index into the text to render the mnemonic as. The @@ -108,20 +108,20 @@ ColorChooser.swatchesRecentText=Aktuell: ColorChooser.hsvNameText=HSV ColorChooser.hsvMnemonic=72 ColorChooser.hsvHueText=Farbton -ColorChooser.hsvSaturationText=S\u00e4ttigung +ColorChooser.hsvSaturationText=S\u00E4ttigung ColorChooser.hsvValueText=Wert ColorChooser.hsvTransparencyText=Transparenz ColorChooser.hslNameText=HSL ColorChooser.hslMnemonic=76 ColorChooser.hslHueText=Farbton -ColorChooser.hslSaturationText=S\u00e4ttigung +ColorChooser.hslSaturationText=S\u00E4ttigung ColorChooser.hslLightnessText=Helligkeit ColorChooser.hslTransparencyText=Transparenz ColorChooser.rgbNameText=RGB ColorChooser.rgbMnemonic=71 ColorChooser.rgbRedText=Rot -ColorChooser.rgbRedMnemonic=82 -ColorChooser.rgbGreenText=Gr\u00fcn +ColorChooser.rgbRedMnemonic=68 +ColorChooser.rgbGreenText=Gr\u00FCn ColorChooser.rgbGreenMnemonic=78 ColorChooser.rgbBlueText=Blau ColorChooser.rgbBlueMnemonic=66 @@ -130,7 +130,7 @@ ColorChooser.rgbHexCodeText=Farbcode ColorChooser.rgbHexCodeMnemonic=67 ColorChooser.cmykNameText=CMYK ColorChooser.cmykMnemonic=77 -ColorChooser.cmykCyanText=Cyan +ColorChooser.cmykCyanText=Zyan ColorChooser.cmykMagentaText=Magenta ColorChooser.cmykYellowText=Gelb ColorChooser.cmykBlackText=Schwarz @@ -141,26 +141,26 @@ ColorChooser.cmykAlphaText=Alpha # We only define mnemonics for YES/NO, but for completeness you can # define mnemonics for any of the buttons. OptionPane.yesButtonText=Ja -OptionPane.yesButtonMnemonic=74 +OptionPane.yesButtonMnemonic=89 OptionPane.noButtonText=Nein OptionPane.noButtonMnemonic=78 OptionPane.okButtonText=OK -OptionPane.okButtonMnemonic=79 +OptionPane.okButtonMnemonic=0 OptionPane.cancelButtonText=Abbrechen -OptionPane.cancelButtonMnemonic=65 -OptionPane.titleText=W\u00e4hlen Sie eine Option aus +OptionPane.cancelButtonMnemonic=0 +OptionPane.titleText=Option ausw\u00E4hlen # Title for the dialog for the showInputDialog methods. Only used if # the developer uses one of the variants that doesn't take a title. OptionPane.inputDialogTitle=Eingabe # Title for the dialog for the showMessageDialog methods. Only used if # the developer uses one of the variants that doesn't take a title. -OptionPane.messageDialogTitle=Nachricht +OptionPane.messageDialogTitle=Meldung ############ Printing Dialog Strings ############ PrintingDialog.titleProgressText=Drucken PrintingDialog.titleAbortingText=Drucken (Abbruch) -PrintingDialog.contentInitialText=Druckvorgang l\u00e4uft... +PrintingDialog.contentInitialText=Druckvorgang l\u00E4uft... # The following string will be formatted by a MessageFormat # and {0} will be replaced by page number being printed @@ -169,57 +169,57 @@ PrintingDialog.contentProgressText=Seite {0} wurde gedruckt... PrintingDialog.contentAbortingText=Druckvorgang wird abgebrochen... PrintingDialog.abortButtonText=Abbrechen -PrintingDialog.abortButtonMnemonic=66 -PrintingDialog.abortButtonDisplayedMnemonicIndex=1 +PrintingDialog.abortButtonMnemonic=65 +PrintingDialog.abortButtonDisplayedMnemonicIndex=0 PrintingDialog.abortButtonToolTipText=Druckvorgang abbrechen ############ Internal Frame Strings ############ InternalFrame.iconButtonToolTip=Minimieren InternalFrame.maxButtonToolTip=Maximieren InternalFrame.restoreButtonToolTip=Wiederherstellen -InternalFrame.closeButtonToolTip=Schlie\u00dfen +InternalFrame.closeButtonToolTip=Schlie\u00DFen ############ Internal Frame Title Pane Strings ############ InternalFrameTitlePane.restoreButtonText=Wiederherstellen InternalFrameTitlePane.moveButtonText=Verschieben -InternalFrameTitlePane.sizeButtonText=Gr\u00f6\u00dfe +InternalFrameTitlePane.sizeButtonText=Gr\u00F6\u00DFe InternalFrameTitlePane.minimizeButtonText=Minimieren InternalFrameTitlePane.maximizeButtonText=Maximieren -InternalFrameTitlePane.closeButtonText=Schlie\u00dfen +InternalFrameTitlePane.closeButtonText=Schlie\u00DFen ############ Text strings ############# # Used for html forms -FormView.submitButtonText=Abfrage senden -FormView.resetButtonText=Zur\u00fccksetzen +FormView.submitButtonText=Abfrage weiterleiten +FormView.resetButtonText=Zur\u00FCcksetzen FormView.browseFileButtonText=Durchsuchen... ############ Abstract Document Strings ############ -AbstractDocument.styleChangeText=Formatvorlagen\u00e4nderung -AbstractDocument.additionText=Hinzuf\u00fcgen -AbstractDocument.deletionText=L\u00f6schen -AbstractDocument.undoText=R\u00fcckg\u00e4ngig +AbstractDocument.styleChangeText=Formatvorlagen\u00E4nderung +AbstractDocument.additionText=Hinzuf\u00FCgen +AbstractDocument.deletionText=L\u00F6schen +AbstractDocument.undoText=R\u00FCckg\u00E4ngig AbstractDocument.redoText=Wiederherstellen ############ Abstract Button Strings ############ AbstractButton.clickText=Klicken ############ Abstract Undoable Edit Strings ############ -AbstractUndoableEdit.undoText=R\u00fcckg\u00e4ngig +AbstractUndoableEdit.undoText=R\u00FCckg\u00E4ngig AbstractUndoableEdit.redoText=Wiederherstellen ############ Combo Box Strings ############ -ComboBox.togglePopupText=Popup umschalten +ComboBox.togglePopupText=togglePopup ############ Progress Monitor Strings ############ ProgressMonitor.progressText=Fortschritt... ############ Split Pane Strings ############ -SplitPane.leftButtonText=linke Taste -SplitPane.rightButtonText=rechte Taste +SplitPane.leftButtonText=linke Schaltfl\u00E4che +SplitPane.rightButtonText=rechte Schaltfl\u00E4che # Used for Isindex -IsindexView.prompt=Dieser Index kann durchsucht werden. Geben Sie ein Schlagwort ein: +IsindexView.prompt=Dieser Index kann durchsucht werden. Geben Sie Schl\u00FCsselw\u00F6rter f\u00FCr die Suche ein: ############ InternalFrameTitlePane Strings ############ InternalFrameTitlePane.iconifyButtonAccessibleName=Als Symbol darstellen InternalFrameTitlePane.maximizeButtonAccessibleName=Maximieren -InternalFrameTitlePane.closeButtonAccessibleName=Schlie\u00dfen +InternalFrameTitlePane.closeButtonAccessibleName=Schlie\u00DFen diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties index abc99fadb07..1b96eab4096 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties @@ -45,30 +45,30 @@ # @author Steve Wilson ############ FILE CHOOSER STRINGS ############# -FileChooser.fileDescriptionText=Archivo gen\u00e9rico +FileChooser.fileDescriptionText=Archivo Gen\u00E9rico FileChooser.directoryDescriptionText=Directorio FileChooser.newFolderErrorText=Error al crear una nueva carpeta FileChooser.newFolderErrorSeparator= : FileChooser.newFolderParentDoesntExistTitleText=No se ha podido crear la carpeta -FileChooser.newFolderParentDoesntExistText=No se ha podido crear la carpeta.\n\nEl sistema no puede encontrar la ruta especificada. -FileChooser.renameErrorTitleText=Error al cambiar de nombre el archivo o la carpeta -FileChooser.renameErrorText=No se puede cambiar de nombre {0} -FileChooser.renameErrorFileExistsText=No se puede cambiar de nombre {0}: Ya existe un archivo con el nombre que ha especificado. Especifique otro nombre de archivo. -FileChooser.acceptAllFileFilterText=Todos los archivos +FileChooser.newFolderParentDoesntExistText=No se ha podido crear la carpeta.\n\nEl sistema no puede encontrar la ruta de acceso especificada. +FileChooser.renameErrorTitleText=Error al cambiar el nombre del archivo o carpeta +FileChooser.renameErrorText=No se puede cambiar el nombre de {0} +FileChooser.renameErrorFileExistsText=No se puede cambiar el nombre de {0}: ya existe un archivo con el nombre especificado. Especifique otro nombre de archivo. +FileChooser.acceptAllFileFilterText=Todos los Archivos FileChooser.cancelButtonText=Cancelar FileChooser.cancelButtonMnemonic=67 FileChooser.saveButtonText=Guardar -FileChooser.saveButtonMnemonic=71 +FileChooser.saveButtonMnemonic=83 FileChooser.openButtonText=Abrir -FileChooser.openButtonMnemonic=65 +FileChooser.openButtonMnemonic=79 FileChooser.saveDialogTitleText=Guardar FileChooser.openDialogTitleText=Abrir FileChooser.updateButtonText=Actualizar -FileChooser.updateButtonMnemonic=84 +FileChooser.updateButtonMnemonic=85 FileChooser.helpButtonText=Ayuda -FileChooser.helpButtonMnemonic=89 +FileChooser.helpButtonMnemonic=72 FileChooser.directoryOpenButtonText=Abrir -FileChooser.directoryOpenButtonMnemonic=82 +FileChooser.directoryOpenButtonMnemonic=79 # File Size Units FileChooser.fileSizeKiloBytes={0} KB @@ -76,30 +76,30 @@ FileChooser.fileSizeMegaBytes={0} MB FileChooser.fileSizeGigaBytes={0} GB # These strings are platform dependent not look and feel dependent. -FileChooser.win32.newFolder=Carpeta nueva -FileChooser.win32.newFolder.subsequent=Carpeta nueva ({0}) -FileChooser.other.newFolder=Carpeta nueva -FileChooser.other.newFolder.subsequent=Carpeta nueva.{0} +FileChooser.win32.newFolder=Nueva Carpeta +FileChooser.win32.newFolder.subsequent=Nueva Carpeta ({0}) +FileChooser.other.newFolder=Nueva Carpeta +FileChooser.other.newFolder.subsequent=Nueva Carpeta.{0} ## file chooser tooltips ### -FileChooser.cancelButtonToolTipText=Cuadro de di\u00e1logo para cancelar elector de archivo +FileChooser.cancelButtonToolTipText=Cuadro de di\u00E1logo para abortar el selector de archivos FileChooser.saveButtonToolTipText=Guardar archivo seleccionado FileChooser.openButtonToolTipText=Abrir archivo seleccionado FileChooser.updateButtonToolTipText=Actualizar lista de directorios -FileChooser.helpButtonToolTipText=Ayuda elector de archivos +FileChooser.helpButtonToolTipText=Ayuda del Selector de Archivos FileChooser.directoryOpenButtonToolTipText=Abrir directorio seleccionado ############ COLOR CHOOSER STRINGS ############# -ColorChooser.previewText=Vista previa +ColorChooser.previewText=Presentaci\u00F3n Preliminar ColorChooser.okText=Aceptar ColorChooser.cancelText=Cancelar ColorChooser.resetText=Restablecer # VK_XXX constant for 'ColorChooser.resetText' button to make mnemonic ColorChooser.resetMnemonic=82 -ColorChooser.sampleText=Texto de ejemplo Texto de ejemplo +ColorChooser.sampleText=Texto de Ejemplo Texto de Ejemplo ColorChooser.swatchesNameText=Muestras -ColorChooser.swatchesMnemonic=77 +ColorChooser.swatchesMnemonic=83 ColorChooser.swatchesRecentText=Reciente: # Each of the ColorChooser types can define a mnemonic, as a KeyEvent.VK_XXX # constant, and an index into the text to render the mnemonic as. The @@ -107,26 +107,26 @@ ColorChooser.swatchesRecentText=Reciente: # xxxDisplayedMnemonicIndex. ColorChooser.hsvNameText=HSV ColorChooser.hsvMnemonic=72 -ColorChooser.hsvHueText=Matriz -ColorChooser.hsvSaturationText=Saturaci\u00f3n +ColorChooser.hsvHueText=Matiz +ColorChooser.hsvSaturationText=Saturaci\u00F3n ColorChooser.hsvValueText=Valor ColorChooser.hsvTransparencyText=Transparencia ColorChooser.hslNameText=HSL ColorChooser.hslMnemonic=76 -ColorChooser.hslHueText=Matriz -ColorChooser.hslSaturationText=Saturaci\u00f3n -ColorChooser.hslLightnessText=Brillo +ColorChooser.hslHueText=Matiz +ColorChooser.hslSaturationText=Saturaci\u00F3n +ColorChooser.hslLightnessText=Iluminaci\u00F3n ColorChooser.hslTransparencyText=Transparencia ColorChooser.rgbNameText=RGB ColorChooser.rgbMnemonic=71 ColorChooser.rgbRedText=Rojo -ColorChooser.rgbRedMnemonic=74 +ColorChooser.rgbRedMnemonic=68 ColorChooser.rgbGreenText=Verde -ColorChooser.rgbGreenMnemonic=86 +ColorChooser.rgbGreenMnemonic=78 ColorChooser.rgbBlueText=Azul -ColorChooser.rgbBlueMnemonic=76 -ColorChooser.rgbAlphaText=Alpha -ColorChooser.rgbHexCodeText=C\u00f3digo de color +ColorChooser.rgbBlueMnemonic=66 +ColorChooser.rgbAlphaText=Alfa +ColorChooser.rgbHexCodeText=C\u00F3digo de Color ColorChooser.rgbHexCodeMnemonic=67 ColorChooser.cmykNameText=CMYK ColorChooser.cmykMnemonic=77 @@ -134,21 +134,21 @@ ColorChooser.cmykCyanText=Cian ColorChooser.cmykMagentaText=Magenta ColorChooser.cmykYellowText=Amarillo ColorChooser.cmykBlackText=Negro -ColorChooser.cmykAlphaText=Alpha +ColorChooser.cmykAlphaText=Alfa ############ OPTION PANE STRINGS ############# # Mnemonic keys correspond to KeyEvent.VK_XXX constant # We only define mnemonics for YES/NO, but for completeness you can # define mnemonics for any of the buttons. -OptionPane.yesButtonText=S\u00ed -OptionPane.yesButtonMnemonic=83 +OptionPane.yesButtonText=S\u00ED +OptionPane.yesButtonMnemonic=89 OptionPane.noButtonText=No OptionPane.noButtonMnemonic=78 OptionPane.okButtonText=Aceptar OptionPane.okButtonMnemonic=0 OptionPane.cancelButtonText=Cancelar OptionPane.cancelButtonMnemonic=0 -OptionPane.titleText=Seleccionar una opci\u00f3n +OptionPane.titleText=Seleccionar una Opci\u00F3n # Title for the dialog for the showInputDialog methods. Only used if # the developer uses one of the variants that doesn't take a title. OptionPane.inputDialogTitle=Entrada @@ -157,21 +157,21 @@ OptionPane.inputDialogTitle=Entrada OptionPane.messageDialogTitle=Mensaje ############ Printing Dialog Strings ############ -PrintingDialog.titleProgressText=Impresi\u00f3n -PrintingDialog.titleAbortingText=Impresi\u00f3n (cancelaci\u00f3n) +PrintingDialog.titleProgressText=Impresi\u00F3n +PrintingDialog.titleAbortingText=Impresi\u00F3n (Abortando) -PrintingDialog.contentInitialText=Impresi\u00f3n en curso... +PrintingDialog.contentInitialText=Impresi\u00F3n en curso... # The following string will be formatted by a MessageFormat # and {0} will be replaced by page number being printed -PrintingDialog.contentProgressText=P\u00e1gina impresa {0}... +PrintingDialog.contentProgressText=P\u00E1gina impresa {0}... -PrintingDialog.contentAbortingText=Cancelando la impresi\u00f3n... +PrintingDialog.contentAbortingText=Abortando la impresi\u00F3n... -PrintingDialog.abortButtonText=Cancelar -PrintingDialog.abortButtonMnemonic=67 +PrintingDialog.abortButtonText=Abortar +PrintingDialog.abortButtonMnemonic=65 PrintingDialog.abortButtonDisplayedMnemonicIndex=0 -PrintingDialog.abortButtonToolTipText=Cancelar la impresi\u00f3n +PrintingDialog.abortButtonToolTipText=Abortar Impresi\u00F3n ############ Internal Frame Strings ############ InternalFrame.iconButtonToolTip=Minimizar @@ -182,21 +182,21 @@ InternalFrame.closeButtonToolTip=Cerrar ############ Internal Frame Title Pane Strings ############ InternalFrameTitlePane.restoreButtonText=Restaurar InternalFrameTitlePane.moveButtonText=Mover -InternalFrameTitlePane.sizeButtonText=Tama\u00f1o +InternalFrameTitlePane.sizeButtonText=Tama\u00F1o InternalFrameTitlePane.minimizeButtonText=Minimizar InternalFrameTitlePane.maximizeButtonText=Maximizar InternalFrameTitlePane.closeButtonText=Cerrar ############ Text strings ############# # Used for html forms -FormView.submitButtonText=Enviar consulta +FormView.submitButtonText=Enviar Consulta FormView.resetButtonText=Restablecer FormView.browseFileButtonText=Examinar... ############ Abstract Document Strings ############ AbstractDocument.styleChangeText=cambio de estilo -AbstractDocument.additionText=adici\u00f3n -AbstractDocument.deletionText=supresi\u00f3n +AbstractDocument.additionText=agregaci\u00F3n +AbstractDocument.deletionText=supresi\u00F3n AbstractDocument.undoText=Deshacer AbstractDocument.redoText=Rehacer @@ -214,12 +214,12 @@ ComboBox.togglePopupText=togglePopup ProgressMonitor.progressText=Progreso... ############ Split Pane Strings ############ -SplitPane.leftButtonText=bot\u00f3n izquierdo -SplitPane.rightButtonText=bot\u00f3n derecho +SplitPane.leftButtonText=bot\u00F3n izquierdo +SplitPane.rightButtonText=bot\u00F3n derecho # Used for Isindex -IsindexView.prompt=En este \u00edndice se pueden efectuar b\u00fasquedas. Escriba las palabras clave de b\u00fasqueda: +IsindexView.prompt=En este \u00EDndice se pueden efectuar b\u00FAsquedas. Escriba las palabras clave de b\u00FAsqueda: ############ InternalFrameTitlePane Strings ############ -InternalFrameTitlePane.iconifyButtonAccessibleName=Convertir en icono +InternalFrameTitlePane.iconifyButtonAccessibleName=Convertir en Icono InternalFrameTitlePane.maximizeButtonAccessibleName=Maximizar InternalFrameTitlePane.closeButtonAccessibleName=Cerrar diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties index e2085390876..3f8dc5b7bf0 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties @@ -45,90 +45,90 @@ # @author Steve Wilson ############ FILE CHOOSER STRINGS ############# -FileChooser.fileDescriptionText=Fichier g\u00e9n\u00e9rique -FileChooser.directoryDescriptionText=R\u00e9pertoire -FileChooser.newFolderErrorText=Erreur lors de la cr\u00e9ation du nouveau dossier +FileChooser.fileDescriptionText=Fichier g\u00E9n\u00E9rique +FileChooser.directoryDescriptionText=R\u00E9pertoire +FileChooser.newFolderErrorText=Erreur lors de la cr\u00E9ation du dossier FileChooser.newFolderErrorSeparator= : -FileChooser.newFolderParentDoesntExistTitleText=Impossible de cr\u00e9er le dossier -FileChooser.newFolderParentDoesntExistText=Impossible de cr\u00e9er le dossier.\n\nLe syst\u00e8me ne trouve pas le chemin sp\u00e9cifi\u00e9. -FileChooser.renameErrorTitleText=Erreur lors de la modification du nom du fichier ou du dossier +FileChooser.newFolderParentDoesntExistTitleText=Impossible de cr\u00E9er le dossier +FileChooser.newFolderParentDoesntExistText=Impossible de cr\u00E9er le dossier.\n\nLe syst\u00E8me ne parvient pas \u00E0 trouver le chemin indiqu\u00E9. +FileChooser.renameErrorTitleText=Erreur lors du changement de nom du fichier ou du dossier FileChooser.renameErrorText=Impossible de renommer {0} -FileChooser.renameErrorFileExistsText=Impossible de renommer {0}\u00a0: un fichier portant ce nom existe d\u00e9j\u00e0. Choisissez un nom diff\u00e9rent. +FileChooser.renameErrorFileExistsText=Impossible de renommer {0} : il existe d\u00E9j\u00E0 un fichier portant le nom indiqu\u00E9. Indiquez-en un autre. FileChooser.acceptAllFileFilterText=Tous les fichiers FileChooser.cancelButtonText=Annuler -FileChooser.cancelButtonMnemonic=65 +FileChooser.cancelButtonMnemonic=67 FileChooser.saveButtonText=Enregistrer -FileChooser.saveButtonMnemonic=69 +FileChooser.saveButtonMnemonic=83 FileChooser.openButtonText=Ouvrir FileChooser.openButtonMnemonic=79 FileChooser.saveDialogTitleText=Enregistrer FileChooser.openDialogTitleText=Ouvrir -FileChooser.updateButtonText=Mise \u00e0 jour -FileChooser.updateButtonMnemonic=77 +FileChooser.updateButtonText=Mettre \u00E0 jour +FileChooser.updateButtonMnemonic=85 FileChooser.helpButtonText=Aide -FileChooser.helpButtonMnemonic=68 +FileChooser.helpButtonMnemonic=72 FileChooser.directoryOpenButtonText=Ouvrir FileChooser.directoryOpenButtonMnemonic=79 # File Size Units -FileChooser.fileSizeKiloBytes={0} Ko -FileChooser.fileSizeMegaBytes={0} Mo -FileChooser.fileSizeGigaBytes={0} Go +FileChooser.fileSizeKiloBytes={0} KB +FileChooser.fileSizeMegaBytes={0} MB +FileChooser.fileSizeGigaBytes={0} GB # These strings are platform dependent not look and feel dependent. FileChooser.win32.newFolder=Nouveau dossier FileChooser.win32.newFolder.subsequent=Nouveau dossier ({0}) -FileChooser.other.newFolder=Nouveau dossier -FileChooser.other.newFolder.subsequent=Nouveau dossier.{0} +FileChooser.other.newFolder=NewFolder +FileChooser.other.newFolder.subsequent=NewFolder.{0} ## file chooser tooltips ### -FileChooser.cancelButtonToolTipText=Ferme la bo\u00eete de dialogue du s\u00e9lecteur de fichiers -FileChooser.saveButtonToolTipText=Enregistre le fichier s\u00e9lectionn\u00e9 -FileChooser.openButtonToolTipText=Ouvre le fichier s\u00e9lectionn\u00e9 -FileChooser.updateButtonToolTipText=Met \u00e0 jour la liste des r\u00e9pertoires -FileChooser.helpButtonToolTipText=Aide sur le s\u00e9lecteur de fichiers -FileChooser.directoryOpenButtonToolTipText=Ouvrir le r\u00e9pertoire s\u00e9lectionn\u00e9 +FileChooser.cancelButtonToolTipText=Ferme la bo\u00EEte de dialogue du s\u00E9lecteur de fichiers +FileChooser.saveButtonToolTipText=Enregistre le fichier s\u00E9lectionn\u00E9 +FileChooser.openButtonToolTipText=Ouvre le fichier s\u00E9lectionn\u00E9 +FileChooser.updateButtonToolTipText=Met \u00E0 jour la liste des r\u00E9pertoires +FileChooser.helpButtonToolTipText=Aide du s\u00E9lecteur de fichiers +FileChooser.directoryOpenButtonToolTipText=Ouvre le r\u00E9pertoire s\u00E9lectionn\u00E9 ############ COLOR CHOOSER STRINGS ############# -ColorChooser.previewText=Aper\u00e7u +ColorChooser.previewText=Aper\u00E7u ColorChooser.okText=OK ColorChooser.cancelText=Annuler -ColorChooser.resetText=Restaurer +ColorChooser.resetText=R\u00E9initialiser # VK_XXX constant for 'ColorChooser.resetText' button to make mnemonic ColorChooser.resetMnemonic=82 ColorChooser.sampleText=Echantillon de texte Echantillon de texte ColorChooser.swatchesNameText=Echantillons -ColorChooser.swatchesMnemonic=69 +ColorChooser.swatchesMnemonic=83 ColorChooser.swatchesRecentText=Dernier : # Each of the ColorChooser types can define a mnemonic, as a KeyEvent.VK_XXX # constant, and an index into the text to render the mnemonic as. The # mnemonic is xxxMnemonic and the index of the character to underline is # xxxDisplayedMnemonicIndex. -ColorChooser.hsvNameText=HSV +ColorChooser.hsvNameText=TSV ColorChooser.hsvMnemonic=72 ColorChooser.hsvHueText=Teinte ColorChooser.hsvSaturationText=Saturation ColorChooser.hsvValueText=Valeur ColorChooser.hsvTransparencyText=Transparence -ColorChooser.hslNameText=HSL +ColorChooser.hslNameText=TSL ColorChooser.hslMnemonic=76 ColorChooser.hslHueText=Teinte ColorChooser.hslSaturationText=Saturation -ColorChooser.hslLightnessText=Clart\u00e9 +ColorChooser.hslLightnessText=Lumi\u00E8re ColorChooser.hslTransparencyText=Transparence ColorChooser.rgbNameText=RVB -ColorChooser.rgbMnemonic=86 +ColorChooser.rgbMnemonic=71 ColorChooser.rgbRedText=Rouge -ColorChooser.rgbRedMnemonic=71 +ColorChooser.rgbRedMnemonic=68 ColorChooser.rgbGreenText=Vert -ColorChooser.rgbGreenMnemonic=84 +ColorChooser.rgbGreenMnemonic=78 ColorChooser.rgbBlueText=Bleu ColorChooser.rgbBlueMnemonic=66 ColorChooser.rgbAlphaText=Alpha ColorChooser.rgbHexCodeText=Code couleur ColorChooser.rgbHexCodeMnemonic=67 -ColorChooser.cmykNameText=CMYK +ColorChooser.cmykNameText=CMJN ColorChooser.cmykMnemonic=77 ColorChooser.cmykCyanText=Cyan ColorChooser.cmykMagentaText=Magenta @@ -141,30 +141,30 @@ ColorChooser.cmykAlphaText=Alpha # We only define mnemonics for YES/NO, but for completeness you can # define mnemonics for any of the buttons. OptionPane.yesButtonText=Oui -OptionPane.yesButtonMnemonic=79 +OptionPane.yesButtonMnemonic=89 OptionPane.noButtonText=Non OptionPane.noButtonMnemonic=78 OptionPane.okButtonText=OK OptionPane.okButtonMnemonic=0 OptionPane.cancelButtonText=Annuler OptionPane.cancelButtonMnemonic=0 -OptionPane.titleText=S\u00e9lectionnez une option +OptionPane.titleText=S\u00E9lectionner une option # Title for the dialog for the showInputDialog methods. Only used if # the developer uses one of the variants that doesn't take a title. -OptionPane.inputDialogTitle=Entr\u00e9e +OptionPane.inputDialogTitle=Entr\u00E9e # Title for the dialog for the showMessageDialog methods. Only used if # the developer uses one of the variants that doesn't take a title. OptionPane.messageDialogTitle=Message ############ Printing Dialog Strings ############ PrintingDialog.titleProgressText=Impression -PrintingDialog.titleAbortingText=Impression (Abandon) +PrintingDialog.titleAbortingText=Impression (abandon) PrintingDialog.contentInitialText=Impression en cours... # The following string will be formatted by a MessageFormat # and {0} will be replaced by page number being printed -PrintingDialog.contentProgressText=Page imprim\u00e9e {0}... +PrintingDialog.contentProgressText=Page {0} imprim\u00E9e... PrintingDialog.contentAbortingText=Abandon de l'impression... @@ -174,38 +174,38 @@ PrintingDialog.abortButtonDisplayedMnemonicIndex=0 PrintingDialog.abortButtonToolTipText=Abandonner l'impression ############ Internal Frame Strings ############ -InternalFrame.iconButtonToolTip=R\u00e9duire +InternalFrame.iconButtonToolTip=R\u00E9duire InternalFrame.maxButtonToolTip=Agrandir InternalFrame.restoreButtonToolTip=Restaurer InternalFrame.closeButtonToolTip=Fermer ############ Internal Frame Title Pane Strings ############ InternalFrameTitlePane.restoreButtonText=Restaurer -InternalFrameTitlePane.moveButtonText=D\u00e9placer +InternalFrameTitlePane.moveButtonText=D\u00E9placer InternalFrameTitlePane.sizeButtonText=Taille -InternalFrameTitlePane.minimizeButtonText=R\u00e9duire +InternalFrameTitlePane.minimizeButtonText=R\u00E9duire InternalFrameTitlePane.maximizeButtonText=Agrandir InternalFrameTitlePane.closeButtonText=Fermer ############ Text strings ############# # Used for html forms -FormView.submitButtonText=Soumettre la requ\u00eate -FormView.resetButtonText=Restaurer +FormView.submitButtonText=Soumettre la requ\u00EAte +FormView.resetButtonText=R\u00E9initialiser FormView.browseFileButtonText=Parcourir... ############ Abstract Document Strings ############ AbstractDocument.styleChangeText=modification de style AbstractDocument.additionText=ajout AbstractDocument.deletionText=suppression -AbstractDocument.undoText=D\u00e9faire -AbstractDocument.redoText=Refaire +AbstractDocument.undoText=Annuler +AbstractDocument.redoText=R\u00E9tablir ############ Abstract Button Strings ############ -AbstractButton.clickText=cliquez sur +AbstractButton.clickText=cliquer ############ Abstract Undoable Edit Strings ############ -AbstractUndoableEdit.undoText=D\u00e9faire -AbstractUndoableEdit.redoText=Refaire +AbstractUndoableEdit.undoText=Annuler +AbstractUndoableEdit.redoText=R\u00E9tablir ############ Combo Box Strings ############ ComboBox.togglePopupText=togglePopup @@ -217,9 +217,9 @@ ProgressMonitor.progressText=Progression... SplitPane.leftButtonText=bouton gauche SplitPane.rightButtonText=bouton droit # Used for Isindex -IsindexView.prompt=Ceci est un index de recherche. Tapez des mots-cl\u00e9s pour la recherche : +IsindexView.prompt=Ceci est un index de recherche. Tapez des mots-cl\u00E9s pour la recherche : ############ InternalFrameTitlePane Strings ############ -InternalFrameTitlePane.iconifyButtonAccessibleName=R\u00e9duire +InternalFrameTitlePane.iconifyButtonAccessibleName=R\u00E9duire InternalFrameTitlePane.maximizeButtonAccessibleName=Agrandir InternalFrameTitlePane.closeButtonAccessibleName=Fermer diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties index 92b4e643974..da914cbcffe 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties @@ -50,25 +50,25 @@ FileChooser.directoryDescriptionText=Directory FileChooser.newFolderErrorText=Errore durante la creazione della nuova cartella FileChooser.newFolderErrorSeparator= : FileChooser.newFolderParentDoesntExistTitleText=Impossibile creare la cartella -FileChooser.newFolderParentDoesntExistText=Impossibile creare la cartella.\n\nPercorso specificato non trovato nel sistema. -FileChooser.renameErrorTitleText=Errore di ridenominazione del file o della cartella +FileChooser.newFolderParentDoesntExistText=Impossibile creare la cartella.\n\nIl sistema non \u00E8 in grado di trovare il percorso specificato. +FileChooser.renameErrorTitleText=Errore durante la ridenominazione del file o della cartella FileChooser.renameErrorText=Impossibile rinominare {0} -FileChooser.renameErrorFileExistsText=Impossibile rinominare {0}: esiste gi\u00e0 un file con il nome specificato. Specificare un nome file alternativo. +FileChooser.renameErrorFileExistsText=Impossibile rinominare {0}: esiste gi\u00E0 un file con il nome specificato. Specificare un altro nome. FileChooser.acceptAllFileFilterText=Tutti i file FileChooser.cancelButtonText=Annulla -FileChooser.cancelButtonMnemonic=65 +FileChooser.cancelButtonMnemonic=67 FileChooser.saveButtonText=Salva FileChooser.saveButtonMnemonic=83 FileChooser.openButtonText=Apri -FileChooser.openButtonMnemonic=80 +FileChooser.openButtonMnemonic=79 FileChooser.saveDialogTitleText=Salva FileChooser.openDialogTitleText=Apri FileChooser.updateButtonText=Aggiorna -FileChooser.updateButtonMnemonic=71 +FileChooser.updateButtonMnemonic=85 FileChooser.helpButtonText=? -FileChooser.helpButtonMnemonic=63 +FileChooser.helpButtonMnemonic=72 FileChooser.directoryOpenButtonText=Apri -FileChooser.directoryOpenButtonMnemonic=82 +FileChooser.directoryOpenButtonMnemonic=79 # File Size Units FileChooser.fileSizeKiloBytes={0} KB @@ -78,28 +78,28 @@ FileChooser.fileSizeGigaBytes={0} GB # These strings are platform dependent not look and feel dependent. FileChooser.win32.newFolder=Nuova cartella FileChooser.win32.newFolder.subsequent=Nuova cartella ({0}) -FileChooser.other.newFolder=Nuova cartella -FileChooser.other.newFolder.subsequent=Nuova cartella.{0} +FileChooser.other.newFolder=NewFolder +FileChooser.other.newFolder.subsequent=NewFolder.{0} ## file chooser tooltips ### -FileChooser.cancelButtonToolTipText=Finestra di dialogo Interrompi selezione file -FileChooser.saveButtonToolTipText=Salva file selezionato -FileChooser.openButtonToolTipText=Apri file selezionato -FileChooser.updateButtonToolTipText=Aggiorna elenco directory -FileChooser.helpButtonToolTipText=Guida di Selezione file -FileChooser.directoryOpenButtonToolTipText=Apri directory selezionata +FileChooser.cancelButtonToolTipText=Chiude la finestra di dialogo di selezione file +FileChooser.saveButtonToolTipText=Salva il file selezionato +FileChooser.openButtonToolTipText=Apre il file selezionato +FileChooser.updateButtonToolTipText=Aggiorna la lista directory +FileChooser.helpButtonToolTipText=Guida FileChooser +FileChooser.directoryOpenButtonToolTipText=Apre la directory selezionata ############ COLOR CHOOSER STRINGS ############# ColorChooser.previewText=Anteprima ColorChooser.okText=OK ColorChooser.cancelText=Annulla -ColorChooser.resetText=Ripristina +ColorChooser.resetText=Reimposta # VK_XXX constant for 'ColorChooser.resetText' button to make mnemonic ColorChooser.resetMnemonic=82 ColorChooser.sampleText=Testo di prova Testo di prova ColorChooser.swatchesNameText=Colori campione -ColorChooser.swatchesMnemonic=67 +ColorChooser.swatchesMnemonic=83 ColorChooser.swatchesRecentText=Recenti: # Each of the ColorChooser types can define a mnemonic, as a KeyEvent.VK_XXX # constant, and an index into the text to render the mnemonic as. The @@ -107,26 +107,26 @@ ColorChooser.swatchesRecentText=Recenti: # xxxDisplayedMnemonicIndex. ColorChooser.hsvNameText=HSV ColorChooser.hsvMnemonic=72 -ColorChooser.hsvHueText=Tonalit\u00e0 +ColorChooser.hsvHueText=Tonalit\u00E0 ColorChooser.hsvSaturationText=Saturazione ColorChooser.hsvValueText=Valore ColorChooser.hsvTransparencyText=Trasparenza ColorChooser.hslNameText=HSL ColorChooser.hslMnemonic=76 -ColorChooser.hslHueText=Tonalit\u00e0 +ColorChooser.hslHueText=Tonalit\u00E0 ColorChooser.hslSaturationText=Saturazione -ColorChooser.hslLightnessText=Luminosit\u00e0 +ColorChooser.hslLightnessText=Luminosit\u00E0 ColorChooser.hslTransparencyText=Trasparenza ColorChooser.rgbNameText=RGB ColorChooser.rgbMnemonic=71 ColorChooser.rgbRedText=Rosso -ColorChooser.rgbRedMnemonic=79 +ColorChooser.rgbRedMnemonic=68 ColorChooser.rgbGreenText=Verde -ColorChooser.rgbGreenMnemonic=69 +ColorChooser.rgbGreenMnemonic=78 ColorChooser.rgbBlueText=Blu ColorChooser.rgbBlueMnemonic=66 ColorChooser.rgbAlphaText=Alfa -ColorChooser.rgbHexCodeText=Codice colore +ColorChooser.rgbHexCodeText=Codice colori ColorChooser.rgbHexCodeMnemonic=67 ColorChooser.cmykNameText=CMYK ColorChooser.cmykMnemonic=77 @@ -140,14 +140,14 @@ ColorChooser.cmykAlphaText=Alfa # Mnemonic keys correspond to KeyEvent.VK_XXX constant # We only define mnemonics for YES/NO, but for completeness you can # define mnemonics for any of the buttons. -OptionPane.yesButtonText=S\u00ec -OptionPane.yesButtonMnemonic=83 +OptionPane.yesButtonText=S\u00EC +OptionPane.yesButtonMnemonic=89 OptionPane.noButtonText=No OptionPane.noButtonMnemonic=78 OptionPane.okButtonText=OK -OptionPane.okButtonMnemonic=79 +OptionPane.okButtonMnemonic=0 OptionPane.cancelButtonText=Annulla -OptionPane.cancelButtonMnemonic=65 +OptionPane.cancelButtonMnemonic=0 OptionPane.titleText=Selezionare una opzione # Title for the dialog for the showInputDialog methods. Only used if # the developer uses one of the variants that doesn't take a title. @@ -169,7 +169,7 @@ PrintingDialog.contentProgressText=Pagina stampata {0}... PrintingDialog.contentAbortingText=Interruzione della stampa... PrintingDialog.abortButtonText=Interrompi -PrintingDialog.abortButtonMnemonic=73 +PrintingDialog.abortButtonMnemonic=65 PrintingDialog.abortButtonDisplayedMnemonicIndex=0 PrintingDialog.abortButtonToolTipText=Interrompi la stampa @@ -189,12 +189,12 @@ InternalFrameTitlePane.closeButtonText=Chiudi ############ Text strings ############# # Used for html forms -FormView.submitButtonText=Invia query -FormView.resetButtonText=Ripristina +FormView.submitButtonText=Sottometti query +FormView.resetButtonText=Reimposta FormView.browseFileButtonText=Sfoglia... ############ Abstract Document Strings ############ -AbstractDocument.styleChangeText=cambiamento di stile +AbstractDocument.styleChangeText=modifica di stile AbstractDocument.additionText=aggiunta AbstractDocument.deletionText=eliminazione AbstractDocument.undoText=Annulla @@ -217,7 +217,7 @@ ProgressMonitor.progressText=Avanzamento... SplitPane.leftButtonText=tasto sinistro SplitPane.rightButtonText=tasto destro # Used for Isindex -IsindexView.prompt=Questo \u00e8 un indice di ricerca. Immettere le parole chiave: +IsindexView.prompt=Questo \u00E8 un indice di ricerca. Immettere le parole chiave: ############ InternalFrameTitlePane Strings ############ InternalFrameTitlePane.iconifyButtonAccessibleName=Riduci a icona diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties index eda6e94917d..bcd333953d9 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties @@ -45,181 +45,181 @@ # @author Steve Wilson ############ FILE CHOOSER STRINGS ############# -FileChooser.fileDescriptionText=\u6c4e\u7528\u30d5\u30a1\u30a4\u30eb -FileChooser.directoryDescriptionText=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea -FileChooser.newFolderErrorText=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0\u306e\u4f5c\u6210\u306b\u5931\u6557 +FileChooser.fileDescriptionText=\u6C4E\u7528\u30D5\u30A1\u30A4\u30EB +FileChooser.directoryDescriptionText=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA +FileChooser.newFolderErrorText=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0\u306E\u4F5C\u6210\u30A8\u30E9\u30FC FileChooser.newFolderErrorSeparator= : -FileChooser.newFolderParentDoesntExistTitleText=\u30d5\u30a9\u30eb\u30c0\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093 -FileChooser.newFolderParentDoesntExistText=\u30d5\u30a9\u30eb\u30c0\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002\n\n\u6307\u5b9a\u3055\u308c\u305f\u30d1\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002 -FileChooser.renameErrorTitleText=\u30d5\u30a1\u30a4\u30eb\u307e\u305f\u306f\u30d5\u30a9\u30eb\u30c0\u306e\u540d\u524d\u5909\u66f4\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002 -FileChooser.renameErrorText={0} \u306e\u540d\u524d\u3092\u5909\u66f4\u3067\u304d\u307e\u305b\u3093\u3002 -FileChooser.renameErrorFileExistsText={0} \u306e\u540d\u524d\u3092\u5909\u66f4\u3067\u304d\u307e\u305b\u3093: \u6307\u5b9a\u3055\u308c\u305f\u540d\u524d\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u3059\u3067\u306b\u5b58\u5728\u3057\u3066\u3044\u307e\u3059\u3002\u5225\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002 -FileChooser.acceptAllFileFilterText=\u3059\u3079\u3066\u306e\u30d5\u30a1\u30a4\u30eb -FileChooser.cancelButtonText=\u53d6\u6d88\u3057 +FileChooser.newFolderParentDoesntExistTitleText=\u30D5\u30A9\u30EB\u30C0\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093 +FileChooser.newFolderParentDoesntExistText=\u30D5\u30A9\u30EB\u30C0\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3002\n\n\u6307\u5B9A\u3057\u305F\u30D1\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002 +FileChooser.renameErrorTitleText=\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30D5\u30A9\u30EB\u30C0\u306E\u540D\u524D\u5909\u66F4\u30A8\u30E9\u30FC +FileChooser.renameErrorText={0}\u306E\u540D\u524D\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093 +FileChooser.renameErrorFileExistsText={0}\u306E\u540D\u524D\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093: \u6307\u5B9A\u3057\u305F\u540D\u524D\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u3059\u3067\u306B\u5B58\u5728\u3057\u307E\u3059\u3002\u5225\u306E\u30D5\u30A1\u30A4\u30EB\u540D\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 +FileChooser.acceptAllFileFilterText=\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB +FileChooser.cancelButtonText=\u53D6\u6D88 FileChooser.cancelButtonMnemonic=67 -FileChooser.saveButtonText=\u4fdd\u5b58 +FileChooser.saveButtonText=\u4FDD\u5B58 FileChooser.saveButtonMnemonic=83 -FileChooser.openButtonText=\u958b\u304f +FileChooser.openButtonText=\u958B\u304F FileChooser.openButtonMnemonic=79 -FileChooser.saveDialogTitleText=\u4fdd\u5b58 -FileChooser.openDialogTitleText=\u958b\u304f -FileChooser.updateButtonText=\u66f4\u65b0(U) +FileChooser.saveDialogTitleText=\u4FDD\u5B58 +FileChooser.openDialogTitleText=\u958B\u304F +FileChooser.updateButtonText=\u66F4\u65B0 FileChooser.updateButtonMnemonic=85 -FileChooser.helpButtonText=\u30d8\u30eb\u30d7(H) +FileChooser.helpButtonText=\u30D8\u30EB\u30D7 FileChooser.helpButtonMnemonic=72 -FileChooser.directoryOpenButtonText=\u958b\u304f +FileChooser.directoryOpenButtonText=\u958B\u304F FileChooser.directoryOpenButtonMnemonic=79 # File Size Units -FileChooser.fileSizeKiloBytes={0} K \u30d0\u30a4\u30c8 -FileChooser.fileSizeMegaBytes={0} M \u30d0\u30a4\u30c8 -FileChooser.fileSizeGigaBytes={0} G \u30d0\u30a4\u30c8 +FileChooser.fileSizeKiloBytes={0} KB +FileChooser.fileSizeMegaBytes={0} MB +FileChooser.fileSizeGigaBytes={0} GB # These strings are platform dependent not look and feel dependent. -FileChooser.win32.newFolder=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0 -FileChooser.win32.newFolder.subsequent=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0 ({0}) -FileChooser.other.newFolder=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0 -FileChooser.other.newFolder.subsequent=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0.{0} +FileChooser.win32.newFolder=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0 +FileChooser.win32.newFolder.subsequent=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0({0}) +FileChooser.other.newFolder=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0 +FileChooser.other.newFolder.subsequent=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0.{0} ## file chooser tooltips ### -FileChooser.cancelButtonToolTipText=\u30d5\u30a1\u30a4\u30eb\u30c1\u30e5\u30fc\u30b6\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u7d42\u4e86 -FileChooser.saveButtonToolTipText=\u9078\u629e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u4fdd\u5b58 -FileChooser.openButtonToolTipText=\u9078\u629e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304f -FileChooser.updateButtonToolTipText=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u4e00\u89a7\u3092\u66f4\u65b0 -FileChooser.helpButtonToolTipText=\u30d5\u30a1\u30a4\u30eb\u30c1\u30e5\u30fc\u30b6\u30d8\u30eb\u30d7 -FileChooser.directoryOpenButtonToolTipText=\u9078\u629e\u3057\u305f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u958b\u304f +FileChooser.cancelButtonToolTipText=\u30D5\u30A1\u30A4\u30EB\u30FB\u30C1\u30E5\u30FC\u30B6\u30FB\u30C0\u30A4\u30A2\u30ED\u30B0\u3092\u7D42\u4E86\u3057\u307E\u3059 +FileChooser.saveButtonToolTipText=\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58\u3057\u307E\u3059 +FileChooser.openButtonToolTipText=\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304D\u307E\u3059 +FileChooser.updateButtonToolTipText=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u30EA\u30B9\u30C8\u3092\u66F4\u65B0\u3057\u307E\u3059 +FileChooser.helpButtonToolTipText=FileChooser\u306E\u30D8\u30EB\u30D7\u3067\u3059 +FileChooser.directoryOpenButtonToolTipText=\u9078\u629E\u3057\u305F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u958B\u304D\u307E\u3059 ############ COLOR CHOOSER STRINGS ############# -ColorChooser.previewText=\u30d7\u30ec\u30d3\u30e5\u30fc -ColorChooser.okText=\u4e86\u89e3 -ColorChooser.cancelText=\u53d6\u6d88\u3057 -ColorChooser.resetText=\u30ea\u30bb\u30c3\u30c8(R) +ColorChooser.previewText=\u30D7\u30EC\u30D3\u30E5\u30FC +ColorChooser.okText=OK +ColorChooser.cancelText=\u53D6\u6D88 +ColorChooser.resetText=\u30EA\u30BB\u30C3\u30C8 # VK_XXX constant for 'ColorChooser.resetText' button to make mnemonic ColorChooser.resetMnemonic=82 -ColorChooser.sampleText=\u30b5\u30f3\u30d7\u30eb\u30c6\u30ad\u30b9\u30c8 \u30b5\u30f3\u30d7\u30eb\u30c6\u30ad\u30b9\u30c8 -ColorChooser.swatchesNameText=\u30b5\u30f3\u30d7\u30eb(S) +ColorChooser.sampleText=\u30B5\u30F3\u30D7\u30EB\u30FB\u30C6\u30AD\u30B9\u30C8 \u30B5\u30F3\u30D7\u30EB\u30FB\u30C6\u30AD\u30B9\u30C8 +ColorChooser.swatchesNameText=\u30B5\u30F3\u30D7\u30EB ColorChooser.swatchesMnemonic=83 -ColorChooser.swatchesRecentText=\u6700\u65b0: +ColorChooser.swatchesRecentText=\u6700\u65B0: # Each of the ColorChooser types can define a mnemonic, as a KeyEvent.VK_XXX # constant, and an index into the text to render the mnemonic as. The # mnemonic is xxxMnemonic and the index of the character to underline is # xxxDisplayedMnemonicIndex. ColorChooser.hsvNameText=HSV ColorChooser.hsvMnemonic=72 -ColorChooser.hsvHueText=\u8272\u5408\u3044 -ColorChooser.hsvSaturationText=\u5f69\u5ea6 +ColorChooser.hsvHueText=\u8272\u76F8 +ColorChooser.hsvSaturationText=\u5F69\u5EA6 ColorChooser.hsvValueText=\u5024 -ColorChooser.hsvTransparencyText=\u900f\u660e\u5ea6 +ColorChooser.hsvTransparencyText=\u900F\u660E\u5EA6 ColorChooser.hslNameText=HSL ColorChooser.hslMnemonic=76 -ColorChooser.hslHueText=\u8272\u5408\u3044 -ColorChooser.hslSaturationText=\u5f69\u5ea6 -ColorChooser.hslLightnessText=\u660e\u5ea6 -ColorChooser.hslTransparencyText=\u900f\u660e\u5ea6 +ColorChooser.hslHueText=\u8272\u76F8 +ColorChooser.hslSaturationText=\u5F69\u5EA6 +ColorChooser.hslLightnessText=\u660E\u5EA6 +ColorChooser.hslTransparencyText=\u900F\u660E\u5EA6 ColorChooser.rgbNameText=RGB ColorChooser.rgbMnemonic=71 -ColorChooser.rgbRedText=\u8d64(D) +ColorChooser.rgbRedText=\u8D64 ColorChooser.rgbRedMnemonic=68 -ColorChooser.rgbGreenText=\u7dd1(N) +ColorChooser.rgbGreenText=\u7DD1 ColorChooser.rgbGreenMnemonic=78 -ColorChooser.rgbBlueText=\u9752(B) +ColorChooser.rgbBlueText=\u9752 ColorChooser.rgbBlueMnemonic=66 -ColorChooser.rgbAlphaText=\u30a2\u30eb\u30d5\u30a1 -ColorChooser.rgbHexCodeText=\u8272\u30b3\u30fc\u30c9 +ColorChooser.rgbAlphaText=\u30A2\u30EB\u30D5\u30A1 +ColorChooser.rgbHexCodeText=\u8272\u30B3\u30FC\u30C9 ColorChooser.rgbHexCodeMnemonic=67 ColorChooser.cmykNameText=CMYK ColorChooser.cmykMnemonic=77 -ColorChooser.cmykCyanText=\u30b7\u30a2\u30f3 -ColorChooser.cmykMagentaText=\u30de\u30bc\u30f3\u30c0 -ColorChooser.cmykYellowText=\u9ec4 -ColorChooser.cmykBlackText=\u9ed2 -ColorChooser.cmykAlphaText=\u30a2\u30eb\u30d5\u30a1 +ColorChooser.cmykCyanText=\u30B7\u30A2\u30F3 +ColorChooser.cmykMagentaText=\u30DE\u30BC\u30F3\u30BF +ColorChooser.cmykYellowText=\u9EC4 +ColorChooser.cmykBlackText=\u9ED2 +ColorChooser.cmykAlphaText=\u30A2\u30EB\u30D5\u30A1 ############ OPTION PANE STRINGS ############# # Mnemonic keys correspond to KeyEvent.VK_XXX constant # We only define mnemonics for YES/NO, but for completeness you can # define mnemonics for any of the buttons. -OptionPane.yesButtonText=\u306f\u3044(Y) +OptionPane.yesButtonText=\u306F\u3044 OptionPane.yesButtonMnemonic=89 -OptionPane.noButtonText=\u3044\u3044\u3048(N) +OptionPane.noButtonText=\u3044\u3044\u3048 OptionPane.noButtonMnemonic=78 -OptionPane.okButtonText=\u4e86\u89e3 +OptionPane.okButtonText=OK OptionPane.okButtonMnemonic=0 -OptionPane.cancelButtonText=\u53d6\u6d88\u3057 +OptionPane.cancelButtonText=\u53D6\u6D88 OptionPane.cancelButtonMnemonic=0 -OptionPane.titleText=\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u9078\u629e +OptionPane.titleText=\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u9078\u629E # Title for the dialog for the showInputDialog methods. Only used if # the developer uses one of the variants that doesn't take a title. -OptionPane.inputDialogTitle=\u5165\u529b +OptionPane.inputDialogTitle=\u5165\u529B # Title for the dialog for the showMessageDialog methods. Only used if # the developer uses one of the variants that doesn't take a title. -OptionPane.messageDialogTitle=\u30e1\u30c3\u30bb\u30fc\u30b8 +OptionPane.messageDialogTitle=\u30E1\u30C3\u30BB\u30FC\u30B8 ############ Printing Dialog Strings ############ -PrintingDialog.titleProgressText=\u5370\u5237\u3057\u3066\u3044\u307e\u3059 -PrintingDialog.titleAbortingText=\u5370\u5237\u3092\u4e2d\u6b62\u3057\u3066\u3044\u307e\u3059 +PrintingDialog.titleProgressText=\u5370\u5237\u3057\u3066\u3044\u307E\u3059 +PrintingDialog.titleAbortingText=\u5370\u5237\u3092\u4E2D\u6B62\u3057\u3066\u3044\u307E\u3059 -PrintingDialog.contentInitialText=\u5370\u5237\u4e2d... +PrintingDialog.contentInitialText=\u5370\u5237\u4E2D... # The following string will be formatted by a MessageFormat # and {0} will be replaced by page number being printed -PrintingDialog.contentProgressText=\u30da\u30fc\u30b8 {0} \u3092\u5370\u5237\u3057\u307e\u3057\u305f... +PrintingDialog.contentProgressText=\u30DA\u30FC\u30B8{0}\u3092\u5370\u5237\u3057\u307E\u3057\u305F... -PrintingDialog.contentAbortingText=\u5370\u5237\u3092\u4e2d\u6b62\u3057\u3066\u3044\u307e\u3059... +PrintingDialog.contentAbortingText=\u5370\u5237\u3092\u4E2D\u6B62\u3057\u3066\u3044\u307E\u3059... -PrintingDialog.abortButtonText=\u4e2d\u6b62(A) +PrintingDialog.abortButtonText=\u4E2D\u6B62 PrintingDialog.abortButtonMnemonic=65 PrintingDialog.abortButtonDisplayedMnemonicIndex=0 -PrintingDialog.abortButtonToolTipText=\u5370\u5237\u306e\u4e2d\u6b62 +PrintingDialog.abortButtonToolTipText=\u5370\u5237\u306E\u4E2D\u6B62 ############ Internal Frame Strings ############ -InternalFrame.iconButtonToolTip=\u30a2\u30a4\u30b3\u30f3\u5316 -InternalFrame.maxButtonToolTip=\u6700\u5927\u8868\u793a -InternalFrame.restoreButtonToolTip=\u5fa9\u5143 -InternalFrame.closeButtonToolTip=\u9589\u3058\u308b +InternalFrame.iconButtonToolTip=\u6700\u5C0F\u5316 +InternalFrame.maxButtonToolTip=\u6700\u5927\u5316 +InternalFrame.restoreButtonToolTip=\u5FA9\u5143 +InternalFrame.closeButtonToolTip=\u9589\u3058\u308B ############ Internal Frame Title Pane Strings ############ -InternalFrameTitlePane.restoreButtonText=\u5fa9\u5143 -InternalFrameTitlePane.moveButtonText=\u79fb\u52d5 -InternalFrameTitlePane.sizeButtonText=\u30b5\u30a4\u30ba -InternalFrameTitlePane.minimizeButtonText=\u6700\u5c0f\u5316 +InternalFrameTitlePane.restoreButtonText=\u5FA9\u5143 +InternalFrameTitlePane.moveButtonText=\u79FB\u52D5 +InternalFrameTitlePane.sizeButtonText=\u30B5\u30A4\u30BA +InternalFrameTitlePane.minimizeButtonText=\u6700\u5C0F\u5316 InternalFrameTitlePane.maximizeButtonText=\u6700\u5927\u5316 -InternalFrameTitlePane.closeButtonText=\u9589\u3058\u308b +InternalFrameTitlePane.closeButtonText=\u9589\u3058\u308B ############ Text strings ############# # Used for html forms -FormView.submitButtonText=\u554f\u3044\u5408\u308f\u305b\u306e\u5b9f\u884c -FormView.resetButtonText=\u30ea\u30bb\u30c3\u30c8 -FormView.browseFileButtonText=\u53c2\u7167... +FormView.submitButtonText=\u554F\u5408\u305B\u306E\u5B9F\u884C +FormView.resetButtonText=\u30EA\u30BB\u30C3\u30C8 +FormView.browseFileButtonText=\u53C2\u7167... ############ Abstract Document Strings ############ -AbstractDocument.styleChangeText=\u30b9\u30bf\u30a4\u30eb\u5909\u66f4 -AbstractDocument.additionText=\u8ffd\u52a0 -AbstractDocument.deletionText=\u524a\u9664 -AbstractDocument.undoText=\u5143\u306b\u623b\u3059 -AbstractDocument.redoText=\u518d\u5b9f\u884c +AbstractDocument.styleChangeText=\u30B9\u30BF\u30A4\u30EB\u5909\u66F4 +AbstractDocument.additionText=\u8FFD\u52A0 +AbstractDocument.deletionText=\u524A\u9664 +AbstractDocument.undoText=\u5143\u306B\u623B\u3059 +AbstractDocument.redoText=\u3084\u308A\u76F4\u3057 ############ Abstract Button Strings ############ -AbstractButton.clickText=\u30af\u30ea\u30c3\u30af +AbstractButton.clickText=\u30AF\u30EA\u30C3\u30AF ############ Abstract Undoable Edit Strings ############ -AbstractUndoableEdit.undoText=\u5143\u306b\u623b\u3059 -AbstractUndoableEdit.redoText=\u518d\u5b9f\u884c +AbstractUndoableEdit.undoText=\u5143\u306B\u623B\u3059 +AbstractUndoableEdit.redoText=\u3084\u308A\u76F4\u3057 ############ Combo Box Strings ############ -ComboBox.togglePopupText=\u30c8\u30b0\u30eb\u30dd\u30c3\u30d7\u30a2\u30c3\u30d7 +ComboBox.togglePopupText=\u30C8\u30B0\u30EB\u30FB\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7 ############ Progress Monitor Strings ############ -ProgressMonitor.progressText=\u9032\u884c\u4e2d... +ProgressMonitor.progressText=\u9032\u884C\u4E2D... ############ Split Pane Strings ############ -SplitPane.leftButtonText=\u5de6\u30dc\u30bf\u30f3 -SplitPane.rightButtonText=\u53f3\u30dc\u30bf\u30f3 +SplitPane.leftButtonText=\u5DE6\u30DC\u30BF\u30F3 +SplitPane.rightButtonText=\u53F3\u30DC\u30BF\u30F3 # Used for Isindex -IsindexView.prompt=\u691c\u7d22\u7528\u306e\u7d22\u5f15\u3067\u3059\u3002\u691c\u7d22\u3059\u308b\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044: +IsindexView.prompt=\u691C\u7D22\u7528\u306E\u7D22\u5F15\u3067\u3059\u3002\u691C\u7D22\u3059\u308B\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: ############ InternalFrameTitlePane Strings ############ -InternalFrameTitlePane.iconifyButtonAccessibleName=\u6700\u5c0f\u5316 +InternalFrameTitlePane.iconifyButtonAccessibleName=\u30A2\u30A4\u30B3\u30F3\u5316 InternalFrameTitlePane.maximizeButtonAccessibleName=\u6700\u5927\u5316 -InternalFrameTitlePane.closeButtonAccessibleName=\u9589\u3058\u308b +InternalFrameTitlePane.closeButtonAccessibleName=\u9589\u3058\u308B diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties index 7df1dbc402d..a377f13d0b9 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties @@ -45,181 +45,181 @@ # @author Steve Wilson ############ FILE CHOOSER STRINGS ############# -FileChooser.fileDescriptionText=\uc77c\ubc18 \ud30c\uc77c -FileChooser.directoryDescriptionText=\ub514\ub809\ud1a0\ub9ac -FileChooser.newFolderErrorText=\uc0c8 \ud3f4\ub354 \uc791\uc131 \uc624\ub958 +FileChooser.fileDescriptionText=\uC77C\uBC18 \uD30C\uC77C +FileChooser.directoryDescriptionText=\uB514\uB809\uD1A0\uB9AC +FileChooser.newFolderErrorText=\uC0C8 \uD3F4\uB354\uB97C \uC0DD\uC131\uD558\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. FileChooser.newFolderErrorSeparator= : -FileChooser.newFolderParentDoesntExistTitleText=\ud3f4\ub354\ub97c \ub9cc\ub4e4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. -FileChooser.newFolderParentDoesntExistText=\ud3f4\ub354\ub97c \ub9cc\ub4e4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.\n\n\uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc9c0\uc815\ud55c \uacbd\ub85c\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. -FileChooser.renameErrorTitleText=\ud30c\uc77c \ub610\ub294 \ud3f4\ub354 \uc774\ub984 \ubc14\uafb8\uae30 \uc624\ub958 -FileChooser.renameErrorText={0}\uc758 \uc774\ub984\uc744 \ubc14\uafc0 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. -FileChooser.renameErrorFileExistsText={0}\uc758 \uc774\ub984\uc744 \ubc14\uafc0 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc9c0\uc815\ud55c \uc774\ub984\uc758 \ud30c\uc77c\uc774 \uc774\ubbf8 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\ub978 \ud30c\uc77c \uc774\ub984\uc744 \uc9c0\uc815\ud558\uc2ed\uc2dc\uc624. -FileChooser.acceptAllFileFilterText=\ubaa8\ub4e0 \ud30c\uc77c -FileChooser.cancelButtonText=\ucde8\uc18c +FileChooser.newFolderParentDoesntExistTitleText=\uD3F4\uB354\uB97C \uC0DD\uC131\uD560 \uC218 \uC5C6\uC74C +FileChooser.newFolderParentDoesntExistText=\uD3F4\uB354\uB97C \uC0DD\uC131\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\n\uC2DC\uC2A4\uD15C\uC5D0\uC11C \uC9C0\uC815\uB41C \uACBD\uB85C\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +FileChooser.renameErrorTitleText=\uD30C\uC77C \uB610\uB294 \uD3F4\uB354 \uC774\uB984 \uBC14\uAFB8\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD +FileChooser.renameErrorText={0}\uC758 \uC774\uB984\uC744 \uBC14\uAFC0 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +FileChooser.renameErrorFileExistsText={0}\uC758 \uC774\uB984\uC744 \uBC14\uAFC0 \uC218 \uC5C6\uC74C: \uC9C0\uC815\uD55C \uC774\uB984\uC744 \uC0AC\uC6A9\uD558\uB294 \uD30C\uC77C\uC774 \uC874\uC7AC\uD569\uB2C8\uB2E4. \uB2E4\uB978 \uD30C\uC77C \uC774\uB984\uC744 \uC9C0\uC815\uD558\uC2ED\uC2DC\uC624. +FileChooser.acceptAllFileFilterText=\uBAA8\uB4E0 \uD30C\uC77C +FileChooser.cancelButtonText=\uCDE8\uC18C FileChooser.cancelButtonMnemonic=67 -FileChooser.saveButtonText=\uc800\uc7a5 +FileChooser.saveButtonText=\uC800\uC7A5 FileChooser.saveButtonMnemonic=83 -FileChooser.openButtonText=\uc5f4\uae30 +FileChooser.openButtonText=\uC5F4\uAE30 FileChooser.openButtonMnemonic=79 -FileChooser.saveDialogTitleText=\uc800\uc7a5 -FileChooser.openDialogTitleText=\uc5f4\uae30 -FileChooser.updateButtonText=\uc5c5\ub370\uc774\ud2b8(U) +FileChooser.saveDialogTitleText=\uC800\uC7A5 +FileChooser.openDialogTitleText=\uC5F4\uAE30 +FileChooser.updateButtonText=\uAC31\uC2E0 FileChooser.updateButtonMnemonic=85 -FileChooser.helpButtonText=\ub3c4\uc6c0\ub9d0(H) +FileChooser.helpButtonText=\uB3C4\uC6C0\uB9D0 FileChooser.helpButtonMnemonic=72 -FileChooser.directoryOpenButtonText=\uc5f4\uae30 +FileChooser.directoryOpenButtonText=\uC5F4\uAE30 FileChooser.directoryOpenButtonMnemonic=79 # File Size Units -FileChooser.fileSizeKiloBytes={0}KB -FileChooser.fileSizeMegaBytes={0}MB -FileChooser.fileSizeGigaBytes={0}GB +FileChooser.fileSizeKiloBytes={0} KB +FileChooser.fileSizeMegaBytes={0} MB +FileChooser.fileSizeGigaBytes={0} GB # These strings are platform dependent not look and feel dependent. -FileChooser.win32.newFolder=\uc0c8 \ud3f4\ub354 -FileChooser.win32.newFolder.subsequent=\uc0c8 \ud3f4\ub354 ({0}) -FileChooser.other.newFolder=\uc0c8 \ud3f4\ub354 -FileChooser.other.newFolder.subsequent=\uc0c8 \ud3f4\ub354.{0} +FileChooser.win32.newFolder=\uC0C8 \uD3F4\uB354 +FileChooser.win32.newFolder.subsequent=\uC0C8 \uD3F4\uB354({0}) +FileChooser.other.newFolder=NewFolder +FileChooser.other.newFolder.subsequent=NewFolder.{0} ## file chooser tooltips ### -FileChooser.cancelButtonToolTipText=\ud30c\uc77c \uc120\ud0dd \ub300\ud654 \uc0c1\uc790 \uc911\uc9c0 -FileChooser.saveButtonToolTipText=\uc120\ud0dd\ub41c \ud30c\uc77c \uc800\uc7a5 -FileChooser.openButtonToolTipText=\uc120\ud0dd\ub41c \ud30c\uc77c \uc5f4\uae30 -FileChooser.updateButtonToolTipText=\ub514\ub809\ud1a0\ub9ac \ubaa9\ub85d \uc5c5\ub370\uc774\ud2b8 -FileChooser.helpButtonToolTipText=FileChooser \ub3c4\uc6c0\ub9d0 -FileChooser.directoryOpenButtonToolTipText=\uc120\ud0dd\ub41c \ub514\ub809\ud1a0\ub9ac \uc5f4\uae30 +FileChooser.cancelButtonToolTipText=\uD30C\uC77C \uC120\uD0DD\uAE30 \uB300\uD654\uC0C1\uC790 \uC911\uB2E8 +FileChooser.saveButtonToolTipText=\uC120\uD0DD\uB41C \uD30C\uC77C \uC800\uC7A5 +FileChooser.openButtonToolTipText=\uC120\uD0DD\uB41C \uD30C\uC77C \uC5F4\uAE30 +FileChooser.updateButtonToolTipText=\uB514\uB809\uD1A0\uB9AC \uBAA9\uB85D \uAC31\uC2E0 +FileChooser.helpButtonToolTipText=FileChooser \uB3C4\uC6C0\uB9D0 +FileChooser.directoryOpenButtonToolTipText=\uC120\uD0DD\uB41C \uB514\uB809\uD1A0\uB9AC \uC5F4\uAE30 ############ COLOR CHOOSER STRINGS ############# -ColorChooser.previewText=\ubbf8\ub9ac\ubcf4\uae30 -ColorChooser.okText=\ud655\uc778 -ColorChooser.cancelText=\ucde8\uc18c -ColorChooser.resetText=\uc7ac\uc124\uc815(R) +ColorChooser.previewText=\uBBF8\uB9AC\uBCF4\uAE30 +ColorChooser.okText=\uD655\uC778 +ColorChooser.cancelText=\uCDE8\uC18C +ColorChooser.resetText=\uC7AC\uC124\uC815 # VK_XXX constant for 'ColorChooser.resetText' button to make mnemonic ColorChooser.resetMnemonic=82 -ColorChooser.sampleText=\uc0d8\ud50c \ud14d\uc2a4\ud2b8 \uc0d8\ud50c \ud14d\uc2a4\ud2b8 -ColorChooser.swatchesNameText=\uacac\ubcf8(S) +ColorChooser.sampleText=\uC0D8\uD50C \uD14D\uC2A4\uD2B8 \uC0D8\uD50C \uD14D\uC2A4\uD2B8 +ColorChooser.swatchesNameText=\uACAC\uBCF8 ColorChooser.swatchesMnemonic=83 -ColorChooser.swatchesRecentText=\ucd5c\uadfc \ubaa9\ub85d: +ColorChooser.swatchesRecentText=\uCD5C\uADFC \uBAA9\uB85D: # Each of the ColorChooser types can define a mnemonic, as a KeyEvent.VK_XXX # constant, and an index into the text to render the mnemonic as. The # mnemonic is xxxMnemonic and the index of the character to underline is # xxxDisplayedMnemonicIndex. ColorChooser.hsvNameText=HSV ColorChooser.hsvMnemonic=72 -ColorChooser.hsvHueText=\uc0c9\uc0c1 -ColorChooser.hsvSaturationText=\ucc44\ub3c4 -ColorChooser.hsvValueText=\uac12 -ColorChooser.hsvTransparencyText=\ud22c\uba85\ub3c4 +ColorChooser.hsvHueText=\uC0C9\uC870 +ColorChooser.hsvSaturationText=\uCC44\uB3C4 +ColorChooser.hsvValueText=\uAC12 +ColorChooser.hsvTransparencyText=\uD22C\uBA85 ColorChooser.hslNameText=HSL ColorChooser.hslMnemonic=76 -ColorChooser.hslHueText=\uc0c9\uc0c1 -ColorChooser.hslSaturationText=\ucc44\ub3c4 -ColorChooser.hslLightnessText=\ubc1d\uae30 -ColorChooser.hslTransparencyText=\ud22c\uba85\ub3c4 +ColorChooser.hslHueText=\uC0C9\uC870 +ColorChooser.hslSaturationText=\uCC44\uB3C4 +ColorChooser.hslLightnessText=\uBC1D\uAE30 +ColorChooser.hslTransparencyText=\uD22C\uBA85 ColorChooser.rgbNameText=RGB ColorChooser.rgbMnemonic=71 -ColorChooser.rgbRedText=\ube68\uac04\uc0c9(D) +ColorChooser.rgbRedText=\uBE68\uAC04\uC0C9 ColorChooser.rgbRedMnemonic=68 -ColorChooser.rgbGreenText=\ub179\uc0c9(N) +ColorChooser.rgbGreenText=\uB179\uC0C9 ColorChooser.rgbGreenMnemonic=78 -ColorChooser.rgbBlueText=\ud30c\ub780\uc0c9(B) +ColorChooser.rgbBlueText=\uD30C\uB780\uC0C9 ColorChooser.rgbBlueMnemonic=66 -ColorChooser.rgbAlphaText=\uc54c\ud30c -ColorChooser.rgbHexCodeText=\uceec\ub7ec \ucf54\ub4dc +ColorChooser.rgbAlphaText=\uC54C\uD30C +ColorChooser.rgbHexCodeText=\uC0C9\uC0C1 \uCF54\uB4DC ColorChooser.rgbHexCodeMnemonic=67 ColorChooser.cmykNameText=CMYK ColorChooser.cmykMnemonic=77 -ColorChooser.cmykCyanText=\uccad\ub85d\uc0c9 -ColorChooser.cmykMagentaText=\uc790\ud64d\uc0c9 -ColorChooser.cmykYellowText=\ub178\ub780\uc0c9 -ColorChooser.cmykBlackText=\ud751\uc0c9 -ColorChooser.cmykAlphaText=\uc54c\ud30c +ColorChooser.cmykCyanText=\uCCAD\uB85D\uC0C9 +ColorChooser.cmykMagentaText=\uC9C4\uD64D\uC0C9 +ColorChooser.cmykYellowText=\uB178\uB780\uC0C9 +ColorChooser.cmykBlackText=\uAC80\uC815\uC0C9 +ColorChooser.cmykAlphaText=\uC54C\uD30C ############ OPTION PANE STRINGS ############# # Mnemonic keys correspond to KeyEvent.VK_XXX constant # We only define mnemonics for YES/NO, but for completeness you can # define mnemonics for any of the buttons. -OptionPane.yesButtonText=\uc608(Y) +OptionPane.yesButtonText=\uC608 OptionPane.yesButtonMnemonic=89 -OptionPane.noButtonText=\uc544\ub2c8\uc624(N) +OptionPane.noButtonText=\uC544\uB2C8\uC624 OptionPane.noButtonMnemonic=78 -OptionPane.okButtonText=\ud655\uc778 +OptionPane.okButtonText=\uD655\uC778 OptionPane.okButtonMnemonic=0 -OptionPane.cancelButtonText=\ucde8\uc18c +OptionPane.cancelButtonText=\uCDE8\uC18C OptionPane.cancelButtonMnemonic=0 -OptionPane.titleText=\uc635\uc158 \uc120\ud0dd +OptionPane.titleText=\uC635\uC158 \uC120\uD0DD # Title for the dialog for the showInputDialog methods. Only used if # the developer uses one of the variants that doesn't take a title. -OptionPane.inputDialogTitle=\uc785\ub825 +OptionPane.inputDialogTitle=\uC785\uB825 # Title for the dialog for the showMessageDialog methods. Only used if # the developer uses one of the variants that doesn't take a title. -OptionPane.messageDialogTitle=\uba54\uc2dc\uc9c0 +OptionPane.messageDialogTitle=\uBA54\uC2DC\uC9C0 ############ Printing Dialog Strings ############ -PrintingDialog.titleProgressText=\uc778\uc1c4 -PrintingDialog.titleAbortingText=\uc778\uc1c4 (\uc911\uc9c0) +PrintingDialog.titleProgressText=\uC778\uC1C4 +PrintingDialog.titleAbortingText=\uC778\uC1C4(\uC911\uB2E8 \uC911) -PrintingDialog.contentInitialText=\uc778\uc1c4 \uc9c4\ud589 \uc911... +PrintingDialog.contentInitialText=\uC778\uC1C4 \uC9C4\uD589 \uC911... # The following string will be formatted by a MessageFormat # and {0} will be replaced by page number being printed -PrintingDialog.contentProgressText=\uc778\uc1c4\ub41c \ud398\uc774\uc9c0 {0}... +PrintingDialog.contentProgressText=\uC778\uC1C4\uB41C \uD398\uC774\uC9C0 {0}... -PrintingDialog.contentAbortingText=\uc778\uc1c4 \uc911\uc9c0... +PrintingDialog.contentAbortingText=\uC778\uC1C4 \uC911\uB2E8 \uC911... -PrintingDialog.abortButtonText=\uc911\uc9c0(A) +PrintingDialog.abortButtonText=\uC911\uB2E8 PrintingDialog.abortButtonMnemonic=65 PrintingDialog.abortButtonDisplayedMnemonicIndex=0 -PrintingDialog.abortButtonToolTipText=\uc778\uc1c4 \uc911\uc9c0 +PrintingDialog.abortButtonToolTipText=\uC778\uC1C4 \uC911\uB2E8 ############ Internal Frame Strings ############ -InternalFrame.iconButtonToolTip=\ucd5c\uc18c\ud654 -InternalFrame.maxButtonToolTip=\ucd5c\ub300\ud654 -InternalFrame.restoreButtonToolTip=\ubcf5\uc6d0 -InternalFrame.closeButtonToolTip=\ub2eb\uae30 +InternalFrame.iconButtonToolTip=\uCD5C\uC18C\uD654 +InternalFrame.maxButtonToolTip=\uCD5C\uB300\uD654 +InternalFrame.restoreButtonToolTip=\uBCF5\uC6D0 +InternalFrame.closeButtonToolTip=\uB2EB\uAE30 ############ Internal Frame Title Pane Strings ############ -InternalFrameTitlePane.restoreButtonText=\ubcf5\uc6d0 -InternalFrameTitlePane.moveButtonText=\uc774\ub3d9 -InternalFrameTitlePane.sizeButtonText=\ud06c\uae30 -InternalFrameTitlePane.minimizeButtonText=\ucd5c\uc18c\ud654 -InternalFrameTitlePane.maximizeButtonText=\ucd5c\ub300\ud654 -InternalFrameTitlePane.closeButtonText=\ub2eb\uae30 +InternalFrameTitlePane.restoreButtonText=\uBCF5\uC6D0 +InternalFrameTitlePane.moveButtonText=\uC774\uB3D9 +InternalFrameTitlePane.sizeButtonText=\uD06C\uAE30 +InternalFrameTitlePane.minimizeButtonText=\uCD5C\uC18C\uD654 +InternalFrameTitlePane.maximizeButtonText=\uCD5C\uB300\uD654 +InternalFrameTitlePane.closeButtonText=\uB2EB\uAE30 ############ Text strings ############# # Used for html forms -FormView.submitButtonText=\uc9c8\uc758 \uc81c\ucd9c -FormView.resetButtonText=\uc7ac\uc124\uc815 -FormView.browseFileButtonText=\ucc3e\uc544\ubcf4\uae30... +FormView.submitButtonText=\uC9C8\uC758 \uC81C\uCD9C +FormView.resetButtonText=\uC7AC\uC124\uC815 +FormView.browseFileButtonText=\uCC3E\uC544\uBCF4\uAE30... ############ Abstract Document Strings ############ -AbstractDocument.styleChangeText=\uc2a4\ud0c0\uc77c \ubcc0\uacbd -AbstractDocument.additionText=\ucd94\uac00 -AbstractDocument.deletionText=\uc0ad\uc81c -AbstractDocument.undoText=\uc2e4\ud589 \ucde8\uc18c -AbstractDocument.redoText=\uc7ac\uc2e4\ud589 +AbstractDocument.styleChangeText=\uC2A4\uD0C0\uC77C \uBCC0\uACBD +AbstractDocument.additionText=\uCD94\uAC00 +AbstractDocument.deletionText=\uC0AD\uC81C +AbstractDocument.undoText=\uC2E4\uD589 \uCDE8\uC18C +AbstractDocument.redoText=\uC7AC\uC2E4\uD589 ############ Abstract Button Strings ############ -AbstractButton.clickText=\ub204\ub974\uae30 +AbstractButton.clickText=\uB204\uB974\uAE30 ############ Abstract Undoable Edit Strings ############ -AbstractUndoableEdit.undoText=\uc2e4\ud589 \ucde8\uc18c -AbstractUndoableEdit.redoText=\uc7ac\uc2e4\ud589 +AbstractUndoableEdit.undoText=\uC2E4\uD589 \uCDE8\uC18C +AbstractUndoableEdit.redoText=\uC7AC\uC2E4\uD589 ############ Combo Box Strings ############ -ComboBox.togglePopupText=\ud1a0\uae00\ud31d\uc5c5 +ComboBox.togglePopupText=togglePopup ############ Progress Monitor Strings ############ -ProgressMonitor.progressText=\uc9c4\ud589... +ProgressMonitor.progressText=\uC9C4\uD589... ############ Split Pane Strings ############ -SplitPane.leftButtonText=\uc67c\ucabd \ubc84\ud2bc -SplitPane.rightButtonText=\uc624\ub978\ucabd \ubc84\ud2bc +SplitPane.leftButtonText=\uC67C\uCABD \uB2E8\uCD94 +SplitPane.rightButtonText=\uC624\uB978\uCABD \uB2E8\uCD94 # Used for Isindex -IsindexView.prompt=\ub2e4\uc74c\uc740 \uac80\uc0c9 \uac00\ub2a5\ud55c \uc778\ub371\uc2a4\uc785\ub2c8\ub2e4. \uac80\uc0c9 \ud0a4\uc6cc\ub4dc\ub97c \uc785\ub825\ud558\uc2ed\uc2dc\uc624: +IsindexView.prompt=\uB2E4\uC74C\uC740 \uAC80\uC0C9 \uAC00\uB2A5\uD55C \uC778\uB371\uC2A4\uC785\uB2C8\uB2E4. \uAC80\uC0C9 \uD0A4\uC6CC\uB4DC \uC785\uB825: ############ InternalFrameTitlePane Strings ############ -InternalFrameTitlePane.iconifyButtonAccessibleName=\uc544\uc774\ucf58\ud654 -InternalFrameTitlePane.maximizeButtonAccessibleName=\ucd5c\ub300\ud654 -InternalFrameTitlePane.closeButtonAccessibleName=\ub2eb\uae30 +InternalFrameTitlePane.iconifyButtonAccessibleName=\uC544\uC774\uCF58\uD654 +InternalFrameTitlePane.maximizeButtonAccessibleName=\uCD5C\uB300\uD654 +InternalFrameTitlePane.closeButtonAccessibleName=\uB2EB\uAE30 diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties index 26a70452c0a..c03c8d523f3 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties @@ -45,11 +45,16 @@ # @author Steve Wilson ############ FILE CHOOSER STRINGS ############# -FileChooser.fileDescriptionText=Arquivo gen\u00e9rico -FileChooser.directoryDescriptionText=Diret\u00f3rio +FileChooser.fileDescriptionText=Arquivo Gen\u00E9rico +FileChooser.directoryDescriptionText=Diret\u00F3rio FileChooser.newFolderErrorText=Erro ao criar nova pasta FileChooser.newFolderErrorSeparator= : -FileChooser.acceptAllFileFilterText=Todos os arquivos +FileChooser.newFolderParentDoesntExistTitleText=N\u00E3o \u00E9 poss\u00EDvel criar a pasta +FileChooser.newFolderParentDoesntExistText=N\u00E3o \u00E9 poss\u00EDvel criar a pasta.\n\nO sistema n\u00E3o pode localizar o caminho especificado. +FileChooser.renameErrorTitleText=Erro ao Renomear o Arquivo ou a Pasta +FileChooser.renameErrorText=N\u00E3o \u00E9 poss\u00EDvel renomear {0} +FileChooser.renameErrorFileExistsText=N\u00E3o \u00E9 poss\u00EDvel renomear {0}: Um arquivo com o nome especificado j\u00E1 existe. Especifique outro nome de arquivo. +FileChooser.acceptAllFileFilterText=Todos os Arquivos FileChooser.cancelButtonText=Cancelar FileChooser.cancelButtonMnemonic=67 FileChooser.saveButtonText=Salvar @@ -71,19 +76,19 @@ FileChooser.fileSizeMegaBytes={0} MB FileChooser.fileSizeGigaBytes={0} GB # These strings are platform dependent not look and feel dependent. -FileChooser.win32.newFolder=Nova pasta -FileChooser.win32.newFolder.subsequent=Nova pasta ({0}) +FileChooser.win32.newFolder=Nova Pasta +FileChooser.win32.newFolder.subsequent=Nova Pasta ({0}) FileChooser.other.newFolder=NewFolder FileChooser.other.newFolder.subsequent=NewFolder.{0} ## file chooser tooltips ### -FileChooser.cancelButtonToolTipText=Anular caixa de di\u00e1logo do seletor de arquivos +FileChooser.cancelButtonToolTipText=Abortar caixa de di\u00E1logo do seletor de arquivos FileChooser.saveButtonToolTipText=Salvar arquivo selecionado FileChooser.openButtonToolTipText=Abrir arquivo selecionado -FileChooser.updateButtonToolTipText=Atualizar lista de diret\u00f3rios +FileChooser.updateButtonToolTipText=Atualizar lista de diret\u00F3rios FileChooser.helpButtonToolTipText=Ajuda do FileChooser -FileChooser.directoryOpenButtonToolTipText=Abrir diret\u00f3rio selecionado +FileChooser.directoryOpenButtonToolTipText=Abrir diret\u00F3rio selecionado ############ COLOR CHOOSER STRINGS ############# ColorChooser.previewText=Visualizar @@ -92,33 +97,44 @@ ColorChooser.cancelText=Cancelar ColorChooser.resetText=Redefinir # VK_XXX constant for 'ColorChooser.resetText' button to make mnemonic ColorChooser.resetMnemonic=82 -ColorChooser.sampleText=Texto de amostra Texto de amostra +ColorChooser.sampleText=Texto de Amostra Texto de Amostra ColorChooser.swatchesNameText=Amostras ColorChooser.swatchesMnemonic=83 -ColorChooser.swatchesDisplayedMnemonicIndex=0 ColorChooser.swatchesRecentText=Recente: -ColorChooser.hsbNameText=HSB # Each of the ColorChooser types can define a mnemonic, as a KeyEvent.VK_XXX # constant, and an index into the text to render the mnemonic as. The # mnemonic is xxxMnemonic and the index of the character to underline is # xxxDisplayedMnemonicIndex. -ColorChooser.hsbMnemonic=72 -ColorChooser.hsbDisplayedMnemonicIndex=0 -ColorChooser.hsbHueText=H -ColorChooser.hsbSaturationText=S -ColorChooser.hsbBrightnessText=B -ColorChooser.hsbRedText=R -ColorChooser.hsbGreenText=G -ColorChooser.hsbBlueText=B +ColorChooser.hsvNameText=HSV +ColorChooser.hsvMnemonic=72 +ColorChooser.hsvHueText=Matiz +ColorChooser.hsvSaturationText=Satura\u00E7\u00E3o +ColorChooser.hsvValueText=Valor +ColorChooser.hsvTransparencyText=Transpar\u00EAncia +ColorChooser.hslNameText=HSL +ColorChooser.hslMnemonic=76 +ColorChooser.hslHueText=Matiz +ColorChooser.hslSaturationText=Satura\u00E7\u00E3o +ColorChooser.hslLightnessText=Clareza +ColorChooser.hslTransparencyText=Transpar\u00EAncia ColorChooser.rgbNameText=RGB ColorChooser.rgbMnemonic=71 -ColorChooser.rgbDisplayedMnemonicIndex=1 ColorChooser.rgbRedText=Vermelho ColorChooser.rgbRedMnemonic=68 ColorChooser.rgbGreenText=Verde ColorChooser.rgbGreenMnemonic=78 ColorChooser.rgbBlueText=Azul ColorChooser.rgbBlueMnemonic=66 +ColorChooser.rgbAlphaText=Alfa +ColorChooser.rgbHexCodeText=C\u00F3digo da Cor +ColorChooser.rgbHexCodeMnemonic=67 +ColorChooser.cmykNameText=CMYK +ColorChooser.cmykMnemonic=77 +ColorChooser.cmykCyanText=Ciano +ColorChooser.cmykMagentaText=Magenta +ColorChooser.cmykYellowText=Amarelo +ColorChooser.cmykBlackText=Preto +ColorChooser.cmykAlphaText=Alfa ############ OPTION PANE STRINGS ############# # Mnemonic keys correspond to KeyEvent.VK_XXX constant @@ -126,13 +142,13 @@ ColorChooser.rgbBlueMnemonic=66 # define mnemonics for any of the buttons. OptionPane.yesButtonText=Sim OptionPane.yesButtonMnemonic=89 -OptionPane.noButtonText=N\u00e3o +OptionPane.noButtonText=N\u00E3o OptionPane.noButtonMnemonic=78 OptionPane.okButtonText=OK OptionPane.okButtonMnemonic=0 OptionPane.cancelButtonText=Cancelar OptionPane.cancelButtonMnemonic=0 -OptionPane.titleText=Selecionar uma op\u00e7\u00e3o +OptionPane.titleText=Selecionar uma Op\u00E7\u00E3o # Title for the dialog for the showInputDialog methods. Only used if # the developer uses one of the variants that doesn't take a title. OptionPane.inputDialogTitle=Entrada @@ -141,21 +157,21 @@ OptionPane.inputDialogTitle=Entrada OptionPane.messageDialogTitle=Mensagem ############ Printing Dialog Strings ############ -PrintingDialog.titleProgressText=Impress\u00e3o -PrintingDialog.titleAbortingText=Impress\u00e3o (Anulando) +PrintingDialog.titleProgressText=Impress\u00E3o +PrintingDialog.titleAbortingText=Impress\u00E3o (Abortando) -PrintingDialog.contentInitialText=Impress\u00e3o em andamento... +PrintingDialog.contentInitialText=Impress\u00E3o em andamento... # The following string will be formatted by a MessageFormat # and {0} will be replaced by page number being printed -PrintingDialog.contentProgressText=P\u00e1gina imprimida {0}... +PrintingDialog.contentProgressText=P\u00E1gina impressa {0}... -PrintingDialog.contentAbortingText=Anulando impress\u00e3o... +PrintingDialog.contentAbortingText=Abortando impress\u00E3o... -PrintingDialog.abortButtonText=Anular +PrintingDialog.abortButtonText=Abortar PrintingDialog.abortButtonMnemonic=65 PrintingDialog.abortButtonDisplayedMnemonicIndex=0 -PrintingDialog.abortButtonToolTipText=Anular impress\u00e3o +PrintingDialog.abortButtonToolTipText=Abortar Impress\u00E3o ############ Internal Frame Strings ############ InternalFrame.iconButtonToolTip=Minimizar @@ -173,14 +189,14 @@ InternalFrameTitlePane.closeButtonText=Fechar ############ Text strings ############# # Used for html forms -FormView.submitButtonText=Enviar consulta +FormView.submitButtonText=Submeter Consulta FormView.resetButtonText=Redefinir -FormView.browseFileButtonText=Explorar... +FormView.browseFileButtonText=Procurar... ############ Abstract Document Strings ############ -AbstractDocument.styleChangeText=altera\u00e7\u00e3o de estilo -AbstractDocument.additionText=adi\u00e7\u00e3o -AbstractDocument.deletionText=exclus\u00e3o +AbstractDocument.styleChangeText=altera\u00E7\u00E3o de estilo +AbstractDocument.additionText=adi\u00E7\u00E3o +AbstractDocument.deletionText=dele\u00E7\u00E3o AbstractDocument.undoText=Desfazer AbstractDocument.redoText=Refazer @@ -198,12 +214,12 @@ ComboBox.togglePopupText=togglePopup ProgressMonitor.progressText=Progresso... ############ Split Pane Strings ############ -SplitPane.leftButtonText=bot\u00e3o esquerdo -SplitPane.rightButtonText=bot\u00e3o direito +SplitPane.leftButtonText=bot\u00E3o esquerdo +SplitPane.rightButtonText=bot\u00E3o direito # Used for Isindex -IsindexView.prompt=Trata-se de um \u00edndice pesquis\u00e1vel. Insira as palavras-chave de pesquisa: +IsindexView.prompt=Trata-se de um \u00EDndice pesquis\u00E1vel. Informe as palavras-chave de pesquisa: ############ InternalFrameTitlePane Strings ############ -InternalFrameTitlePane.iconifyButtonAccessibleName=Iconificar +InternalFrameTitlePane.iconifyButtonAccessibleName=Iconify InternalFrameTitlePane.maximizeButtonAccessibleName=Maximizar InternalFrameTitlePane.closeButtonAccessibleName=Fechar diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties index 01e9b9bc5f8..94cc0e4165b 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties @@ -47,28 +47,28 @@ ############ FILE CHOOSER STRINGS ############# FileChooser.fileDescriptionText=Generisk fil FileChooser.directoryDescriptionText=Katalog -FileChooser.newFolderErrorText=Fel d\u00e5 ny mapp skapades +FileChooser.newFolderErrorText=Fel uppstod n\u00E4r ny mapp skapades FileChooser.newFolderErrorSeparator= : -FileChooser.newFolderParentDoesntExistTitleText=Det gick inte att skapa mappen -FileChooser.newFolderParentDoesntExistText=Det gick inte att skapa mappen.\n\nSystemet hittade inte den angivna s\u00f6kv\u00e4gen. -FileChooser.renameErrorTitleText=Det gick inte att byta namn p\u00e5 filen eller mappen -FileChooser.renameErrorText=Det gick inte byta namn p\u00e5 {0} -FileChooser.renameErrorFileExistsText=Det gick inte byta namn p\u00e5 {0}: Det finns redan en fil med det namnet. Ge den ett annat namn. +FileChooser.newFolderParentDoesntExistTitleText=Kan inte skapa mappen +FileChooser.newFolderParentDoesntExistText=Kan inte skapa mappen.\n\nSystemet kan inte hitta angiven s\u00F6kv\u00E4g. +FileChooser.renameErrorTitleText=Ett fel intr\u00E4ffade vid f\u00F6rs\u00F6k att \u00E4ndra namn p\u00E5 fil eller mapp +FileChooser.renameErrorText=Kan inte namn\u00E4ndra {0} +FileChooser.renameErrorFileExistsText=Kan inte namn\u00E4ndra {0}: En fil med angivet namn finns redan. Ange ett annat filnamn. FileChooser.acceptAllFileFilterText=Alla filer FileChooser.cancelButtonText=Avbryt -FileChooser.cancelButtonMnemonic=65 +FileChooser.cancelButtonMnemonic=67 FileChooser.saveButtonText=Spara FileChooser.saveButtonMnemonic=83 -FileChooser.openButtonText=\u00d6ppna -FileChooser.openButtonMnemonic=78 +FileChooser.openButtonText=\u00D6ppna +FileChooser.openButtonMnemonic=79 FileChooser.saveDialogTitleText=Spara -FileChooser.openDialogTitleText=\u00d6ppna +FileChooser.openDialogTitleText=\u00D6ppna FileChooser.updateButtonText=Uppdatera FileChooser.updateButtonMnemonic=85 -FileChooser.helpButtonText=Hj\u00e4lp +FileChooser.helpButtonText=Hj\u00E4lp FileChooser.helpButtonMnemonic=72 -FileChooser.directoryOpenButtonText=\u00d6ppna -FileChooser.directoryOpenButtonMnemonic=80 +FileChooser.directoryOpenButtonText=\u00D6ppna +FileChooser.directoryOpenButtonMnemonic=79 # File Size Units FileChooser.fileSizeKiloBytes={0} KB @@ -84,53 +84,53 @@ FileChooser.other.newFolder.subsequent=Ny mapp.{0} ## file chooser tooltips ### FileChooser.cancelButtonToolTipText=Avbryt filvalsdialogruta -FileChooser.saveButtonToolTipText=Spara markerad fil -FileChooser.openButtonToolTipText=\u00d6ppna markerad fil +FileChooser.saveButtonToolTipText=Spara vald fil +FileChooser.openButtonToolTipText=\u00D6ppna vald fil FileChooser.updateButtonToolTipText=Uppdatera kataloglistan -FileChooser.helpButtonToolTipText=Hj\u00e4lp - Filv\u00e4ljare -FileChooser.directoryOpenButtonToolTipText=\u00d6ppnar den markerade katalogen +FileChooser.helpButtonToolTipText=Hj\u00E4lp - Filv\u00E4ljare +FileChooser.directoryOpenButtonToolTipText=\u00D6ppna vald katalog ############ COLOR CHOOSER STRINGS ############# ColorChooser.previewText=Granska ColorChooser.okText=OK ColorChooser.cancelText=Avbryt -ColorChooser.resetText=\u00c5terst\u00e4ll +ColorChooser.resetText=\u00C5terst\u00E4ll # VK_XXX constant for 'ColorChooser.resetText' button to make mnemonic -ColorChooser.resetMnemonic=84 +ColorChooser.resetMnemonic=82 ColorChooser.sampleText=Exempeltext Exempeltext ColorChooser.swatchesNameText=Prov -ColorChooser.swatchesMnemonic=80 -ColorChooser.swatchesRecentText=Tidigare: +ColorChooser.swatchesMnemonic=83 +ColorChooser.swatchesRecentText=Senaste: # Each of the ColorChooser types can define a mnemonic, as a KeyEvent.VK_XXX # constant, and an index into the text to render the mnemonic as. The # mnemonic is xxxMnemonic and the index of the character to underline is # xxxDisplayedMnemonicIndex. -ColorChooser.hsvNameText=NMI +ColorChooser.hsvNameText=HSV ColorChooser.hsvMnemonic=72 ColorChooser.hsvHueText=Nyans -ColorChooser.hsvSaturationText=M\u00e4ttnad -ColorChooser.hsvValueText=V\u00e4rde -ColorChooser.hsvTransparencyText=Genomskinlighet +ColorChooser.hsvSaturationText=M\u00E4ttnad +ColorChooser.hsvValueText=V\u00E4rde +ColorChooser.hsvTransparencyText=Transparens ColorChooser.hslNameText=HSL ColorChooser.hslMnemonic=76 ColorChooser.hslHueText=Nyans -ColorChooser.hslSaturationText=M\u00e4ttnad +ColorChooser.hslSaturationText=M\u00E4ttnad ColorChooser.hslLightnessText=Ljusstyrka -ColorChooser.hslTransparencyText=Genomskinlighet +ColorChooser.hslTransparencyText=Transparens ColorChooser.rgbNameText=RGB ColorChooser.rgbMnemonic=71 -ColorChooser.rgbRedText=R\u00f6d -ColorChooser.rgbRedMnemonic=82 -ColorChooser.rgbGreenText=Gr\u00f6n -ColorChooser.rgbGreenMnemonic=71 -ColorChooser.rgbBlueText=Bl\u00e5 +ColorChooser.rgbRedText=R\u00F6d +ColorChooser.rgbRedMnemonic=68 +ColorChooser.rgbGreenText=Gr\u00F6n +ColorChooser.rgbGreenMnemonic=78 +ColorChooser.rgbBlueText=Bl\u00E5 ColorChooser.rgbBlueMnemonic=66 ColorChooser.rgbAlphaText=Alfa -ColorChooser.rgbHexCodeText=F\u00e4rgkod +ColorChooser.rgbHexCodeText=F\u00E4rgkod ColorChooser.rgbHexCodeMnemonic=67 ColorChooser.cmykNameText=CMYK ColorChooser.cmykMnemonic=77 -ColorChooser.cmykCyanText=Cyanbl\u00e5 +ColorChooser.cmykCyanText=Cyan ColorChooser.cmykMagentaText=Magenta ColorChooser.cmykYellowText=Gul ColorChooser.cmykBlackText=Svart @@ -141,14 +141,14 @@ ColorChooser.cmykAlphaText=Alfa # We only define mnemonics for YES/NO, but for completeness you can # define mnemonics for any of the buttons. OptionPane.yesButtonText=Ja -OptionPane.yesButtonMnemonic=74 +OptionPane.yesButtonMnemonic=89 OptionPane.noButtonText=Nej OptionPane.noButtonMnemonic=78 OptionPane.okButtonText=OK OptionPane.okButtonMnemonic=0 OptionPane.cancelButtonText=Avbryt OptionPane.cancelButtonMnemonic=0 -OptionPane.titleText=V\u00e4lj ett alternativ +OptionPane.titleText=V\u00E4lj ett alternativ # Title for the dialog for the showInputDialog methods. Only used if # the developer uses one of the variants that doesn't take a title. OptionPane.inputDialogTitle=Indata @@ -160,7 +160,7 @@ OptionPane.messageDialogTitle=Meddelande PrintingDialog.titleProgressText=Skriver ut PrintingDialog.titleAbortingText=Skriver ut (avbryter) -PrintingDialog.contentInitialText=Utskrift p\u00e5g\u00e5r... +PrintingDialog.contentInitialText=Utskrift p\u00E5g\u00E5r... # The following string will be formatted by a MessageFormat # and {0} will be replaced by page number being printed @@ -176,50 +176,50 @@ PrintingDialog.abortButtonToolTipText=Avbryt utskrift ############ Internal Frame Strings ############ InternalFrame.iconButtonToolTip=Minimera InternalFrame.maxButtonToolTip=Maximera -InternalFrame.restoreButtonToolTip=\u00c5terst\u00e4ll -InternalFrame.closeButtonToolTip=St\u00e4ng +InternalFrame.restoreButtonToolTip=\u00C5terst\u00E4ll +InternalFrame.closeButtonToolTip=St\u00E4ng ############ Internal Frame Title Pane Strings ############ -InternalFrameTitlePane.restoreButtonText=\u00c5terst\u00e4ll +InternalFrameTitlePane.restoreButtonText=\u00C5terst\u00E4ll InternalFrameTitlePane.moveButtonText=Flytta InternalFrameTitlePane.sizeButtonText=Storlek InternalFrameTitlePane.minimizeButtonText=Minimera InternalFrameTitlePane.maximizeButtonText=Maximera -InternalFrameTitlePane.closeButtonText=St\u00e4ng +InternalFrameTitlePane.closeButtonText=St\u00E4ng ############ Text strings ############# # Used for html forms -FormView.submitButtonText=Skicka fr\u00e5ga -FormView.resetButtonText=\u00c5terst\u00e4ll -FormView.browseFileButtonText=Bl\u00e4ddra... +FormView.submitButtonText=Skicka fr\u00E5ga +FormView.resetButtonText=\u00C5terst\u00E4ll +FormView.browseFileButtonText=Bl\u00E4ddra... ############ Abstract Document Strings ############ -AbstractDocument.styleChangeText=snittbyte -AbstractDocument.additionText=till\u00e4gg -AbstractDocument.deletionText=radering -AbstractDocument.undoText=\u00c5ngra -AbstractDocument.redoText=G\u00f6r om +AbstractDocument.styleChangeText=format\u00E4ndring +AbstractDocument.additionText=till\u00E4gg +AbstractDocument.deletionText=borttagning +AbstractDocument.undoText=\u00C5ngra +AbstractDocument.redoText=G\u00F6r om ############ Abstract Button Strings ############ AbstractButton.clickText=klicka ############ Abstract Undoable Edit Strings ############ -AbstractUndoableEdit.undoText=\u00c5ngra -AbstractUndoableEdit.redoText=G\u00f6r om +AbstractUndoableEdit.undoText=\u00C5ngra +AbstractUndoableEdit.redoText=G\u00F6r om ############ Combo Box Strings ############ -ComboBox.togglePopupText=v\u00e4xlaPopup +ComboBox.togglePopupText=v\u00E4xlaPopup ############ Progress Monitor Strings ############ -ProgressMonitor.progressText=Status... +ProgressMonitor.progressText=P\u00E5g\u00E5r... ############ Split Pane Strings ############ -SplitPane.leftButtonText=v\u00e4nster knapp -SplitPane.rightButtonText=h\u00f6ger knapp +SplitPane.leftButtonText=v\u00E4nster knapp +SplitPane.rightButtonText=h\u00F6ger knapp # Used for Isindex -IsindexView.prompt=Detta \u00e4r ett s\u00f6kbart index. Ange nyckelord f\u00f6r s\u00f6kningen: +IsindexView.prompt=Detta \u00E4r ett s\u00F6kbart index. Ange s\u00F6kord: ############ InternalFrameTitlePane Strings ############ InternalFrameTitlePane.iconifyButtonAccessibleName=Minimera InternalFrameTitlePane.maximizeButtonAccessibleName=Maximera -InternalFrameTitlePane.closeButtonAccessibleName=St\u00e4ng +InternalFrameTitlePane.closeButtonAccessibleName=St\u00E4ng diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties index b31c33d2cbd..ea84c7e2f7d 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties @@ -45,29 +45,29 @@ # @author Steve Wilson ############ FILE CHOOSER STRINGS ############# -FileChooser.fileDescriptionText=\u666e\u901a\u7684\u6587\u4ef6 -FileChooser.directoryDescriptionText=\u76ee\u5f55 -FileChooser.newFolderErrorText=\u521b\u5efa\u65b0\u7684\u6587\u4ef6\u5939\u65f6\u53d1\u751f\u9519\u8bef +FileChooser.fileDescriptionText=\u666E\u901A\u7684\u6587\u4EF6 +FileChooser.directoryDescriptionText=\u76EE\u5F55 +FileChooser.newFolderErrorText=\u521B\u5EFA\u65B0\u7684\u6587\u4EF6\u5939\u65F6\u51FA\u9519 FileChooser.newFolderErrorSeparator= : -FileChooser.newFolderParentDoesntExistTitleText=\u65e0\u6cd5\u521b\u5efa\u6587\u4ef6\u5939 -FileChooser.newFolderParentDoesntExistText=\u65e0\u6cd5\u521b\u5efa\u6587\u4ef6\u5939\u3002\n\n\u7cfb\u7edf\u65e0\u6cd5\u627e\u5230\u6307\u5b9a\u7684\u8def\u5f84\u3002 -FileChooser.renameErrorTitleText=\u91cd\u547d\u540d\u6587\u4ef6\u6216\u6587\u4ef6\u5939\u65f6\u51fa\u9519 -FileChooser.renameErrorText=\u65e0\u6cd5\u91cd\u547d\u540d {0} -FileChooser.renameErrorFileExistsText=\u65e0\u6cd5\u91cd\u547d\u540d {0}\uff1a\u5df2\u5b58\u5728\u5177\u6709\u6307\u5b9a\u540d\u79f0\u7684\u6587\u4ef6\u3002\u8bf7\u6307\u5b9a\u53e6\u4e00\u6587\u4ef6\u540d\u3002 -FileChooser.acceptAllFileFilterText=\u6240\u6709\u6587\u4ef6 -FileChooser.cancelButtonText=\u53d6\u6d88 +FileChooser.newFolderParentDoesntExistTitleText=\u65E0\u6CD5\u521B\u5EFA\u6587\u4EF6\u5939 +FileChooser.newFolderParentDoesntExistText=\u65E0\u6CD5\u521B\u5EFA\u6587\u4EF6\u5939\u3002\n\n\u7CFB\u7EDF\u627E\u4E0D\u5230\u6307\u5B9A\u7684\u8DEF\u5F84\u3002 +FileChooser.renameErrorTitleText=\u91CD\u547D\u540D\u6587\u4EF6\u6216\u6587\u4EF6\u5939\u65F6\u51FA\u9519 +FileChooser.renameErrorText=\u65E0\u6CD5\u91CD\u547D\u540D{0} +FileChooser.renameErrorFileExistsText=\u65E0\u6CD5\u91CD\u547D\u540D{0}: \u5DF2\u5B58\u5728\u5177\u6709\u6240\u6307\u5B9A\u540D\u79F0\u7684\u6587\u4EF6\u3002\u8BF7\u6307\u5B9A\u5176\u4ED6\u6587\u4EF6\u540D\u3002 +FileChooser.acceptAllFileFilterText=\u6240\u6709\u6587\u4EF6 +FileChooser.cancelButtonText=\u53D6\u6D88 FileChooser.cancelButtonMnemonic=67 -FileChooser.saveButtonText=\u4fdd\u5b58 +FileChooser.saveButtonText=\u4FDD\u5B58 FileChooser.saveButtonMnemonic=83 -FileChooser.openButtonText=\u6253\u5f00 +FileChooser.openButtonText=\u6253\u5F00 FileChooser.openButtonMnemonic=79 -FileChooser.saveDialogTitleText=\u4fdd\u5b58 -FileChooser.openDialogTitleText=\u6253\u5f00 -FileChooser.updateButtonText=\u66f4\u65b0(U) +FileChooser.saveDialogTitleText=\u4FDD\u5B58 +FileChooser.openDialogTitleText=\u6253\u5F00 +FileChooser.updateButtonText=\u66F4\u65B0 FileChooser.updateButtonMnemonic=85 -FileChooser.helpButtonText=\u5e2e\u52a9(H) +FileChooser.helpButtonText=\u5E2E\u52A9 FileChooser.helpButtonMnemonic=72 -FileChooser.directoryOpenButtonText=\u6253\u5f00 +FileChooser.directoryOpenButtonText=\u6253\u5F00 FileChooser.directoryOpenButtonMnemonic=79 # File Size Units @@ -76,150 +76,150 @@ FileChooser.fileSizeMegaBytes={0} MB FileChooser.fileSizeGigaBytes={0} GB # These strings are platform dependent not look and feel dependent. -FileChooser.win32.newFolder=\u65b0\u5efa\u6587\u4ef6\u5939 -FileChooser.win32.newFolder.subsequent=\u65b0\u5efa\u6587\u4ef6\u5939 ({0}) -FileChooser.other.newFolder=\u65b0\u5efa\u6587\u4ef6\u5939 -FileChooser.other.newFolder.subsequent=\u65b0\u5efa\u6587\u4ef6\u5939.{0} +FileChooser.win32.newFolder=\u65B0\u5EFA\u6587\u4EF6\u5939 +FileChooser.win32.newFolder.subsequent=\u65B0\u5EFA\u6587\u4EF6\u5939 ({0}) +FileChooser.other.newFolder=NewFolder +FileChooser.other.newFolder.subsequent=NewFolder.{0} ## file chooser tooltips ### -FileChooser.cancelButtonToolTipText=\u4e2d\u6b62\u6587\u4ef6\u9009\u62e9\u5668\u5bf9\u8bdd\u6846 -FileChooser.saveButtonToolTipText=\u4fdd\u5b58\u9009\u62e9\u7684\u6587\u4ef6 -FileChooser.openButtonToolTipText=\u6253\u5f00\u9009\u62e9\u7684\u6587\u4ef6 -FileChooser.updateButtonToolTipText=\u66f4\u65b0\u76ee\u5f55\u5217\u8868 -FileChooser.helpButtonToolTipText=\u6587\u4ef6\u9009\u62e9\u5668\u5e2e\u52a9 -FileChooser.directoryOpenButtonToolTipText=\u6253\u5f00\u9009\u62e9\u7684\u76ee\u5f55 +FileChooser.cancelButtonToolTipText=\u4E2D\u6B62\u6587\u4EF6\u9009\u62E9\u5668\u5BF9\u8BDD\u6846 +FileChooser.saveButtonToolTipText=\u4FDD\u5B58\u6240\u9009\u6587\u4EF6 +FileChooser.openButtonToolTipText=\u6253\u5F00\u6240\u9009\u6587\u4EF6 +FileChooser.updateButtonToolTipText=\u66F4\u65B0\u76EE\u5F55\u5217\u8868 +FileChooser.helpButtonToolTipText=FileChooser \u5E2E\u52A9 +FileChooser.directoryOpenButtonToolTipText=\u6253\u5F00\u9009\u62E9\u7684\u76EE\u5F55 ############ COLOR CHOOSER STRINGS ############# -ColorChooser.previewText=\u9884\u89c8 -ColorChooser.okText=\u786e\u5b9a -ColorChooser.cancelText=\u53d6\u6d88 -ColorChooser.resetText=\u91cd\u8bbe(R) +ColorChooser.previewText=\u9884\u89C8 +ColorChooser.okText=\u786E\u5B9A +ColorChooser.cancelText=\u53D6\u6D88 +ColorChooser.resetText=\u91CD\u8BBE # VK_XXX constant for 'ColorChooser.resetText' button to make mnemonic ColorChooser.resetMnemonic=82 -ColorChooser.sampleText=\u6837\u54c1\u6587\u672c \u6837\u54c1\u6587\u672c -ColorChooser.swatchesNameText=\u6837\u54c1(S) +ColorChooser.sampleText=\u793A\u4F8B\u6587\u672C \u793A\u4F8B\u6587\u672C +ColorChooser.swatchesNameText=\u793A\u4F8B ColorChooser.swatchesMnemonic=83 -ColorChooser.swatchesRecentText=\u6700\u8fd1: +ColorChooser.swatchesRecentText=\u6700\u8FD1: # Each of the ColorChooser types can define a mnemonic, as a KeyEvent.VK_XXX # constant, and an index into the text to render the mnemonic as. The # mnemonic is xxxMnemonic and the index of the character to underline is # xxxDisplayedMnemonicIndex. ColorChooser.hsvNameText=HSV ColorChooser.hsvMnemonic=72 -ColorChooser.hsvHueText=\u8272\u8c03 -ColorChooser.hsvSaturationText=\u9971\u548c -ColorChooser.hsvValueText=\u503c -ColorChooser.hsvTransparencyText=\u900f\u660e +ColorChooser.hsvHueText=\u8272\u8C03 +ColorChooser.hsvSaturationText=\u9971\u548C\u5EA6 +ColorChooser.hsvValueText=\u503C +ColorChooser.hsvTransparencyText=\u900F\u660E\u5EA6 ColorChooser.hslNameText=HSL ColorChooser.hslMnemonic=76 -ColorChooser.hslHueText=\u8272\u8c03 -ColorChooser.hslSaturationText=\u9971\u548c -ColorChooser.hslLightnessText=\u4eae\u5ea6 -ColorChooser.hslTransparencyText=\u900f\u660e +ColorChooser.hslHueText=\u8272\u8C03 +ColorChooser.hslSaturationText=\u9971\u548C\u5EA6 +ColorChooser.hslLightnessText=\u4EAE\u5EA6 +ColorChooser.hslTransparencyText=\u900F\u660E\u5EA6 ColorChooser.rgbNameText=RGB ColorChooser.rgbMnemonic=71 -ColorChooser.rgbRedText=\u7ea2 +ColorChooser.rgbRedText=\u7EA2 ColorChooser.rgbRedMnemonic=68 -ColorChooser.rgbGreenText=\u7eff +ColorChooser.rgbGreenText=\u7EFF ColorChooser.rgbGreenMnemonic=78 -ColorChooser.rgbBlueText=\u84dd +ColorChooser.rgbBlueText=\u84DD ColorChooser.rgbBlueMnemonic=66 ColorChooser.rgbAlphaText=Alpha -ColorChooser.rgbHexCodeText=\u989c\u8272\u4ee3\u7801 +ColorChooser.rgbHexCodeText=\u989C\u8272\u4EE3\u7801 ColorChooser.rgbHexCodeMnemonic=67 ColorChooser.cmykNameText=CMYK ColorChooser.cmykMnemonic=77 ColorChooser.cmykCyanText=\u9752\u8272 -ColorChooser.cmykMagentaText=\u54c1\u7ea2\u8272 -ColorChooser.cmykYellowText=\u9ec4\u8272 -ColorChooser.cmykBlackText=\u9ed1\u8272 +ColorChooser.cmykMagentaText=\u7D2B\u7EA2\u8272 +ColorChooser.cmykYellowText=\u9EC4\u8272 +ColorChooser.cmykBlackText=\u9ED1\u8272 ColorChooser.cmykAlphaText=Alpha ############ OPTION PANE STRINGS ############# # Mnemonic keys correspond to KeyEvent.VK_XXX constant # We only define mnemonics for YES/NO, but for completeness you can # define mnemonics for any of the buttons. -OptionPane.yesButtonText=\u662f(Y) +OptionPane.yesButtonText=\u662F OptionPane.yesButtonMnemonic=89 -OptionPane.noButtonText=\u5426(N) +OptionPane.noButtonText=\u5426 OptionPane.noButtonMnemonic=78 -OptionPane.okButtonText=\u786e\u5b9a +OptionPane.okButtonText=\u786E\u5B9A OptionPane.okButtonMnemonic=0 -OptionPane.cancelButtonText=\u53d6\u6d88 +OptionPane.cancelButtonText=\u53D6\u6D88 OptionPane.cancelButtonMnemonic=0 -OptionPane.titleText=\u9009\u62e9\u4e00\u4e2a\u9009\u9879 +OptionPane.titleText=\u9009\u62E9\u4E00\u4E2A\u9009\u9879 # Title for the dialog for the showInputDialog methods. Only used if # the developer uses one of the variants that doesn't take a title. -OptionPane.inputDialogTitle=\u8f93\u5165 +OptionPane.inputDialogTitle=\u8F93\u5165 # Title for the dialog for the showMessageDialog methods. Only used if # the developer uses one of the variants that doesn't take a title. -OptionPane.messageDialogTitle=\u6d88\u606f +OptionPane.messageDialogTitle=\u6D88\u606F ############ Printing Dialog Strings ############ PrintingDialog.titleProgressText=\u6253\u5370 -PrintingDialog.titleAbortingText=\u6253\u5370 (\u6b63\u5728\u7ec8\u6b62) +PrintingDialog.titleAbortingText=\u6253\u5370 (\u6B63\u5728\u4E2D\u6B62) -PrintingDialog.contentInitialText=\u6b63\u5728\u8fdb\u884c\u6253\u5370... +PrintingDialog.contentInitialText=\u6B63\u5728\u8FDB\u884C\u6253\u5370... # The following string will be formatted by a MessageFormat # and {0} will be replaced by page number being printed -PrintingDialog.contentProgressText=\u5df2\u6253\u5370\u9875 {0}... +PrintingDialog.contentProgressText=\u5DF2\u6253\u5370\u9875 {0}... -PrintingDialog.contentAbortingText=\u6b63\u5728\u7ec8\u6b62\u6253\u5370... +PrintingDialog.contentAbortingText=\u6B63\u5728\u4E2D\u6B62\u6253\u5370... -PrintingDialog.abortButtonText=\u7ec8\u6b62(A) +PrintingDialog.abortButtonText=\u4E2D\u6B62 PrintingDialog.abortButtonMnemonic=65 -PrintingDialog.abortButtonDisplayedMnemonicIndex=3 -PrintingDialog.abortButtonToolTipText=\u7ec8\u6b62\u6253\u5370 +PrintingDialog.abortButtonDisplayedMnemonicIndex=0 +PrintingDialog.abortButtonToolTipText=\u4E2D\u6B62\u6253\u5370 ############ Internal Frame Strings ############ -InternalFrame.iconButtonToolTip=\u6700\u5c0f\u5316 +InternalFrame.iconButtonToolTip=\u6700\u5C0F\u5316 InternalFrame.maxButtonToolTip=\u6700\u5927\u5316 -InternalFrame.restoreButtonToolTip=\u6062\u590d -InternalFrame.closeButtonToolTip=\u5173\u95ed +InternalFrame.restoreButtonToolTip=\u8FD8\u539F +InternalFrame.closeButtonToolTip=\u5173\u95ED ############ Internal Frame Title Pane Strings ############ -InternalFrameTitlePane.restoreButtonText=\u6062\u590d -InternalFrameTitlePane.moveButtonText=\u79fb\u52a8 -InternalFrameTitlePane.sizeButtonText=\u5927\u5c0f -InternalFrameTitlePane.minimizeButtonText=\u6700\u5c0f\u5316 +InternalFrameTitlePane.restoreButtonText=\u8FD8\u539F +InternalFrameTitlePane.moveButtonText=\u79FB\u52A8 +InternalFrameTitlePane.sizeButtonText=\u5927\u5C0F +InternalFrameTitlePane.minimizeButtonText=\u6700\u5C0F\u5316 InternalFrameTitlePane.maximizeButtonText=\u6700\u5927\u5316 -InternalFrameTitlePane.closeButtonText=\u5173\u95ed +InternalFrameTitlePane.closeButtonText=\u5173\u95ED ############ Text strings ############# # Used for html forms -FormView.submitButtonText=\u63d0\u4ea4\u67e5\u8be2 -FormView.resetButtonText=\u91cd\u8bbe -FormView.browseFileButtonText=\u6d4f\u89c8... +FormView.submitButtonText=\u63D0\u4EA4\u67E5\u8BE2 +FormView.resetButtonText=\u91CD\u8BBE +FormView.browseFileButtonText=\u6D4F\u89C8... ############ Abstract Document Strings ############ -AbstractDocument.styleChangeText=\u98ce\u683c\u53d8\u5316 -AbstractDocument.additionText=\u589e\u52a0 +AbstractDocument.styleChangeText=\u6837\u5F0F\u66F4\u6539 +AbstractDocument.additionText=\u6DFB\u52A0 AbstractDocument.deletionText=\u5220\u9664 -AbstractDocument.undoText=\u64a4\u6d88 -AbstractDocument.redoText=\u91cd\u505a +AbstractDocument.undoText=\u64A4\u6D88 +AbstractDocument.redoText=\u91CD\u505A ############ Abstract Button Strings ############ -AbstractButton.clickText=\u5355\u51fb +AbstractButton.clickText=\u5355\u51FB ############ Abstract Undoable Edit Strings ############ -AbstractUndoableEdit.undoText=\u64a4\u6d88 -AbstractUndoableEdit.redoText=\u91cd\u505a +AbstractUndoableEdit.undoText=\u64A4\u6D88 +AbstractUndoableEdit.redoText=\u91CD\u505A ############ Combo Box Strings ############ -ComboBox.togglePopupText=\u5207\u6362\u952e\u5f39\u51fa +ComboBox.togglePopupText=togglePopup ############ Progress Monitor Strings ############ -ProgressMonitor.progressText=\u8fdb\u5ea6... +ProgressMonitor.progressText=\u8FDB\u5EA6... ############ Split Pane Strings ############ -SplitPane.leftButtonText=\u5de6\u952e -SplitPane.rightButtonText=\u53f3\u952e +SplitPane.leftButtonText=\u5DE6\u952E +SplitPane.rightButtonText=\u53F3\u952E # Used for Isindex -IsindexView.prompt=\u8fd9\u662f\u53ef\u641c\u7d22\u7d22\u5f15\u3002\u8bf7\u952e\u5165\u5173\u952e\u8bcd\uff1a +IsindexView.prompt=\u8FD9\u662F\u53EF\u641C\u7D22\u7D22\u5F15\u3002\u8BF7\u8F93\u5165\u641C\u7D22\u5173\u952E\u5B57: ############ InternalFrameTitlePane Strings ############ -InternalFrameTitlePane.iconifyButtonAccessibleName=\u56fe\u6807\u5316 +InternalFrameTitlePane.iconifyButtonAccessibleName=\u56FE\u6807\u5316 InternalFrameTitlePane.maximizeButtonAccessibleName=\u6700\u5927\u5316 -InternalFrameTitlePane.closeButtonAccessibleName=\u5173\u95ed +InternalFrameTitlePane.closeButtonAccessibleName=\u5173\u95ED diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties index 68b14ad1f78..d0647586b98 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties @@ -45,29 +45,29 @@ # @author Steve Wilson ############ FILE CHOOSER STRINGS ############# -FileChooser.fileDescriptionText=\u4e00\u822c\u6a94\u6848 -FileChooser.directoryDescriptionText=\u76ee\u9304 -FileChooser.newFolderErrorText=\u5efa\u7acb\u65b0\u6a94\u6848\u593e\u6642\u767c\u751f\u932f\u8aa4 +FileChooser.fileDescriptionText=\u4E00\u822C\u6A94\u6848 +FileChooser.directoryDescriptionText=\u76EE\u9304 +FileChooser.newFolderErrorText=\u5EFA\u7ACB\u65B0\u8CC7\u6599\u593E\u6642\u767C\u751F\u932F\u8AA4 FileChooser.newFolderErrorSeparator= : -FileChooser.newFolderParentDoesntExistTitleText=\u7121\u6cd5\u5efa\u7acb\u8cc7\u6599\u593e -FileChooser.newFolderParentDoesntExistText=\u7121\u6cd5\u5efa\u7acb\u8cc7\u6599\u593e\u3002\n\n\u7cfb\u7d71\u627e\u4e0d\u5230\u6240\u6307\u5b9a\u7684\u8def\u5f91\u3002 -FileChooser.renameErrorTitleText=\u91cd\u65b0\u547d\u540d\u6a94\u6848\u6216\u8cc7\u6599\u593e\u6642\u767c\u751f\u932f\u8aa4 -FileChooser.renameErrorText=\u7121\u6cd5\u91cd\u65b0\u547d\u540d {0} -FileChooser.renameErrorFileExistsText=\u7121\u6cd5\u91cd\u65b0\u547d\u540d {0}\uff1a\u60a8\u6307\u5b9a\u4e4b\u540d\u7a31\u7684\u6a94\u6848\u5df2\u5b58\u5728\u3002\u6307\u5b9a\u4e0d\u540c\u7684\u6a94\u6848\u540d\u7a31\u3002 -FileChooser.acceptAllFileFilterText=\u6240\u6709\u6a94\u6848 -FileChooser.cancelButtonText=\u53d6\u6d88 +FileChooser.newFolderParentDoesntExistTitleText=\u7121\u6CD5\u5EFA\u7ACB\u8CC7\u6599\u593E +FileChooser.newFolderParentDoesntExistText=\u7121\u6CD5\u5EFA\u7ACB\u8CC7\u6599\u593E\u3002\n\n\u7CFB\u7D71\u627E\u4E0D\u5230\u6307\u5B9A\u7684\u8DEF\u5F91\u3002 +FileChooser.renameErrorTitleText=\u91CD\u65B0\u547D\u540D\u6A94\u6848\u6216\u8CC7\u6599\u593E\u6642\u767C\u751F\u932F\u8AA4\u3002 +FileChooser.renameErrorText=\u7121\u6CD5\u91CD\u65B0\u547D\u540D {0} +FileChooser.renameErrorFileExistsText=\u7121\u6CD5\u91CD\u65B0\u547D\u540D {0}: \u5DF2\u7D93\u5B58\u5728\u60A8\u6240\u6307\u5B9A\u540D\u7A31\u7684\u6A94\u6848\u3002\u8ACB\u6307\u5B9A\u4E0D\u540C\u7684\u540D\u7A31\u3002 +FileChooser.acceptAllFileFilterText=\u6240\u6709\u6A94\u6848 +FileChooser.cancelButtonText=\u53D6\u6D88 FileChooser.cancelButtonMnemonic=67 -FileChooser.saveButtonText=\u5132\u5b58 +FileChooser.saveButtonText=\u5132\u5B58 FileChooser.saveButtonMnemonic=83 -FileChooser.openButtonText=\u958b\u555f +FileChooser.openButtonText=\u958B\u555F FileChooser.openButtonMnemonic=79 -FileChooser.saveDialogTitleText=\u5132\u5b58 -FileChooser.openDialogTitleText=\u958b\u555f -FileChooser.updateButtonText=\u66f4\u65b0(U) +FileChooser.saveDialogTitleText=\u5132\u5B58 +FileChooser.openDialogTitleText=\u958B\u555F +FileChooser.updateButtonText=\u66F4\u65B0 FileChooser.updateButtonMnemonic=85 -FileChooser.helpButtonText=\u8aaa\u660e(H) +FileChooser.helpButtonText=\u8AAA\u660E FileChooser.helpButtonMnemonic=72 -FileChooser.directoryOpenButtonText=\u958b\u555f +FileChooser.directoryOpenButtonText=\u958B\u555F FileChooser.directoryOpenButtonMnemonic=79 # File Size Units @@ -76,150 +76,150 @@ FileChooser.fileSizeMegaBytes={0} MB FileChooser.fileSizeGigaBytes={0} GB # These strings are platform dependent not look and feel dependent. -FileChooser.win32.newFolder=\u65b0\u8cc7\u6599\u593e -FileChooser.win32.newFolder.subsequent=\u65b0\u8cc7\u6599\u593e ({0}) -FileChooser.other.newFolder=\u65b0\u8cc7\u6599\u593e -FileChooser.other.newFolder.subsequent=\u65b0\u8cc7\u6599\u593e.{0} +FileChooser.win32.newFolder=\u65B0\u8CC7\u6599\u593E +FileChooser.win32.newFolder.subsequent=\u65B0\u8CC7\u6599\u593E ({0}) +FileChooser.other.newFolder=\u65B0\u8CC7\u6599\u593E +FileChooser.other.newFolder.subsequent=\u65B0\u8CC7\u6599\u593E.{0} ## file chooser tooltips ### -FileChooser.cancelButtonToolTipText=\u4e2d\u65b7\u300c\u6a94\u6848\u9078\u64c7\u5668\u300d\u5c0d\u8a71\u65b9\u584a -FileChooser.saveButtonToolTipText=\u5132\u5b58\u9078\u53d6\u7684\u6a94\u6848 -FileChooser.openButtonToolTipText=\u958b\u555f\u9078\u53d6\u7684\u6a94\u6848 -FileChooser.updateButtonToolTipText=\u66f4\u65b0\u76ee\u9304\u6e05\u55ae -FileChooser.helpButtonToolTipText=\u300c\u6a94\u6848\u9078\u64c7\u5668\u300d\u8aaa\u660e -FileChooser.directoryOpenButtonToolTipText=\u958b\u555f\u9078\u53d6\u7684\u76ee\u9304 +FileChooser.cancelButtonToolTipText=\u4E2D\u6B62\u6A94\u6848\u9078\u64C7\u5668\u5C0D\u8A71\u65B9\u584A +FileChooser.saveButtonToolTipText=\u5132\u5B58\u9078\u53D6\u7684\u6A94\u6848 +FileChooser.openButtonToolTipText=\u958B\u555F\u9078\u53D6\u7684\u6A94\u6848 +FileChooser.updateButtonToolTipText=\u66F4\u65B0\u76EE\u9304\u6E05\u55AE +FileChooser.helpButtonToolTipText=\u300C\u6A94\u6848\u9078\u64C7\u5668\u300D\u8AAA\u660E +FileChooser.directoryOpenButtonToolTipText=\u958B\u555F\u9078\u53D6\u7684\u76EE\u9304 ############ COLOR CHOOSER STRINGS ############# -ColorChooser.previewText=\u9810\u89bd -ColorChooser.okText=\u78ba\u5b9a -ColorChooser.cancelText=\u53d6\u6d88 -ColorChooser.resetText=\u91cd\u8a2d(R) +ColorChooser.previewText=\u9810\u89BD +ColorChooser.okText=\u78BA\u5B9A +ColorChooser.cancelText=\u53D6\u6D88 +ColorChooser.resetText=\u91CD\u8A2D # VK_XXX constant for 'ColorChooser.resetText' button to make mnemonic ColorChooser.resetMnemonic=82 -ColorChooser.sampleText=\u7bc4\u4f8b\u6587\u5b57 \u7bc4\u4f8b\u6587\u5b57 -ColorChooser.swatchesNameText=\u8abf\u8272\u677f(S) +ColorChooser.sampleText=\u7BC4\u4F8B\u6587\u5B57 \u7BC4\u4F8B\u6587\u5B57 +ColorChooser.swatchesNameText=\u8ABF\u8272\u677F ColorChooser.swatchesMnemonic=83 -ColorChooser.swatchesRecentText=\u6700\u65b0\u9078\u64c7: +ColorChooser.swatchesRecentText=\u6700\u65B0\u9078\u64C7: # Each of the ColorChooser types can define a mnemonic, as a KeyEvent.VK_XXX # constant, and an index into the text to render the mnemonic as. The # mnemonic is xxxMnemonic and the index of the character to underline is # xxxDisplayedMnemonicIndex. ColorChooser.hsvNameText=HSV ColorChooser.hsvMnemonic=72 -ColorChooser.hsvHueText=\u8272\u8abf -ColorChooser.hsvSaturationText=\u98fd\u548c\u5ea6 -ColorChooser.hsvValueText=\u503c -ColorChooser.hsvTransparencyText=\u900f\u660e\u5ea6 +ColorChooser.hsvHueText=\u8272\u8ABF +ColorChooser.hsvSaturationText=\u5F69\u5EA6 +ColorChooser.hsvValueText=\u6578\u503C +ColorChooser.hsvTransparencyText=\u900F\u660E\u5EA6 ColorChooser.hslNameText=HSL ColorChooser.hslMnemonic=76 -ColorChooser.hslHueText=\u8272\u8abf -ColorChooser.hslSaturationText=\u98fd\u548c\u5ea6 -ColorChooser.hslLightnessText=\u4eae\u5ea6 -ColorChooser.hslTransparencyText=\u900f\u660e\u5ea6 +ColorChooser.hslHueText=\u8272\u8ABF +ColorChooser.hslSaturationText=\u5F69\u5EA6 +ColorChooser.hslLightnessText=\u4EAE\u5EA6 +ColorChooser.hslTransparencyText=\u900F\u660E\u5EA6 ColorChooser.rgbNameText=RGB ColorChooser.rgbMnemonic=71 -ColorChooser.rgbRedText=\u7d05\u8272(D) +ColorChooser.rgbRedText=\u7D05\u8272 ColorChooser.rgbRedMnemonic=68 -ColorChooser.rgbGreenText=\u7da0\u8272(N) +ColorChooser.rgbGreenText=\u7DA0\u8272 ColorChooser.rgbGreenMnemonic=78 -ColorChooser.rgbBlueText=\u85cd\u8272(B) +ColorChooser.rgbBlueText=\u85CD\u8272 ColorChooser.rgbBlueMnemonic=66 ColorChooser.rgbAlphaText=Alpha -ColorChooser.rgbHexCodeText=\u8272\u78bc +ColorChooser.rgbHexCodeText=\u984F\u8272\u4EE3\u78BC ColorChooser.rgbHexCodeMnemonic=67 ColorChooser.cmykNameText=CMYK ColorChooser.cmykMnemonic=77 -ColorChooser.cmykCyanText=\u85cd\u7da0\u8272 -ColorChooser.cmykMagentaText=\u7d2b\u7d05\u8272 -ColorChooser.cmykYellowText=\u9ec3\u8272 -ColorChooser.cmykBlackText=\u9ed1\u8272 +ColorChooser.cmykCyanText=\u85CD\u7DA0\u8272 +ColorChooser.cmykMagentaText=\u7D2B\u7D05\u8272 +ColorChooser.cmykYellowText=\u9EC3\u8272 +ColorChooser.cmykBlackText=\u9ED1\u8272 ColorChooser.cmykAlphaText=Alpha ############ OPTION PANE STRINGS ############# # Mnemonic keys correspond to KeyEvent.VK_XXX constant # We only define mnemonics for YES/NO, but for completeness you can # define mnemonics for any of the buttons. -OptionPane.yesButtonText=\u662f(Y) +OptionPane.yesButtonText=\u662F OptionPane.yesButtonMnemonic=89 -OptionPane.noButtonText=\u5426(N) +OptionPane.noButtonText=\u5426 OptionPane.noButtonMnemonic=78 -OptionPane.okButtonText=\u78ba\u5b9a +OptionPane.okButtonText=\u78BA\u5B9A OptionPane.okButtonMnemonic=0 -OptionPane.cancelButtonText=\u53d6\u6d88 +OptionPane.cancelButtonText=\u53D6\u6D88 OptionPane.cancelButtonMnemonic=0 -OptionPane.titleText=\u9078\u53d6\u4e00\u500b\u9078\u9805 +OptionPane.titleText=\u9078\u53D6\u4E00\u500B\u9078\u9805 # Title for the dialog for the showInputDialog methods. Only used if # the developer uses one of the variants that doesn't take a title. -OptionPane.inputDialogTitle=\u8f38\u5165 +OptionPane.inputDialogTitle=\u8F38\u5165 # Title for the dialog for the showMessageDialog methods. Only used if # the developer uses one of the variants that doesn't take a title. -OptionPane.messageDialogTitle=\u8a0a\u606f +OptionPane.messageDialogTitle=\u8A0A\u606F ############ Printing Dialog Strings ############ PrintingDialog.titleProgressText=\u5217\u5370 -PrintingDialog.titleAbortingText=\u5217\u5370 (\u4e2d\u65b7) +PrintingDialog.titleAbortingText=\u5217\u5370 (\u4E2D\u6B62) -PrintingDialog.contentInitialText=\u6b63\u5728\u5217\u5370... +PrintingDialog.contentInitialText=\u6B63\u5728\u5217\u5370... # The following string will be formatted by a MessageFormat # and {0} will be replaced by page number being printed -PrintingDialog.contentProgressText=\u5df2\u5217\u5370\u7684\u9801\u9762 {0}... +PrintingDialog.contentProgressText=\u5DF2\u5217\u5370\u7684\u9801\u9762 {0}... -PrintingDialog.contentAbortingText=\u6b63\u5728\u4e2d\u65b7\u5217\u5370... +PrintingDialog.contentAbortingText=\u6B63\u5728\u4E2D\u6B62\u5217\u5370... -PrintingDialog.abortButtonText=\u4e2d\u65b7(A) +PrintingDialog.abortButtonText=\u4E2D\u6B62 PrintingDialog.abortButtonMnemonic=65 PrintingDialog.abortButtonDisplayedMnemonicIndex=0 -PrintingDialog.abortButtonToolTipText=\u4e2d\u65b7\u5217\u5370 +PrintingDialog.abortButtonToolTipText=\u4E2D\u6B62\u5217\u5370 ############ Internal Frame Strings ############ -InternalFrame.iconButtonToolTip=\u6700\u5c0f\u5316 +InternalFrame.iconButtonToolTip=\u6700\u5C0F\u5316 InternalFrame.maxButtonToolTip=\u6700\u5927\u5316 -InternalFrame.restoreButtonToolTip=\u5fa9\u539f -InternalFrame.closeButtonToolTip=\u95dc\u9589 +InternalFrame.restoreButtonToolTip=\u5FA9\u539F +InternalFrame.closeButtonToolTip=\u95DC\u9589 ############ Internal Frame Title Pane Strings ############ -InternalFrameTitlePane.restoreButtonText=\u5fa9\u539f -InternalFrameTitlePane.moveButtonText=\u79fb\u52d5 -InternalFrameTitlePane.sizeButtonText=\u5927\u5c0f -InternalFrameTitlePane.minimizeButtonText=\u6700\u5c0f\u5316 +InternalFrameTitlePane.restoreButtonText=\u5FA9\u539F +InternalFrameTitlePane.moveButtonText=\u79FB\u52D5 +InternalFrameTitlePane.sizeButtonText=\u5927\u5C0F +InternalFrameTitlePane.minimizeButtonText=\u6700\u5C0F\u5316 InternalFrameTitlePane.maximizeButtonText=\u6700\u5927\u5316 -InternalFrameTitlePane.closeButtonText=\u95dc\u9589 +InternalFrameTitlePane.closeButtonText=\u95DC\u9589 ############ Text strings ############# # Used for html forms -FormView.submitButtonText=\u63d0\u51fa\u67e5\u8a62 -FormView.resetButtonText=\u91cd\u8a2d -FormView.browseFileButtonText=\u700f\u89bd... +FormView.submitButtonText=\u9001\u51FA\u67E5\u8A62 +FormView.resetButtonText=\u91CD\u8A2D +FormView.browseFileButtonText=\u700F\u89BD... ############ Abstract Document Strings ############ -AbstractDocument.styleChangeText=\u6a23\u5f0f\u8b8a\u66f4 -AbstractDocument.additionText=\u9644\u52a0 -AbstractDocument.deletionText=\u522a\u9664 -AbstractDocument.undoText=\u9084\u539f -AbstractDocument.redoText=\u91cd\u505a +AbstractDocument.styleChangeText=\u6A23\u5F0F\u8B8A\u66F4 +AbstractDocument.additionText=\u9644\u52A0 +AbstractDocument.deletionText=\u522A\u9664 +AbstractDocument.undoText=\u9084\u539F +AbstractDocument.redoText=\u91CD\u505A ############ Abstract Button Strings ############ -AbstractButton.clickText=\u6309\u4e00\u4e0b +AbstractButton.clickText=\u6309\u4E00\u4E0B ############ Abstract Undoable Edit Strings ############ -AbstractUndoableEdit.undoText=\u9084\u539f -AbstractUndoableEdit.redoText=\u91cd\u505a +AbstractUndoableEdit.undoText=\u9084\u539F +AbstractUndoableEdit.redoText=\u91CD\u505A ############ Combo Box Strings ############ -ComboBox.togglePopupText=\u5207\u63db\u5373\u73fe +ComboBox.togglePopupText=\u5207\u63DB\u5373\u73FE\u5F0F\u8996\u7A97 ############ Progress Monitor Strings ############ -ProgressMonitor.progressText=\u9032\u5ea6... +ProgressMonitor.progressText=\u9032\u5EA6... ############ Split Pane Strings ############ -SplitPane.leftButtonText=\u5de6\u6309\u9215 -SplitPane.rightButtonText=\u53f3\u6309\u9215 +SplitPane.leftButtonText=\u5DE6\u6309\u9215 +SplitPane.rightButtonText=\u53F3\u6309\u9215 # Used for Isindex -IsindexView.prompt=\u9019\u662f\u4e00\u500b\u53ef\u641c\u5c0b\u7684\u7d22\u5f15\u3002\u8f38\u5165\u641c\u5c0b\u95dc\u9375\u5b57\uff1a +IsindexView.prompt=\u9019\u662F\u4E00\u500B\u53EF\u641C\u5C0B\u7684\u7D22\u5F15\u3002\u8F38\u5165\u641C\u5C0B\u95DC\u9375\u5B57: ############ InternalFrameTitlePane Strings ############ -InternalFrameTitlePane.iconifyButtonAccessibleName=\u5716\u793a\u5316 +InternalFrameTitlePane.iconifyButtonAccessibleName=\u5716\u793A\u5316 InternalFrameTitlePane.maximizeButtonAccessibleName=\u6700\u5927\u5316 -InternalFrameTitlePane.closeButtonAccessibleName=\u95dc\u9589 +InternalFrameTitlePane.closeButtonAccessibleName=\u95DC\u9589 diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_de.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_de.properties index 1262ee30ff4..1b3214fc72d 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_de.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_de.properties @@ -21,10 +21,10 @@ FileChooser.lookInLabelText=Suchen in: FileChooser.saveInLabelText=Speichern in: FileChooser.fileNameLabelText=Dateiname: -FileChooser.folderNameLabelText=Folder name: +FileChooser.folderNameLabelText=Ordnername: FileChooser.filesOfTypeLabelText=Dateityp: -FileChooser.upFolderToolTipText=Eine Ebene h\u00f6her -FileChooser.upFolderAccessibleName=H\u00f6her +FileChooser.upFolderToolTipText=Eine Ebene h\u00F6her +FileChooser.upFolderAccessibleName=Nach oben FileChooser.homeFolderToolTipText=Home FileChooser.homeFolderAccessibleName=Home FileChooser.newFolderToolTipText=Neuen Ordner erstellen @@ -38,19 +38,19 @@ FileChooser.detailsViewButtonAccessibleName=Details FileChooser.detailsViewActionLabelText=Details FileChooser.refreshActionLabelText=Aktualisieren FileChooser.viewMenuLabelText=Ansicht -FileChooser.fileNameHeaderText=Dateiname -FileChooser.fileSizeHeaderText=Gr\u00f6\u00dfe +FileChooser.fileNameHeaderText=Name +FileChooser.fileSizeHeaderText=Gr\u00F6\u00DFe FileChooser.fileTypeHeaderText=Typ -FileChooser.fileDateHeaderText=Ge\u00e4ndert -FileChooser.fileAttrHeaderText=Attribut +FileChooser.fileDateHeaderText=Ge\u00E4ndert +FileChooser.fileAttrHeaderText=Attribute ############ Used by MetalTitlePane if rendering window decorations############ # All mnemonics are KeyEvent.VK_XXX as integers MetalTitlePane.restoreTitle=Wiederherstellen -MetalTitlePane.restoreMnemonic=87 +MetalTitlePane.restoreMnemonic=82 MetalTitlePane.iconifyTitle=Minimieren -MetalTitlePane.iconifyMnemonic=77 +MetalTitlePane.iconifyMnemonic=69 MetalTitlePane.maximizeTitle=Maximieren MetalTitlePane.maximizeMnemonic=88 -MetalTitlePane.closeTitle=Schlie\u00dfen -MetalTitlePane.closeMnemonic=83 +MetalTitlePane.closeTitle=Schlie\u00DFen +MetalTitlePane.closeMnemonic=67 diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_es.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_es.properties index 29f9a51d566..09afa0a86e7 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_es.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_es.properties @@ -20,26 +20,26 @@ FileChooser.lookInLabelText=Buscar en: FileChooser.saveInLabelText=Guardar en: -FileChooser.fileNameLabelText=Nombre de archivo: -FileChooser.folderNameLabelText=Folder name: -FileChooser.filesOfTypeLabelText=Archivos de tipo: -FileChooser.upFolderToolTipText=Subir un nivel +FileChooser.fileNameLabelText=Nombre de Archivo: +FileChooser.folderNameLabelText=Nombre de la Carpeta: +FileChooser.filesOfTypeLabelText=Archivos de Tipo: +FileChooser.upFolderToolTipText=Subir un Nivel FileChooser.upFolderAccessibleName=Arriba -FileChooser.homeFolderToolTipText=Principal -FileChooser.homeFolderAccessibleName=Principal -FileChooser.newFolderToolTipText=Crear carpeta nueva -FileChooser.newFolderAccessibleName=Carpeta nueva -FileChooser.newFolderActionLabelText=Carpeta nueva +FileChooser.homeFolderToolTipText=Inicio +FileChooser.homeFolderAccessibleName=Inicio +FileChooser.newFolderToolTipText=Crear Nueva Carpeta +FileChooser.newFolderAccessibleName=Nueva Carpeta +FileChooser.newFolderActionLabelText=Nueva Carpeta FileChooser.listViewButtonToolTipText=Lista FileChooser.listViewButtonAccessibleName=Lista FileChooser.listViewActionLabelText=Lista FileChooser.detailsViewButtonToolTipText=Detalles FileChooser.detailsViewButtonAccessibleName=Detalles FileChooser.detailsViewActionLabelText=Detalles -FileChooser.refreshActionLabelText=Renovar +FileChooser.refreshActionLabelText=Refrescar FileChooser.viewMenuLabelText=Ver FileChooser.fileNameHeaderText=Nombre -FileChooser.fileSizeHeaderText=Tama\u00f1o +FileChooser.fileSizeHeaderText=Tama\u00F1o FileChooser.fileTypeHeaderText=Tipo FileChooser.fileDateHeaderText=Modificado FileChooser.fileAttrHeaderText=Atributos @@ -49,7 +49,7 @@ FileChooser.fileAttrHeaderText=Atributos MetalTitlePane.restoreTitle=Restaurar MetalTitlePane.restoreMnemonic=82 MetalTitlePane.iconifyTitle=Minimizar -MetalTitlePane.iconifyMnemonic=77 +MetalTitlePane.iconifyMnemonic=69 MetalTitlePane.maximizeTitle=Maximizar MetalTitlePane.maximizeMnemonic=88 MetalTitlePane.closeTitle=Cerrar diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_fr.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_fr.properties index 8f7a7c5d2a7..6c158902326 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_fr.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_fr.properties @@ -20,37 +20,37 @@ FileChooser.lookInLabelText=Rechercher dans : FileChooser.saveInLabelText=Enregistrer dans : -FileChooser.fileNameLabelText=Nom de fichier : -FileChooser.folderNameLabelText=Folder name: -FileChooser.filesOfTypeLabelText=Fichiers du type : +FileChooser.fileNameLabelText=Nom du fichier : +FileChooser.folderNameLabelText=Nom du dossier : +FileChooser.filesOfTypeLabelText=Fichiers de type : FileChooser.upFolderToolTipText=Remonte d'un niveau. -FileChooser.upFolderAccessibleName=Vers le haut -FileChooser.homeFolderToolTipText=R\u00e9pertoire d'accueil -FileChooser.homeFolderAccessibleName=Accueil -FileChooser.newFolderToolTipText=Cr\u00e9e un nouveau dossier. +FileChooser.upFolderAccessibleName=Monter +FileChooser.homeFolderToolTipText=R\u00E9pertoire d'origine +FileChooser.homeFolderAccessibleName=R\u00E9pertoire d'origine +FileChooser.newFolderToolTipText=Cr\u00E9e un dossier. FileChooser.newFolderAccessibleName=Nouveau dossier FileChooser.newFolderActionLabelText=Nouveau dossier FileChooser.listViewButtonToolTipText=Liste FileChooser.listViewButtonAccessibleName=Liste FileChooser.listViewActionLabelText=Liste -FileChooser.detailsViewButtonToolTipText=D\u00e9tails -FileChooser.detailsViewButtonAccessibleName=D\u00e9tails -FileChooser.detailsViewActionLabelText=D\u00e9tails +FileChooser.detailsViewButtonToolTipText=D\u00E9tails +FileChooser.detailsViewButtonAccessibleName=D\u00E9tails +FileChooser.detailsViewActionLabelText=D\u00E9tails FileChooser.refreshActionLabelText=Actualiser FileChooser.viewMenuLabelText=Affichage FileChooser.fileNameHeaderText=Nom FileChooser.fileSizeHeaderText=Taille FileChooser.fileTypeHeaderText=Type -FileChooser.fileDateHeaderText=Modifi\u00e9 +FileChooser.fileDateHeaderText=Modifi\u00E9 FileChooser.fileAttrHeaderText=Attributs ############ Used by MetalTitlePane if rendering window decorations############ # All mnemonics are KeyEvent.VK_XXX as integers MetalTitlePane.restoreTitle=Restaurer MetalTitlePane.restoreMnemonic=82 -MetalTitlePane.iconifyTitle=R\u00e9duire -MetalTitlePane.iconifyMnemonic=68 +MetalTitlePane.iconifyTitle=R\u00E9duire +MetalTitlePane.iconifyMnemonic=69 MetalTitlePane.maximizeTitle=Agrandir -MetalTitlePane.maximizeMnemonic=65 +MetalTitlePane.maximizeMnemonic=88 MetalTitlePane.closeTitle=Fermer -MetalTitlePane.closeMnemonic=70 +MetalTitlePane.closeMnemonic=67 diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_it.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_it.properties index 2b3b1c0f95b..1a5deb02e37 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_it.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_it.properties @@ -21,18 +21,18 @@ FileChooser.lookInLabelText=Cerca in: FileChooser.saveInLabelText=Salva in: FileChooser.fileNameLabelText=Nome file: -FileChooser.folderNameLabelText=Folder name: +FileChooser.folderNameLabelText=Nome della cartella: FileChooser.filesOfTypeLabelText=Tipo file: FileChooser.upFolderToolTipText=Cartella superiore FileChooser.upFolderAccessibleName=Superiore -FileChooser.homeFolderToolTipText=Principale -FileChooser.homeFolderAccessibleName=Principale +FileChooser.homeFolderToolTipText=Home +FileChooser.homeFolderAccessibleName=Home FileChooser.newFolderToolTipText=Crea nuova cartella FileChooser.newFolderAccessibleName=Nuova cartella FileChooser.newFolderActionLabelText=Nuova cartella -FileChooser.listViewButtonToolTipText=Elenco -FileChooser.listViewButtonAccessibleName=Elenco -FileChooser.listViewActionLabelText=Elenco +FileChooser.listViewButtonToolTipText=Lista +FileChooser.listViewButtonAccessibleName=Lista +FileChooser.listViewActionLabelText=Lista FileChooser.detailsViewButtonToolTipText=Dettagli FileChooser.detailsViewButtonAccessibleName=Dettagli FileChooser.detailsViewActionLabelText=Dettagli @@ -49,8 +49,8 @@ FileChooser.fileAttrHeaderText=Attributi MetalTitlePane.restoreTitle=Ripristina MetalTitlePane.restoreMnemonic=82 MetalTitlePane.iconifyTitle=Riduci a icona -MetalTitlePane.iconifyMnemonic=68 +MetalTitlePane.iconifyMnemonic=69 MetalTitlePane.maximizeTitle=Ingrandisci -MetalTitlePane.maximizeMnemonic=73 +MetalTitlePane.maximizeMnemonic=88 MetalTitlePane.closeTitle=Chiudi MetalTitlePane.closeMnemonic=67 diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ja.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ja.properties index 94a1ad236bc..f5a4bc9cca3 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ja.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ja.properties @@ -18,39 +18,39 @@ ############ FILE CHOOSER STRINGS ############# -FileChooser.lookInLabelText=\u53c2\u7167: -FileChooser.saveInLabelText=\u4fdd\u5b58: -FileChooser.fileNameLabelText=\u30d5\u30a1\u30a4\u30eb\u540d: -FileChooser.folderNameLabelText=Folder name: -FileChooser.filesOfTypeLabelText=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7: -FileChooser.upFolderToolTipText=1 \u30ec\u30d9\u30eb\u4e0a\u3078 -FileChooser.upFolderAccessibleName=\u4e0a\u3078 -FileChooser.homeFolderToolTipText=\u30db\u30fc\u30e0 -FileChooser.homeFolderAccessibleName=\u30db\u30fc\u30e0 -FileChooser.newFolderToolTipText=\u30d5\u30a9\u30eb\u30c0\u306e\u65b0\u898f\u4f5c\u6210 -FileChooser.newFolderAccessibleName=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0 -FileChooser.newFolderActionLabelText=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0 -FileChooser.listViewButtonToolTipText=\u30ea\u30b9\u30c8 -FileChooser.listViewButtonAccessibleName=\u30ea\u30b9\u30c8 -FileChooser.listViewActionLabelText=\u30ea\u30b9\u30c8 -FileChooser.detailsViewButtonToolTipText=\u8a73\u7d30 -FileChooser.detailsViewButtonAccessibleName=\u8a73\u7d30 -FileChooser.detailsViewActionLabelText=\u8a73\u7d30 -FileChooser.refreshActionLabelText=\u66f4\u65b0 -FileChooser.viewMenuLabelText=\u8868\u793a -FileChooser.fileNameHeaderText=\u540d\u524d -FileChooser.fileSizeHeaderText=\u30b5\u30a4\u30ba -FileChooser.fileTypeHeaderText=\u578b -FileChooser.fileDateHeaderText=\u4fee\u6b63\u65e5 -FileChooser.fileAttrHeaderText=\u5c5e\u6027 +FileChooser.lookInLabelText=\u53C2\u7167: +FileChooser.saveInLabelText=\u4FDD\u5B58: +FileChooser.fileNameLabelText=\u30D5\u30A1\u30A4\u30EB\u540D: +FileChooser.folderNameLabelText=\u30D5\u30A9\u30EB\u30C0\u540D: +FileChooser.filesOfTypeLabelText=\u30D5\u30A1\u30A4\u30EB\u306E\u30BF\u30A4\u30D7: +FileChooser.upFolderToolTipText=1\u30EC\u30D9\u30EB\u4E0A\u3078 +FileChooser.upFolderAccessibleName=\u4E0A\u3078 +FileChooser.homeFolderToolTipText=\u30DB\u30FC\u30E0 +FileChooser.homeFolderAccessibleName=\u30DB\u30FC\u30E0 +FileChooser.newFolderToolTipText=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0\u306E\u4F5C\u6210 +FileChooser.newFolderAccessibleName=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0 +FileChooser.newFolderActionLabelText=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0 +FileChooser.listViewButtonToolTipText=\u30EA\u30B9\u30C8 +FileChooser.listViewButtonAccessibleName=\u30EA\u30B9\u30C8 +FileChooser.listViewActionLabelText=\u30EA\u30B9\u30C8 +FileChooser.detailsViewButtonToolTipText=\u8A73\u7D30 +FileChooser.detailsViewButtonAccessibleName=\u8A73\u7D30 +FileChooser.detailsViewActionLabelText=\u8A73\u7D30 +FileChooser.refreshActionLabelText=\u30EA\u30D5\u30EC\u30C3\u30B7\u30E5 +FileChooser.viewMenuLabelText=\u8868\u793A +FileChooser.fileNameHeaderText=\u540D\u524D +FileChooser.fileSizeHeaderText=\u30B5\u30A4\u30BA +FileChooser.fileTypeHeaderText=\u30BF\u30A4\u30D7 +FileChooser.fileDateHeaderText=\u4FEE\u6B63\u65E5 +FileChooser.fileAttrHeaderText=\u5C5E\u6027 ############ Used by MetalTitlePane if rendering window decorations############ # All mnemonics are KeyEvent.VK_XXX as integers -MetalTitlePane.restoreTitle=\u5fa9\u5143(R) +MetalTitlePane.restoreTitle=\u5FA9\u5143 MetalTitlePane.restoreMnemonic=82 -MetalTitlePane.iconifyTitle=\u6700\u5c0f\u5316(E) +MetalTitlePane.iconifyTitle=\u6700\u5C0F\u5316 MetalTitlePane.iconifyMnemonic=69 -MetalTitlePane.maximizeTitle=\u6700\u5927\u5316(X) +MetalTitlePane.maximizeTitle=\u6700\u5927\u5316 MetalTitlePane.maximizeMnemonic=88 -MetalTitlePane.closeTitle=\u9589\u3058\u308b(C) +MetalTitlePane.closeTitle=\u9589\u3058\u308B MetalTitlePane.closeMnemonic=67 diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ko.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ko.properties index 1bb569128f9..fae574fcc5a 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ko.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ko.properties @@ -18,39 +18,39 @@ ############ FILE CHOOSER STRINGS ############# -FileChooser.lookInLabelText=\uac80\uc0c9 \uc704\uce58: -FileChooser.saveInLabelText=\uc800\uc7a5 \uc704\uce58 -FileChooser.fileNameLabelText=\ud30c\uc77c \uc774\ub984: -FileChooser.folderNameLabelText=Folder name: -FileChooser.filesOfTypeLabelText=\ud30c\uc77c \uc885\ub958: -FileChooser.upFolderToolTipText=\ud55c \ub2e8\uacc4 \uc704\ub85c -FileChooser.upFolderAccessibleName=\uc704 -FileChooser.homeFolderToolTipText=\ud648 -FileChooser.homeFolderAccessibleName=\ud648 -FileChooser.newFolderToolTipText=\uc0c8 \ud3f4\ub354 \uc791\uc131 -FileChooser.newFolderAccessibleName=\uc0c8 \ud3f4\ub354 -FileChooser.newFolderActionLabelText=\uc0c8 \ud3f4\ub354 -FileChooser.listViewButtonToolTipText=\ubaa9\ub85d -FileChooser.listViewButtonAccessibleName=\ubaa9\ub85d -FileChooser.listViewActionLabelText=\ubaa9\ub85d -FileChooser.detailsViewButtonToolTipText=\uc790\uc138\ud788 -FileChooser.detailsViewButtonAccessibleName=\uc790\uc138\ud788 -FileChooser.detailsViewActionLabelText=\uc790\uc138\ud788 -FileChooser.refreshActionLabelText=\uac31\uc2e0 -FileChooser.viewMenuLabelText=\ubcf4\uae30 -FileChooser.fileNameHeaderText=\uc774\ub984 -FileChooser.fileSizeHeaderText=\ud06c\uae30 -FileChooser.fileTypeHeaderText=\uc885\ub958 -FileChooser.fileDateHeaderText=\uc218\uc815 -FileChooser.fileAttrHeaderText=\uc18d\uc131 +FileChooser.lookInLabelText=\uAC80\uC0C9 \uC704\uCE58: +FileChooser.saveInLabelText=\uC800\uC7A5 \uC704\uCE58: +FileChooser.fileNameLabelText=\uD30C\uC77C \uC774\uB984: +FileChooser.folderNameLabelText=\uD3F4\uB354 \uC774\uB984: +FileChooser.filesOfTypeLabelText=\uD30C\uC77C \uC720\uD615: +FileChooser.upFolderToolTipText=\uD55C \uB808\uBCA8 \uC704\uB85C +FileChooser.upFolderAccessibleName=\uC704\uB85C +FileChooser.homeFolderToolTipText=\uD648 +FileChooser.homeFolderAccessibleName=\uD648 +FileChooser.newFolderToolTipText=\uC0C8 \uD3F4\uB354 \uC0DD\uC131 +FileChooser.newFolderAccessibleName=\uC0C8 \uD3F4\uB354 +FileChooser.newFolderActionLabelText=\uC0C8 \uD3F4\uB354 +FileChooser.listViewButtonToolTipText=\uBAA9\uB85D +FileChooser.listViewButtonAccessibleName=\uBAA9\uB85D +FileChooser.listViewActionLabelText=\uBAA9\uB85D +FileChooser.detailsViewButtonToolTipText=\uC138\uBD80 \uC815\uBCF4 +FileChooser.detailsViewButtonAccessibleName=\uC138\uBD80 \uC815\uBCF4 +FileChooser.detailsViewActionLabelText=\uC138\uBD80 \uC815\uBCF4 +FileChooser.refreshActionLabelText=\uC0C8\uB85C \uACE0\uCE68 +FileChooser.viewMenuLabelText=\uBCF4\uAE30 +FileChooser.fileNameHeaderText=\uC774\uB984 +FileChooser.fileSizeHeaderText=\uD06C\uAE30 +FileChooser.fileTypeHeaderText=\uC720\uD615 +FileChooser.fileDateHeaderText=\uC218\uC815 \uB0A0\uC9DC +FileChooser.fileAttrHeaderText=\uC18D\uC131 ############ Used by MetalTitlePane if rendering window decorations############ # All mnemonics are KeyEvent.VK_XXX as integers -MetalTitlePane.restoreTitle=\ubcf5\uc6d0(R) +MetalTitlePane.restoreTitle=\uBCF5\uC6D0 MetalTitlePane.restoreMnemonic=82 -MetalTitlePane.iconifyTitle=\ucd5c\uc18c\ud654(E) +MetalTitlePane.iconifyTitle=\uCD5C\uC18C\uD654 MetalTitlePane.iconifyMnemonic=69 -MetalTitlePane.maximizeTitle=\ucd5c\ub300\ud654(X) +MetalTitlePane.maximizeTitle=\uCD5C\uB300\uD654 MetalTitlePane.maximizeMnemonic=88 -MetalTitlePane.closeTitle=\ub2eb\uae30(C) +MetalTitlePane.closeTitle=\uB2EB\uAE30 MetalTitlePane.closeMnemonic=67 diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_pt_BR.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_pt_BR.properties index 6a397b35545..7f7cd1c8f44 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_pt_BR.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_pt_BR.properties @@ -18,17 +18,18 @@ ############ FILE CHOOSER STRINGS ############# -FileChooser.lookInLabelText=Consultar em: -FileChooser.saveInLabelText=Salvar em: -FileChooser.fileNameLabelText=Nome de arquivo: -FileChooser.filesOfTypeLabelText=Arquivos de tipo: -FileChooser.upFolderToolTipText=Um n\u00edvel acima +FileChooser.lookInLabelText=Consultar Em: +FileChooser.saveInLabelText=Salvar Em: +FileChooser.fileNameLabelText=Nome do Arquivo: +FileChooser.folderNameLabelText=Nome da pasta: +FileChooser.filesOfTypeLabelText=Arquivos do Tipo: +FileChooser.upFolderToolTipText=Um N\u00EDvel Acima FileChooser.upFolderAccessibleName=Acima -FileChooser.homeFolderToolTipText=In\u00edcio -FileChooser.homeFolderAccessibleName=In\u00edcio -FileChooser.newFolderToolTipText=Criar nova pasta -FileChooser.newFolderAccessibleName=Nova pasta -FileChooser.newFolderActionLabelText=Nova pasta +FileChooser.homeFolderToolTipText=In\u00EDcio +FileChooser.homeFolderAccessibleName=In\u00EDcio +FileChooser.newFolderToolTipText=Criar Nova Pasta +FileChooser.newFolderAccessibleName=Nova Pasta +FileChooser.newFolderActionLabelText=Nova Pasta FileChooser.listViewButtonToolTipText=Lista FileChooser.listViewButtonAccessibleName=Lista FileChooser.listViewActionLabelText=Lista diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_sv.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_sv.properties index 03085c022e8..75176928601 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_sv.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_sv.properties @@ -18,12 +18,12 @@ ############ FILE CHOOSER STRINGS ############# -FileChooser.lookInLabelText=S\u00f6k i: +FileChooser.lookInLabelText=Leta i: FileChooser.saveInLabelText=Spara i: FileChooser.fileNameLabelText=Filnamn: -FileChooser.folderNameLabelText=Folder name: +FileChooser.folderNameLabelText=Mapp: FileChooser.filesOfTypeLabelText=Filformat: -FileChooser.upFolderToolTipText=Upp en niv\u00e5 +FileChooser.upFolderToolTipText=Upp en niv\u00E5 FileChooser.upFolderAccessibleName=Upp FileChooser.homeFolderToolTipText=Hem FileChooser.homeFolderAccessibleName=Hem @@ -33,24 +33,24 @@ FileChooser.newFolderActionLabelText=Ny mapp FileChooser.listViewButtonToolTipText=Lista FileChooser.listViewButtonAccessibleName=Lista FileChooser.listViewActionLabelText=Lista -FileChooser.detailsViewButtonToolTipText=Detaljerad lista -FileChooser.detailsViewButtonAccessibleName=Detaljerad lista -FileChooser.detailsViewActionLabelText=Detaljerad lista -FileChooser.refreshActionLabelText=Uppdatera +FileChooser.detailsViewButtonToolTipText=Detaljer +FileChooser.detailsViewButtonAccessibleName=Detaljer +FileChooser.detailsViewActionLabelText=Detaljer +FileChooser.refreshActionLabelText=F\u00F6rnya FileChooser.viewMenuLabelText=Vy FileChooser.fileNameHeaderText=Namn FileChooser.fileSizeHeaderText=Storlek FileChooser.fileTypeHeaderText=Typ -FileChooser.fileDateHeaderText=\u00c4ndrad +FileChooser.fileDateHeaderText=\u00C4ndrad FileChooser.fileAttrHeaderText=Attribut ############ Used by MetalTitlePane if rendering window decorations############ # All mnemonics are KeyEvent.VK_XXX as integers -MetalTitlePane.restoreTitle=\u00c5terst\u00e4ll -MetalTitlePane.restoreMnemonic=84 +MetalTitlePane.restoreTitle=\u00C5terst\u00E4ll +MetalTitlePane.restoreMnemonic=82 MetalTitlePane.iconifyTitle=Minimera -MetalTitlePane.iconifyMnemonic=77 +MetalTitlePane.iconifyMnemonic=69 MetalTitlePane.maximizeTitle=Maximera MetalTitlePane.maximizeMnemonic=88 -MetalTitlePane.closeTitle=St\u00e4ng -MetalTitlePane.closeMnemonic=83 +MetalTitlePane.closeTitle=St\u00E4ng +MetalTitlePane.closeMnemonic=67 diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_CN.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_CN.properties index 9e2b454a7ec..7292eebe8c2 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_CN.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_CN.properties @@ -18,39 +18,39 @@ ############ FILE CHOOSER STRINGS ############# -FileChooser.lookInLabelText=\u67e5\u770b\uff1a -FileChooser.saveInLabelText=\u4fdd\u5b58\uff1a -FileChooser.fileNameLabelText=\u6587\u4ef6\u540d\uff1a -FileChooser.folderNameLabelText=Folder name: -FileChooser.filesOfTypeLabelText=\u6587\u4ef6\u7c7b\u578b\uff1a -FileChooser.upFolderToolTipText=\u5411\u4e0a\u4e00\u5c42 -FileChooser.upFolderAccessibleName=\u5411\u4e0a -FileChooser.homeFolderToolTipText=\u8d77\u59cb\u76ee\u5f55 -FileChooser.homeFolderAccessibleName=\u8d77\u59cb\u76ee\u5f55 -FileChooser.newFolderToolTipText=\u521b\u5efa\u65b0\u7684\u6587\u4ef6\u5939 -FileChooser.newFolderAccessibleName=\u65b0\u5efa\u6587\u4ef6\u5939 -FileChooser.newFolderActionLabelText=\u65b0\u5efa\u6587\u4ef6\u5939 +FileChooser.lookInLabelText=\u67E5\u770B: +FileChooser.saveInLabelText=\u4FDD\u5B58: +FileChooser.fileNameLabelText=\u6587\u4EF6\u540D: +FileChooser.folderNameLabelText=\u6587\u4EF6\u5939\u540D: +FileChooser.filesOfTypeLabelText=\u6587\u4EF6\u7C7B\u578B: +FileChooser.upFolderToolTipText=\u5411\u4E0A\u4E00\u7EA7 +FileChooser.upFolderAccessibleName=\u5411\u4E0A +FileChooser.homeFolderToolTipText=\u4E3B\u76EE\u5F55 +FileChooser.homeFolderAccessibleName=\u4E3B\u76EE\u5F55 +FileChooser.newFolderToolTipText=\u521B\u5EFA\u65B0\u6587\u4EF6\u5939 +FileChooser.newFolderAccessibleName=\u65B0\u5EFA\u6587\u4EF6\u5939 +FileChooser.newFolderActionLabelText=\u65B0\u5EFA\u6587\u4EF6\u5939 FileChooser.listViewButtonToolTipText=\u5217\u8868 FileChooser.listViewButtonAccessibleName=\u5217\u8868 FileChooser.listViewActionLabelText=\u5217\u8868 -FileChooser.detailsViewButtonToolTipText=\u8be6\u7ec6\u4fe1\u606f -FileChooser.detailsViewButtonAccessibleName=\u8be6\u7ec6\u4fe1\u606f -FileChooser.detailsViewActionLabelText=\u8be6\u7ec6\u4fe1\u606f -FileChooser.refreshActionLabelText=\u5237\u65b0 -FileChooser.viewMenuLabelText=\u89c6\u56fe -FileChooser.fileNameHeaderText=\u540d\u79f0 -FileChooser.fileSizeHeaderText=\u5927\u5c0f -FileChooser.fileTypeHeaderText=\u7c7b\u578b -FileChooser.fileDateHeaderText=\u4fee\u6b63\u7248 -FileChooser.fileAttrHeaderText=\u5c5e\u6027 +FileChooser.detailsViewButtonToolTipText=\u8BE6\u7EC6\u8D44\u6599 +FileChooser.detailsViewButtonAccessibleName=\u8BE6\u7EC6\u8D44\u6599 +FileChooser.detailsViewActionLabelText=\u8BE6\u7EC6\u8D44\u6599 +FileChooser.refreshActionLabelText=\u5237\u65B0 +FileChooser.viewMenuLabelText=\u89C6\u56FE +FileChooser.fileNameHeaderText=\u540D\u79F0 +FileChooser.fileSizeHeaderText=\u5927\u5C0F +FileChooser.fileTypeHeaderText=\u7C7B\u578B +FileChooser.fileDateHeaderText=\u4FEE\u6539\u65E5\u671F +FileChooser.fileAttrHeaderText=\u5C5E\u6027 ############ Used by MetalTitlePane if rendering window decorations############ # All mnemonics are KeyEvent.VK_XXX as integers -MetalTitlePane.restoreTitle=\u6062\u590d (R) +MetalTitlePane.restoreTitle=\u8FD8\u539F MetalTitlePane.restoreMnemonic=82 -MetalTitlePane.iconifyTitle=\u6700\u5c0f\u5316 (E) +MetalTitlePane.iconifyTitle=\u6700\u5C0F\u5316 MetalTitlePane.iconifyMnemonic=69 -MetalTitlePane.maximizeTitle=\u6700\u5927\u5316 (X) +MetalTitlePane.maximizeTitle=\u6700\u5927\u5316 MetalTitlePane.maximizeMnemonic=88 -MetalTitlePane.closeTitle=\u5173\u95ed (C) +MetalTitlePane.closeTitle=\u5173\u95ED MetalTitlePane.closeMnemonic=67 diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_TW.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_TW.properties index 3bc9d125fb2..c62c888cadf 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_TW.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_TW.properties @@ -18,39 +18,39 @@ ############ FILE CHOOSER STRINGS ############# -FileChooser.lookInLabelText=\u67e5\u770b\ufe55 -FileChooser.saveInLabelText=\u5132\u5b58\u65bc\uff1a -FileChooser.fileNameLabelText=\u6a94\u6848\u540d\u7a31\ufe55 -FileChooser.folderNameLabelText=Folder name: -FileChooser.filesOfTypeLabelText=\u6a94\u6848\u985e\u578b\ufe55 -FileChooser.upFolderToolTipText=\u5f80\u4e0a\u4e00\u5c64 -FileChooser.upFolderAccessibleName=\u5f80\u4e0a -FileChooser.homeFolderToolTipText=\u4e3b\u76ee\u9304 -FileChooser.homeFolderAccessibleName=\u4e3b\u76ee\u9304 -FileChooser.newFolderToolTipText=\u5efa\u7acb\u65b0\u8cc7\u6599\u593e -FileChooser.newFolderAccessibleName=\u65b0\u8cc7\u6599\u593e -FileChooser.newFolderActionLabelText=\u65b0\u8cc7\u6599\u593e -FileChooser.listViewButtonToolTipText=\u6e05\u55ae -FileChooser.listViewButtonAccessibleName=\u6e05\u55ae -FileChooser.listViewActionLabelText=\u6e05\u55ae -FileChooser.detailsViewButtonToolTipText=\u8a73\u7d30\u8cc7\u8a0a -FileChooser.detailsViewButtonAccessibleName=\u8a73\u7d30\u8cc7\u8a0a -FileChooser.detailsViewActionLabelText=\u8a73\u7d30\u8cc7\u8a0a -FileChooser.refreshActionLabelText=\u66f4\u65b0 -FileChooser.viewMenuLabelText=\u6aa2\u8996 -FileChooser.fileNameHeaderText=\u540d\u7a31 -FileChooser.fileSizeHeaderText=\u5927\u5c0f -FileChooser.fileTypeHeaderText=\u985e\u578b -FileChooser.fileDateHeaderText=\u5df2\u4fee\u6539 -FileChooser.fileAttrHeaderText=\u5c6c\u6027 +FileChooser.lookInLabelText=\u67E5\u8A62: +FileChooser.saveInLabelText=\u5132\u5B58\u65BC: +FileChooser.fileNameLabelText=\u6A94\u6848\u540D\u7A31: +FileChooser.folderNameLabelText=\u8CC7\u6599\u593E\u540D\u7A31: +FileChooser.filesOfTypeLabelText=\u6A94\u6848\u985E\u578B: +FileChooser.upFolderToolTipText=\u5F80\u4E0A\u4E00\u5C64 +FileChooser.upFolderAccessibleName=\u5F80\u4E0A +FileChooser.homeFolderToolTipText=\u4E3B\u76EE\u9304 +FileChooser.homeFolderAccessibleName=\u4E3B\u76EE\u9304 +FileChooser.newFolderToolTipText=\u5EFA\u7ACB\u65B0\u8CC7\u6599\u593E +FileChooser.newFolderAccessibleName=\u65B0\u8CC7\u6599\u593E +FileChooser.newFolderActionLabelText=\u65B0\u8CC7\u6599\u593E +FileChooser.listViewButtonToolTipText=\u6E05\u55AE +FileChooser.listViewButtonAccessibleName=\u6E05\u55AE +FileChooser.listViewActionLabelText=\u6E05\u55AE +FileChooser.detailsViewButtonToolTipText=\u8A73\u7D30\u8CC7\u8A0A +FileChooser.detailsViewButtonAccessibleName=\u8A73\u7D30\u8CC7\u8A0A +FileChooser.detailsViewActionLabelText=\u8A73\u7D30\u8CC7\u8A0A +FileChooser.refreshActionLabelText=\u91CD\u65B0\u6574\u7406 +FileChooser.viewMenuLabelText=\u6AA2\u8996 +FileChooser.fileNameHeaderText=\u540D\u7A31 +FileChooser.fileSizeHeaderText=\u5927\u5C0F +FileChooser.fileTypeHeaderText=\u985E\u578B +FileChooser.fileDateHeaderText=\u4FEE\u6539\u65E5\u671F +FileChooser.fileAttrHeaderText=\u5C6C\u6027 ############ Used by MetalTitlePane if rendering window decorations############ # All mnemonics are KeyEvent.VK_XXX as integers -MetalTitlePane.restoreTitle=\u5fa9\u539f(R) +MetalTitlePane.restoreTitle=\u5FA9\u539F MetalTitlePane.restoreMnemonic=82 -MetalTitlePane.iconifyTitle=\u6700\u5c0f\u5316(E) +MetalTitlePane.iconifyTitle=\u6700\u5C0F\u5316 MetalTitlePane.iconifyMnemonic=69 -MetalTitlePane.maximizeTitle=\u6700\u5927\u5316(X) +MetalTitlePane.maximizeTitle=\u6700\u5927\u5316 MetalTitlePane.maximizeMnemonic=88 -MetalTitlePane.closeTitle=\u95dc\u9589(C) +MetalTitlePane.closeTitle=\u95DC\u9589 MetalTitlePane.closeMnemonic=67 diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_de.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_de.properties index 67192ebc71d..990f34464c2 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_de.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_de.properties @@ -10,6 +10,9 @@ # This may change in future versions of Swing as we improve localization # support. # +# Refer to the note in basic.properties for a description as to what +# the mnemonics correspond to and how to calculate them. +# # @author Steve Wilson @@ -18,20 +21,25 @@ FileChooser.lookInLabelText=Suchen in: FileChooser.saveInLabelText=Speichern in: FileChooser.fileNameLabelText=Dateiname: -FileChooser.folderNameLabelText=Folder name: +FileChooser.folderNameLabelText=Ordnername: FileChooser.filesOfTypeLabelText=Dateityp: -FileChooser.upFolderToolTipText=Eine Ebene h\u00f6her -FileChooser.upFolderAccessibleName=H\u00f6her +FileChooser.upFolderToolTipText=Eine Ebene h\u00F6her +FileChooser.upFolderAccessibleName=Nach oben FileChooser.homeFolderToolTipText=Home FileChooser.homeFolderAccessibleName=Home FileChooser.newFolderToolTipText=Neuen Ordner erstellen FileChooser.newFolderAccessibleName=Neuer Ordner +FileChooser.newFolderActionLabelText=Neuer Ordner FileChooser.listViewButtonToolTipText=Liste FileChooser.listViewButtonAccessibleName=Liste +FileChooser.listViewActionLabelText=Liste FileChooser.detailsViewButtonToolTipText=Details FileChooser.detailsViewButtonAccessibleName=Details -FileChooser.fileNameHeaderText=Dateiname -FileChooser.fileSizeHeaderText=Gr\u00f6\u00dfe +FileChooser.detailsViewActionLabelText=Details +FileChooser.refreshActionLabelText=Aktualisieren +FileChooser.viewMenuLabelText=Ansicht +FileChooser.fileNameHeaderText=Name +FileChooser.fileSizeHeaderText=Gr\u00F6\u00DFe FileChooser.fileTypeHeaderText=Typ -FileChooser.fileDateHeaderText=Ge\u00e4ndert -FileChooser.fileAttrHeaderText=Attribut +FileChooser.fileDateHeaderText=Ge\u00E4ndert +FileChooser.fileAttrHeaderText=Attribute diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_es.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_es.properties index 6645bb24d3b..03d21660371 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_es.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_es.properties @@ -10,6 +10,9 @@ # This may change in future versions of Swing as we improve localization # support. # +# Refer to the note in basic.properties for a description as to what +# the mnemonics correspond to and how to calculate them. +# # @author Steve Wilson @@ -17,21 +20,26 @@ FileChooser.lookInLabelText=Buscar en: FileChooser.saveInLabelText=Guardar en: -FileChooser.fileNameLabelText=Nombre de archivo: -FileChooser.folderNameLabelText=Folder name: -FileChooser.filesOfTypeLabelText=Archivos de tipo: -FileChooser.upFolderToolTipText=Subir un nivel +FileChooser.fileNameLabelText=Nombre de Archivo: +FileChooser.folderNameLabelText=Nombre de la Carpeta: +FileChooser.filesOfTypeLabelText=Archivos de Tipo: +FileChooser.upFolderToolTipText=Subir un Nivel FileChooser.upFolderAccessibleName=Arriba -FileChooser.homeFolderToolTipText=Principal -FileChooser.homeFolderAccessibleName=Principal -FileChooser.newFolderToolTipText=Crear carpeta nueva -FileChooser.newFolderAccessibleName=Carpeta nueva +FileChooser.homeFolderToolTipText=Inicio +FileChooser.homeFolderAccessibleName=Inicio +FileChooser.newFolderToolTipText=Crear Nueva Carpeta +FileChooser.newFolderAccessibleName=Nueva Carpeta +FileChooser.newFolderActionLabelText=Nueva Carpeta FileChooser.listViewButtonToolTipText=Lista FileChooser.listViewButtonAccessibleName=Lista +FileChooser.listViewActionLabelText=Lista FileChooser.detailsViewButtonToolTipText=Detalles FileChooser.detailsViewButtonAccessibleName=Detalles +FileChooser.detailsViewActionLabelText=Detalles +FileChooser.refreshActionLabelText=Refrescar +FileChooser.viewMenuLabelText=Ver FileChooser.fileNameHeaderText=Nombre -FileChooser.fileSizeHeaderText=Tama\u00f1o +FileChooser.fileSizeHeaderText=Tama\u00F1o FileChooser.fileTypeHeaderText=Tipo FileChooser.fileDateHeaderText=Modificado FileChooser.fileAttrHeaderText=Atributos diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_fr.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_fr.properties index 24afdce6063..273351d689d 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_fr.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_fr.properties @@ -10,6 +10,9 @@ # This may change in future versions of Swing as we improve localization # support. # +# Refer to the note in basic.properties for a description as to what +# the mnemonics correspond to and how to calculate them. +# # @author Steve Wilson @@ -17,21 +20,26 @@ FileChooser.lookInLabelText=Rechercher dans : FileChooser.saveInLabelText=Enregistrer dans : -FileChooser.fileNameLabelText=Nom de fichier : -FileChooser.folderNameLabelText=Folder name: -FileChooser.filesOfTypeLabelText=Fichiers du type : +FileChooser.fileNameLabelText=Nom du fichier : +FileChooser.folderNameLabelText=Nom du dossier : +FileChooser.filesOfTypeLabelText=Fichiers de type : FileChooser.upFolderToolTipText=Remonte d'un niveau. -FileChooser.upFolderAccessibleName=Vers le haut -FileChooser.homeFolderToolTipText= R\u00e9pertoire d'accueil -FileChooser.homeFolderAccessibleName=Accueil -FileChooser.newFolderToolTipText=Cr\u00e9e un nouveau dossier. +FileChooser.upFolderAccessibleName=Monter +FileChooser.homeFolderToolTipText=R\u00E9pertoire d'origine +FileChooser.homeFolderAccessibleName=R\u00E9pertoire d'origine +FileChooser.newFolderToolTipText=Cr\u00E9e un dossier. FileChooser.newFolderAccessibleName=Nouveau dossier +FileChooser.newFolderActionLabelText=Nouveau dossier FileChooser.listViewButtonToolTipText=Liste FileChooser.listViewButtonAccessibleName=Liste -FileChooser.detailsViewButtonToolTipText=D\u00e9tails -FileChooser.detailsViewButtonAccessibleName=D\u00e9tails +FileChooser.listViewActionLabelText=Liste +FileChooser.detailsViewButtonToolTipText=D\u00E9tails +FileChooser.detailsViewButtonAccessibleName=D\u00E9tails +FileChooser.detailsViewActionLabelText=D\u00E9tails +FileChooser.refreshActionLabelText=Actualiser +FileChooser.viewMenuLabelText=Affichage FileChooser.fileNameHeaderText=Nom FileChooser.fileSizeHeaderText=Taille FileChooser.fileTypeHeaderText=Type -FileChooser.fileDateHeaderText=Modifi\u00e9 +FileChooser.fileDateHeaderText=Modifi\u00E9 FileChooser.fileAttrHeaderText=Attributs diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_it.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_it.properties index c1eecd62742..da2e2c7bac8 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_it.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_it.properties @@ -10,6 +10,9 @@ # This may change in future versions of Swing as we improve localization # support. # +# Refer to the note in basic.properties for a description as to what +# the mnemonics correspond to and how to calculate them. +# # @author Steve Wilson @@ -18,21 +21,25 @@ FileChooser.lookInLabelText=Cerca in: FileChooser.saveInLabelText=Salva in: FileChooser.fileNameLabelText=Nome file: -FileChooser.folderNameLabelText=Folder name: +FileChooser.folderNameLabelText=Nome della cartella: FileChooser.filesOfTypeLabelText=Tipo file: FileChooser.upFolderToolTipText=Cartella superiore FileChooser.upFolderAccessibleName=Superiore -FileChooser.homeFolderToolTipText=Principale -FileChooser.homeFolderAccessibleName=Principale +FileChooser.homeFolderToolTipText=Home +FileChooser.homeFolderAccessibleName=Home FileChooser.newFolderToolTipText=Crea nuova cartella FileChooser.newFolderAccessibleName=Nuova cartella -FileChooser.listViewButtonToolTipText=Elenco -FileChooser.listViewButtonAccessibleName=Elenco +FileChooser.newFolderActionLabelText=Nuova cartella +FileChooser.listViewButtonToolTipText=Lista +FileChooser.listViewButtonAccessibleName=Lista +FileChooser.listViewActionLabelText=Lista FileChooser.detailsViewButtonToolTipText=Dettagli FileChooser.detailsViewButtonAccessibleName=Dettagli +FileChooser.detailsViewActionLabelText=Dettagli +FileChooser.refreshActionLabelText=Aggiorna +FileChooser.viewMenuLabelText=Visualizza FileChooser.fileNameHeaderText=Nome FileChooser.fileSizeHeaderText=Dimensioni FileChooser.fileTypeHeaderText=Tipo FileChooser.fileDateHeaderText=Modificato FileChooser.fileAttrHeaderText=Attributi - diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ja.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ja.properties index d8c68ddb7e1..382fcf8b9e6 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ja.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ja.properties @@ -18,28 +18,28 @@ ############ FILE CHOOSER STRINGS ############# -FileChooser.lookInLabelText=\u53c2\u7167: -FileChooser.saveInLabelText=\u4fdd\u5b58: -FileChooser.fileNameLabelText=\u30d5\u30a1\u30a4\u30eb\u540d: -FileChooser.folderNameLabelText=Folder name: -FileChooser.filesOfTypeLabelText=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7: -FileChooser.upFolderToolTipText=1 \u30ec\u30d9\u30eb\u4e0a\u3078 -FileChooser.upFolderAccessibleName=\u4e0a\u3078 -FileChooser.homeFolderToolTipText=\u30db\u30fc\u30e0 -FileChooser.homeFolderAccessibleName=\u30db\u30fc\u30e0 -FileChooser.newFolderToolTipText=\u30d5\u30a9\u30eb\u30c0\u306e\u65b0\u898f\u4f5c\u6210 -FileChooser.newFolderAccessibleName=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0 -FileChooser.newFolderActionLabelText=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0 -FileChooser.listViewButtonToolTipText=\u30ea\u30b9\u30c8 -FileChooser.listViewButtonAccessibleName=\u30ea\u30b9\u30c8 -FileChooser.listViewActionLabelText=\u30ea\u30b9\u30c8 -FileChooser.detailsViewButtonToolTipText=\u8a73\u7d30 -FileChooser.detailsViewButtonAccessibleName=\u8a73\u7d30 -FileChooser.detailsViewActionLabelText=\u8a73\u7d30 -FileChooser.refreshActionLabelText=\u66f4\u65b0 -FileChooser.viewMenuLabelText=\u8868\u793a -FileChooser.fileNameHeaderText=\u540d\u524d -FileChooser.fileSizeHeaderText=\u30b5\u30a4\u30ba -FileChooser.fileTypeHeaderText=\u578b -FileChooser.fileDateHeaderText=\u4fee\u6b63\u65e5 -FileChooser.fileAttrHeaderText=\u5c5e\u6027 +FileChooser.lookInLabelText=\u53C2\u7167: +FileChooser.saveInLabelText=\u4FDD\u5B58: +FileChooser.fileNameLabelText=\u30D5\u30A1\u30A4\u30EB\u540D: +FileChooser.folderNameLabelText=\u30D5\u30A9\u30EB\u30C0\u540D: +FileChooser.filesOfTypeLabelText=\u30D5\u30A1\u30A4\u30EB\u306E\u30BF\u30A4\u30D7: +FileChooser.upFolderToolTipText=1\u30EC\u30D9\u30EB\u4E0A\u3078 +FileChooser.upFolderAccessibleName=\u4E0A\u3078 +FileChooser.homeFolderToolTipText=\u30DB\u30FC\u30E0 +FileChooser.homeFolderAccessibleName=\u30DB\u30FC\u30E0 +FileChooser.newFolderToolTipText=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0\u306E\u4F5C\u6210 +FileChooser.newFolderAccessibleName=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0 +FileChooser.newFolderActionLabelText=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0 +FileChooser.listViewButtonToolTipText=\u30EA\u30B9\u30C8 +FileChooser.listViewButtonAccessibleName=\u30EA\u30B9\u30C8 +FileChooser.listViewActionLabelText=\u30EA\u30B9\u30C8 +FileChooser.detailsViewButtonToolTipText=\u8A73\u7D30 +FileChooser.detailsViewButtonAccessibleName=\u8A73\u7D30 +FileChooser.detailsViewActionLabelText=\u8A73\u7D30 +FileChooser.refreshActionLabelText=\u30EA\u30D5\u30EC\u30C3\u30B7\u30E5 +FileChooser.viewMenuLabelText=\u8868\u793A +FileChooser.fileNameHeaderText=\u540D\u524D +FileChooser.fileSizeHeaderText=\u30B5\u30A4\u30BA +FileChooser.fileTypeHeaderText=\u30BF\u30A4\u30D7 +FileChooser.fileDateHeaderText=\u4FEE\u6B63\u65E5 +FileChooser.fileAttrHeaderText=\u5C5E\u6027 diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ko.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ko.properties index e3b817e9e0b..adc9b1d5990 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ko.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ko.properties @@ -10,34 +10,36 @@ # This may change in future versions of Swing as we improve localization # support. # +# Refer to the note in basic.properties for a description as to what +# the mnemonics correspond to and how to calculate them. +# # @author Steve Wilson ############ FILE CHOOSER STRINGS ############# -FileChooser.lookInLabelText=\uac80\uc0c9 \uc704\uce58: -FileChooser.saveInLabelText=\uc800\uc7a5 \uc704\uce58 -FileChooser.fileNameLabelText=\ud30c\uc77c \uc774\ub984: -FileChooser.folderNameLabelText=Folder name: -FileChooser.filesOfTypeLabelText=\ud30c\uc77c \uc885\ub958: -FileChooser.upFolderToolTipText=\ud55c \ub2e8\uacc4 \uc704\ub85c -FileChooser.upFolderAccessibleName=\uc704 -FileChooser.homeFolderToolTipText=\ud648 -FileChooser.homeFolderAccessibleName=\ud648 -FileChooser.newFolderToolTipText=\uc0c8 \ud3f4\ub354 \uc791\uc131 -FileChooser.newFolderAccessibleName=\uc0c8 \ud3f4\ub354 -FileChooser.newFolderActionLabelText=\uc0c8 \ud3f4\ub354 -FileChooser.listViewButtonToolTipText=\ubaa9\ub85d -FileChooser.listViewButtonAccessibleName=\ubaa9\ub85d -FileChooser.listViewActionLabelText=\ubaa9\ub85d -FileChooser.detailsViewButtonToolTipText=\uc790\uc138\ud788 -FileChooser.detailsViewButtonAccessibleName=\uc790\uc138\ud788 -FileChooser.detailsViewActionLabelText=\uc790\uc138\ud788 -FileChooser.refreshActionLabelText=\uac31\uc2e0 -FileChooser.viewMenuLabelText=\ubcf4\uae30 -FileChooser.fileNameHeaderText=\uc774\ub984 -FileChooser.fileSizeHeaderText=\ud06c\uae30 -FileChooser.fileTypeHeaderText=\uc885\ub958 -FileChooser.fileDateHeaderText=\uc218\uc815 -FileChooser.fileAttrHeaderText=\uc18d\uc131 - +FileChooser.lookInLabelText=\uAC80\uC0C9 \uC704\uCE58: +FileChooser.saveInLabelText=\uC800\uC7A5 \uC704\uCE58: +FileChooser.fileNameLabelText=\uD30C\uC77C \uC774\uB984: +FileChooser.folderNameLabelText=\uD3F4\uB354 \uC774\uB984: +FileChooser.filesOfTypeLabelText=\uD30C\uC77C \uC720\uD615: +FileChooser.upFolderToolTipText=\uD55C \uB808\uBCA8 \uC704\uB85C +FileChooser.upFolderAccessibleName=\uC704\uB85C +FileChooser.homeFolderToolTipText=\uD648 +FileChooser.homeFolderAccessibleName=\uD648 +FileChooser.newFolderToolTipText=\uC0C8 \uD3F4\uB354 \uC0DD\uC131 +FileChooser.newFolderAccessibleName=\uC0C8 \uD3F4\uB354 +FileChooser.newFolderActionLabelText=\uC0C8 \uD3F4\uB354 +FileChooser.listViewButtonToolTipText=\uBAA9\uB85D +FileChooser.listViewButtonAccessibleName=\uBAA9\uB85D +FileChooser.listViewActionLabelText=\uBAA9\uB85D +FileChooser.detailsViewButtonToolTipText=\uC138\uBD80 \uC815\uBCF4 +FileChooser.detailsViewButtonAccessibleName=\uC138\uBD80 \uC815\uBCF4 +FileChooser.detailsViewActionLabelText=\uC138\uBD80 \uC815\uBCF4 +FileChooser.refreshActionLabelText=\uC0C8\uB85C \uACE0\uCE68 +FileChooser.viewMenuLabelText=\uBCF4\uAE30 +FileChooser.fileNameHeaderText=\uC774\uB984 +FileChooser.fileSizeHeaderText=\uD06C\uAE30 +FileChooser.fileTypeHeaderText=\uC720\uD615 +FileChooser.fileDateHeaderText=\uC218\uC815 \uB0A0\uC9DC +FileChooser.fileAttrHeaderText=\uC18D\uC131 diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_pt_BR.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_pt_BR.properties index 395bd612741..b14a61f5b5d 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_pt_BR.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_pt_BR.properties @@ -10,22 +10,26 @@ # This may change in future versions of Swing as we improve localization # support. # +# Refer to the note in basic.properties for a description as to what +# the mnemonics correspond to and how to calculate them. +# # @author Steve Wilson ############ FILE CHOOSER STRINGS ############# -FileChooser.lookInLabelText=Consultar em: -FileChooser.saveInLabelText=Salvar em: -FileChooser.fileNameLabelText=Nome de arquivo: -FileChooser.filesOfTypeLabelText=Arquivos de tipo: -FileChooser.upFolderToolTipText=Um n\u00edvel acima +FileChooser.lookInLabelText=Consultar Em: +FileChooser.saveInLabelText=Salvar Em: +FileChooser.fileNameLabelText=Nome do Arquivo: +FileChooser.folderNameLabelText=Nome da pasta: +FileChooser.filesOfTypeLabelText=Arquivos do Tipo: +FileChooser.upFolderToolTipText=Um N\u00EDvel Acima FileChooser.upFolderAccessibleName=Acima -FileChooser.homeFolderToolTipText=In\u00edcio -FileChooser.homeFolderAccessibleName=In\u00edcio -FileChooser.newFolderToolTipText=Criar nova pasta -FileChooser.newFolderAccessibleName=Nova pasta -FileChooser.newFolderActionLabelText=Nova pasta +FileChooser.homeFolderToolTipText=In\u00EDcio +FileChooser.homeFolderAccessibleName=In\u00EDcio +FileChooser.newFolderToolTipText=Criar Nova Pasta +FileChooser.newFolderAccessibleName=Nova Pasta +FileChooser.newFolderActionLabelText=Nova Pasta FileChooser.listViewButtonToolTipText=Lista FileChooser.listViewButtonAccessibleName=Lista FileChooser.listViewActionLabelText=Lista diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_sv.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_sv.properties index eadf8335e96..9167b72f17b 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_sv.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_sv.properties @@ -10,28 +10,36 @@ # This may change in future versions of Swing as we improve localization # support. # +# Refer to the note in basic.properties for a description as to what +# the mnemonics correspond to and how to calculate them. +# # @author Steve Wilson ############ FILE CHOOSER STRINGS ############# -FileChooser.lookInLabelText=S\u00f6k i: +FileChooser.lookInLabelText=Leta i: FileChooser.saveInLabelText=Spara i: FileChooser.fileNameLabelText=Filnamn: -FileChooser.folderNameLabelText=Folder name: +FileChooser.folderNameLabelText=Mapp: FileChooser.filesOfTypeLabelText=Filformat: -FileChooser.upFolderToolTipText=Upp en niv\u00e5 +FileChooser.upFolderToolTipText=Upp en niv\u00E5 FileChooser.upFolderAccessibleName=Upp FileChooser.homeFolderToolTipText=Hem FileChooser.homeFolderAccessibleName=Hem FileChooser.newFolderToolTipText=Skapa ny mapp FileChooser.newFolderAccessibleName=Ny mapp +FileChooser.newFolderActionLabelText=Ny mapp FileChooser.listViewButtonToolTipText=Lista FileChooser.listViewButtonAccessibleName=Lista -FileChooser.detailsViewButtonToolTipText=Detaljerad lista -FileChooser.detailsViewButtonAccessibleName=Detaljerad lista +FileChooser.listViewActionLabelText=Lista +FileChooser.detailsViewButtonToolTipText=Detaljer +FileChooser.detailsViewButtonAccessibleName=Detaljer +FileChooser.detailsViewActionLabelText=Detaljer +FileChooser.refreshActionLabelText=F\u00F6rnya +FileChooser.viewMenuLabelText=Vy FileChooser.fileNameHeaderText=Namn FileChooser.fileSizeHeaderText=Storlek FileChooser.fileTypeHeaderText=Typ -FileChooser.fileDateHeaderText=\u00c4ndrad +FileChooser.fileDateHeaderText=\u00C4ndrad FileChooser.fileAttrHeaderText=Attribut diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_CN.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_CN.properties index 2ca34e130ae..547fd155f8c 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_CN.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_CN.properties @@ -10,28 +10,36 @@ # This may change in future versions of Swing as we improve localization # support. # +# Refer to the note in basic.properties for a description as to what +# the mnemonics correspond to and how to calculate them. +# # @author Steve Wilson ############ FILE CHOOSER STRINGS ############# -FileChooser.lookInLabelText=\u67e5\u770b\uff1a -FileChooser.saveInLabelText=\u4fdd\u5b58\uff1a -FileChooser.fileNameLabelText=\u6587\u4ef6\u540d\uff1a -FileChooser.folderNameLabelText=Folder name: -FileChooser.filesOfTypeLabelText=\u6587\u4ef6\u7c7b\u578b\uff1a -FileChooser.upFolderToolTipText=\u5411\u4e0a\u4e00\u5c42 -FileChooser.upFolderAccessibleName=\u5411\u4e0a -FileChooser.homeFolderToolTipText=\u8d77\u59cb\u76ee\u5f55 -FileChooser.homeFolderAccessibleName=\u8d77\u59cb\u76ee\u5f55 -FileChooser.newFolderToolTipText=\u521b\u5efa\u65b0\u7684\u6587\u4ef6\u5939 -FileChooser.newFolderAccessibleName=\u65b0\u5efa\u6587\u4ef6\u5939 +FileChooser.lookInLabelText=\u67E5\u770B: +FileChooser.saveInLabelText=\u4FDD\u5B58: +FileChooser.fileNameLabelText=\u6587\u4EF6\u540D: +FileChooser.folderNameLabelText=\u6587\u4EF6\u5939\u540D: +FileChooser.filesOfTypeLabelText=\u6587\u4EF6\u7C7B\u578B: +FileChooser.upFolderToolTipText=\u5411\u4E0A\u4E00\u7EA7 +FileChooser.upFolderAccessibleName=\u5411\u4E0A +FileChooser.homeFolderToolTipText=\u4E3B\u76EE\u5F55 +FileChooser.homeFolderAccessibleName=\u4E3B\u76EE\u5F55 +FileChooser.newFolderToolTipText=\u521B\u5EFA\u65B0\u6587\u4EF6\u5939 +FileChooser.newFolderAccessibleName=\u65B0\u5EFA\u6587\u4EF6\u5939 +FileChooser.newFolderActionLabelText=\u65B0\u5EFA\u6587\u4EF6\u5939 FileChooser.listViewButtonToolTipText=\u5217\u8868 FileChooser.listViewButtonAccessibleName=\u5217\u8868 -FileChooser.detailsViewButtonToolTipText=\u8be6\u7ec6\u4fe1\u606f -FileChooser.detailsViewButtonAccessibleName=\u8be6\u7ec6\u4fe1\u606f -FileChooser.fileNameHeaderText=\u540d\u79f0 -FileChooser.fileSizeHeaderText=\u5927\u5c0f -FileChooser.fileTypeHeaderText=\u7c7b\u578b -FileChooser.fileDateHeaderText=\u4fee\u6b63\u7248 -FileChooser.fileAttrHeaderText=\u5c5e\u6027 +FileChooser.listViewActionLabelText=\u5217\u8868 +FileChooser.detailsViewButtonToolTipText=\u8BE6\u7EC6\u8D44\u6599 +FileChooser.detailsViewButtonAccessibleName=\u8BE6\u7EC6\u8D44\u6599 +FileChooser.detailsViewActionLabelText=\u8BE6\u7EC6\u8D44\u6599 +FileChooser.refreshActionLabelText=\u5237\u65B0 +FileChooser.viewMenuLabelText=\u89C6\u56FE +FileChooser.fileNameHeaderText=\u540D\u79F0 +FileChooser.fileSizeHeaderText=\u5927\u5C0F +FileChooser.fileTypeHeaderText=\u7C7B\u578B +FileChooser.fileDateHeaderText=\u4FEE\u6539\u65E5\u671F +FileChooser.fileAttrHeaderText=\u5C5E\u6027 diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_TW.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_TW.properties index 42493313a9c..1144f6173dd 100644 --- a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_TW.properties +++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_TW.properties @@ -10,28 +10,36 @@ # This may change in future versions of Swing as we improve localization # support. # +# Refer to the note in basic.properties for a description as to what +# the mnemonics correspond to and how to calculate them. +# # @author Steve Wilson ############ FILE CHOOSER STRINGS ############# -FileChooser.lookInLabelText=\u67e5\u770b\ufe55 -FileChooser.saveInLabelText=\u5132\u5b58\u65bc\uff1a -FileChooser.fileNameLabelText=\u6a94\u6848\u540d\u7a31\ufe55 -FileChooser.folderNameLabelText=Folder name: -FileChooser.filesOfTypeLabelText=\u6a94\u6848\u985e\u578b\ufe55 -FileChooser.upFolderToolTipText=\u5f80\u4e0a\u4e00\u5c64 -FileChooser.upFolderAccessibleName=\u5f80\u4e0a -FileChooser.homeFolderToolTipText=\u4e3b\u76ee\u9304 -FileChooser.homeFolderAccessibleName=\u4e3b\u76ee\u9304 -FileChooser.newFolderToolTipText=\u5efa\u7acb\u65b0\u8cc7\u6599\u593e -FileChooser.newFolderAccessibleName=\u65b0\u8cc7\u6599\u593e -FileChooser.listViewButtonToolTipText=\u6e05\u55ae -FileChooser.listViewButtonAccessibleName=\u6e05\u55ae -FileChooser.detailsViewButtonToolTipText=\u8a73\u7d30\u8cc7\u8a0a -FileChooser.detailsViewButtonAccessibleName=\u8a73\u7d30\u8cc7\u8a0a -FileChooser.fileNameHeaderText=\u540d\u7a31 -FileChooser.fileSizeHeaderText=\u5927\u5c0f -FileChooser.fileTypeHeaderText=\u985e\u578b -FileChooser.fileDateHeaderText=\u5df2\u4fee\u6539 -FileChooser.fileAttrHeaderText=\u5c6c\u6027 +FileChooser.lookInLabelText=\u67E5\u8A62: +FileChooser.saveInLabelText=\u5132\u5B58\u65BC: +FileChooser.fileNameLabelText=\u6A94\u6848\u540D\u7A31: +FileChooser.folderNameLabelText=\u8CC7\u6599\u593E\u540D\u7A31: +FileChooser.filesOfTypeLabelText=\u6A94\u6848\u985E\u578B: +FileChooser.upFolderToolTipText=\u5F80\u4E0A\u4E00\u5C64 +FileChooser.upFolderAccessibleName=\u5F80\u4E0A +FileChooser.homeFolderToolTipText=\u4E3B\u76EE\u9304 +FileChooser.homeFolderAccessibleName=\u4E3B\u76EE\u9304 +FileChooser.newFolderToolTipText=\u5EFA\u7ACB\u65B0\u8CC7\u6599\u593E +FileChooser.newFolderAccessibleName=\u65B0\u8CC7\u6599\u593E +FileChooser.newFolderActionLabelText=\u65B0\u8CC7\u6599\u593E +FileChooser.listViewButtonToolTipText=\u6E05\u55AE +FileChooser.listViewButtonAccessibleName=\u6E05\u55AE +FileChooser.listViewActionLabelText=\u6E05\u55AE +FileChooser.detailsViewButtonToolTipText=\u8A73\u7D30\u8CC7\u8A0A +FileChooser.detailsViewButtonAccessibleName=\u8A73\u7D30\u8CC7\u8A0A +FileChooser.detailsViewActionLabelText=\u8A73\u7D30\u8CC7\u8A0A +FileChooser.refreshActionLabelText=\u91CD\u65B0\u6574\u7406 +FileChooser.viewMenuLabelText=\u6AA2\u8996 +FileChooser.fileNameHeaderText=\u540D\u7A31 +FileChooser.fileSizeHeaderText=\u5927\u5C0F +FileChooser.fileTypeHeaderText=\u985E\u578B +FileChooser.fileDateHeaderText=\u4FEE\u6539\u65E5\u671F +FileChooser.fileAttrHeaderText=\u5C6C\u6027 diff --git a/jdk/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java b/jdk/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java index 6e61b51a217..14b3073f689 100644 --- a/jdk/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java +++ b/jdk/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2010, 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 @@ -45,403 +45,282 @@ public class TTYResources_ja extends java.util.ListResourceBundle { * @return the contents of this ResourceBundle. */ public Object[][] getContents() { - return new Object[][] { + Object[][] temp = new Object[][] { // NOTE: The value strings in this file containing "{0}" are // processed by the java.text.MessageFormat class. Any // single quotes appearing in these strings need to be // doubled up. // // LOCALIZE THIS - {"** classes list **", "** \u30af\u30e9\u30b9\u30ea\u30b9\u30c8 **\n{0}"}, - {"** fields list **", "** \u30d5\u30a3\u30fc\u30eb\u30c9\u30ea\u30b9\u30c8 **\n{0}"}, - {"** methods list **", "** \u30e1\u30bd\u30c3\u30c9\u30ea\u30b9\u30c8 **\n{0}"}, - {"*** Reading commands from", "*** {0} \u304b\u3089\u30b3\u30de\u30f3\u30c9\u3092\u8aad\u307f\u8fbc\u3093\u3067\u3044\u307e\u3059"}, - {"All threads resumed.", "\u3059\u3079\u3066\u306e\u30b9\u30ec\u30c3\u30c9\u304c\u518d\u958b\u3055\u308c\u307e\u3057\u305f\u3002"}, - {"All threads suspended.", "\u3059\u3079\u3066\u306e\u30b9\u30ec\u30c3\u30c9\u304c\u4e2d\u65ad\u3055\u308c\u307e\u3057\u305f\u3002"}, - {"Argument is not defined for connector:", "\u30b3\u30cd\u30af\u30bf {1} \u3067\u5f15\u6570 {0} \u304c\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u305b\u3093"}, - {"Arguments match no method", "\u5f15\u6570\u3068\u4e00\u81f4\u3059\u308b\u30e1\u30bd\u30c3\u30c9\u304c\u3042\u308a\u307e\u305b\u3093"}, - {"Array:", "\u914d\u5217: {0}"}, - {"Array element is not a method", "\u914d\u5217\u8981\u7d20\u306f\u3001\u30e1\u30bd\u30c3\u30c9\u3067\u306f\u3042\u308a\u307e\u305b\u3093"}, - {"Array index must be a integer type", "\u914d\u5217\u306e\u6dfb\u3048\u5b57\u306f\u6574\u6570\u578b\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059"}, - {"base directory:", "\u30d9\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea: {0}"}, - {"bootclasspath:", "\u30d6\u30fc\u30c8\u30af\u30e9\u30b9\u30d1\u30b9: {0}"}, - {"Breakpoint hit:", "\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u306e\u30d2\u30c3\u30c8: "}, - {"breakpoint", "\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8 {0}"}, - {"Breakpoints set:", "\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u306e\u30bb\u30c3\u30c8:"}, - {"Breakpoints can be located only in classes.", "\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u306f\u3001\u30af\u30e9\u30b9\u306b\u306e\u307f\u5272\u308a\u5f53\u3066\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002{0} \u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u307e\u305f\u306f\u914d\u5217\u3067\u3059\u3002"}, - {"Can only trace", "'methods'\u3001'method exit' \u307e\u305f\u306f 'method exits' \u306e\u307f\u3092\u30c8\u30ec\u30fc\u30b9\u3067\u304d\u307e\u3059"}, - {"cannot redefine existing connection", "{0} \u306f\u3001\u65e2\u5b58\u306e\u63a5\u7d9a\u3092\u518d\u5b9a\u7fa9\u3067\u304d\u307e\u305b\u3093"}, - {"Cannot assign to a method invocation", "\u30e1\u30bd\u30c3\u30c9\u547c\u3073\u51fa\u3057\u306b\u306f\u5272\u308a\u5f53\u3066\u3089\u308c\u307e\u305b\u3093"}, - {"Cannot specify command line with connector:", "\u30b3\u30cd\u30af\u30bf\uff5b0} \u3067\u306f\u30b3\u30de\u30f3\u30c9\u884c\u3092\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093"}, - {"Cannot specify target vm arguments with connector:", "\u30b3\u30cd\u30af\u30bf {0}\u3067\u306f\u3001\u30bf\u30fc\u30b2\u30c3\u30c8 VM \u5f15\u6570\u3092\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093"}, - {"Class containing field must be specified.", "\u30d5\u30a3\u30fc\u30eb\u30c9\u3092\u542b\u3080\u30af\u30e9\u30b9\u3092\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002"}, - {"Class:", "\u30af\u30e9\u30b9: {0}"}, - {"Classic VM no longer supported.", "Classic VM \u306f\u3082\u3046\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"classpath:", "\u30af\u30e9\u30b9\u30d1\u30b9: {0}"}, + {"** classes list **", "** \u30AF\u30E9\u30B9\u30FB\u30EA\u30B9\u30C8 **\n{0}"}, + {"** fields list **", "** \u30D5\u30A3\u30FC\u30EB\u30C9\u30FB\u30EA\u30B9\u30C8 **\n{0}"}, + {"** methods list **", "** \u30E1\u30BD\u30C3\u30C9\u30FB\u30EA\u30B9\u30C8 **\n{0}"}, + {"*** Reading commands from", "*** {0}\u304B\u3089\u306E\u30B3\u30DE\u30F3\u30C9\u306E\u8AAD\u53D6\u308A"}, + {"All threads resumed.", "\u3059\u3079\u3066\u306E\u30B9\u30EC\u30C3\u30C9\u304C\u518D\u958B\u3055\u308C\u307E\u3057\u305F\u3002"}, + {"All threads suspended.", "\u3059\u3079\u3066\u306E\u30B9\u30EC\u30C3\u30C9\u304C\u4E2D\u65AD\u3055\u308C\u307E\u3057\u305F\u3002"}, + {"Argument is not defined for connector:", "\u5F15\u6570{0}\u306F\u30B3\u30CD\u30AF\u30BF\u306B\u5BFE\u3057\u3066\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093: {1}"}, + {"Arguments match no method", "\u5F15\u6570\u304C\u9069\u5408\u3059\u308B\u30E1\u30BD\u30C3\u30C9\u304C\u3042\u308A\u307E\u305B\u3093"}, + {"Array:", "\u914D\u5217: {0}"}, + {"Array element is not a method", "\u914D\u5217\u8981\u7D20\u306F\u30E1\u30BD\u30C3\u30C9\u3067\u306F\u3042\u308A\u307E\u305B\u3093"}, + {"Array index must be a integer type", "\u914D\u5217\u306E\u6DFB\u3048\u5B57\u306F\u6574\u6570\u578B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"}, + {"base directory:", "\u30D9\u30FC\u30B9\u30FB\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA: {0}"}, + {"bootclasspath:", "\u30D6\u30FC\u30C8\u30FB\u30AF\u30E9\u30B9\u30D1\u30B9: {0}"}, + {"Breakpoint hit:", "\u30D2\u30C3\u30C8\u3057\u305F\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8: "}, + {"breakpoint", "\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8{0}"}, + {"Breakpoints set:", "\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u308B\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8:"}, + {"Breakpoints can be located only in classes.", "\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u306F\u30AF\u30E9\u30B9\u5185\u306B\u306E\u307F\u914D\u7F6E\u3067\u304D\u307E\u3059\u3002{0}\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u307E\u305F\u306F\u914D\u5217\u3067\u3059\u3002"}, + {"Can only trace", "'methods'\u3001'method exit'\u307E\u305F\u306F'method exits'\u306E\u307F\u30C8\u30EC\u30FC\u30B9\u3067\u304D\u307E\u3059"}, + {"cannot redefine existing connection", "{0}\u306F\u65E2\u5B58\u306E\u63A5\u7D9A\u3092\u518D\u5B9A\u7FA9\u3067\u304D\u307E\u305B\u3093"}, + {"Cannot assign to a method invocation", "\u30E1\u30BD\u30C3\u30C9\u547C\u51FA\u3057\u306B\u5272\u5F53\u3066\u3067\u304D\u307E\u305B\u3093"}, + {"Cannot specify command line with connector:", "\u30B3\u30CD\u30AF\u30BF\u3067\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u3092\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093: {0}"}, + {"Cannot specify target vm arguments with connector:", "\u30B3\u30CD\u30AF\u30BF\u3067\u30BF\u30FC\u30B2\u30C3\u30C8VM\u5F15\u6570\u3092\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093: {0}"}, + {"Class containing field must be specified.", "\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u542B\u3080\u30AF\u30E9\u30B9\u3092\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002"}, + {"Class:", "\u30AF\u30E9\u30B9: {0}"}, + {"Classic VM no longer supported.", "Classic VM\u306F\u73FE\u5728\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"classpath:", "\u30AF\u30E9\u30B9\u30D1\u30B9: {0}"}, {"colon mark", ":"}, {"colon space", ": "}, - {"Command is not supported on the target VM", "\u30bf\u30fc\u30b2\u30c3\u30c8 VM \u3067\u306f\u3001\u30b3\u30de\u30f3\u30c9 ''{0}'' \u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093"}, - {"Command is not supported on a read-only VM connection", "\u8aad\u307f\u53d6\u308a\u5c02\u7528 VM \u63a5\u7d9a\u3067\u306f\u3001\u30b3\u30de\u30f3\u30c9 ''{0}'' \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093"}, - {"Command not valid until the VM is started with the run command", "\u30b3\u30de\u30f3\u30c9 ''{0}'' \u306f\u3001''run'' \u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u3063\u3066 VM \u3092\u8d77\u52d5\u3059\u308b\u307e\u3067\u6709\u52b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093"}, - {"Condition must be boolean", "\u6761\u4ef6\u306f boolean \u578b\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059"}, - {"Connector and Transport name", " \u30b3\u30cd\u30af\u30bf: {0} \u30c8\u30e9\u30f3\u30b9\u30dd\u30fc\u30c8: {1}"}, - {"Connector argument nodefault", " \u5f15\u6570: {0} (\u30c7\u30d5\u30a9\u30eb\u30c8\u306a\u3057)"}, - {"Connector argument default", " \u5f15\u6570: {0} \u30c7\u30d5\u30a9\u30eb\u30c8\u5024: {1}"}, - {"Connector description", " \u8aac\u660e: {0}"}, - {"Connector required argument nodefault", " \u5fc5\u9808\u5f15\u6570: {0} (\u30c7\u30d5\u30a9\u30eb\u30c8\u306a\u3057)"}, - {"Connector required argument default", " \u5fc5\u9808\u5f15\u6570: {0} \u30c7\u30d5\u30a9\u30eb\u30c8\u5024: {1}"}, - {"Connectors available", "\u5229\u7528\u53ef\u80fd\u306a\u30b3\u30cd\u30af\u30bf:"}, - {"Constant is not a method", "\u5b9a\u6570\u306f\u30e1\u30bd\u30c3\u30c9\u3067\u306f\u3042\u308a\u307e\u305b\u3093"}, - {"Could not open:", "{0} \u3092\u958b\u3051\u307e\u305b\u3093"}, - {"Current method is native", "\u73fe\u884c\u306e\u30e1\u30bd\u30c3\u30c9\u306f\u30cd\u30a4\u30c6\u30a3\u30d6\u3067\u3059"}, - {"Current thread died. Execution continuing...", "\u73fe\u5728\u306e\u30b9\u30ec\u30c3\u30c9 {0} \u304c\u4e2d\u65ad\u3055\u308c\u307e\u3057\u305f\u3002\u51e6\u7406\u3092\u7d9a\u884c\u3057\u3066\u3044\u307e\u3059..."}, - {"Current thread isnt suspended.", "\u73fe\u5728\u306e\u30b9\u30ec\u30c3\u30c9\u306f\u505c\u6b62\u3057\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"Current thread not set.", "\u73fe\u5728\u306e\u30b9\u30ec\u30c3\u30c9\u306f\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"dbgtrace flag value must be an integer:", "dbgtrace \u30d5\u30e9\u30b0\u5024\u306f\u3001\u6574\u6570\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059: {0}"}, - {"Deferring.", "{0} \u3092\u4fdd\u7559\u3057\u3066\u3044\u307e\u3059\u3002\n\u30af\u30e9\u30b9\u304c\u30ed\u30fc\u30c9\u3055\u308c\u305f\u5f8c\u306b\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u3002"}, - {"End of stack.", "\u30b9\u30bf\u30c3\u30af\u306e\u7d42\u308f\u308a\u3002"}, - {"Error popping frame", "\u30d5\u30ec\u30fc\u30e0\u306e\u30dd\u30c3\u30d7\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f - {0}"}, - {"Error reading file", "''{0}'' \u306e \u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f - {1}"}, - {"Error redefining class to file", "{0} \u306e {1} \u3078\u306e\u518d\u5b9a\u7fa9\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f - {2}"}, - {"exceptionSpec all", "all {0}"}, - {"exceptionSpec caught", "caught {0}"}, - {"exceptionSpec uncaught", "uncaught {0}"}, - {"Exception in expression:", "\u5f0f\u3067\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}"}, - {"Exception occurred caught", "\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0} ({1}\u3067\u30ad\u30e3\u30c3\u30c1\u3055\u308c\u307e\u3057\u305f)"}, - {"Exception occurred uncaught", "\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0} (\u30ad\u30e3\u30c3\u30c1\u3055\u308c\u3066\u3044\u307e\u305b\u3093)"}, - {"Exceptions caught:", "\u4ee5\u4e0b\u306e\u4f8b\u5916\u304c\u767a\u751f\u3057\u305f\u6642\u306b\u505c\u6b62\u3057\u307e\u3059:"}, + {"Command is not supported on the target VM", "\u30B3\u30DE\u30F3\u30C9''{0}''\u306F\u30BF\u30FC\u30B2\u30C3\u30C8VM\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093"}, + {"Command is not supported on a read-only VM connection", "\u30B3\u30DE\u30F3\u30C9''{0}''\u306F\u8AAD\u53D6\u308A\u5C02\u7528VM\u63A5\u7D9A\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093"}, + {"Command not valid until the VM is started with the run command", "\u30B3\u30DE\u30F3\u30C9''{0}''\u306F\u3001VM\u304C''run''\u30B3\u30DE\u30F3\u30C9\u3067\u958B\u59CB\u3055\u308C\u308B\u307E\u3067\u7121\u52B9\u3067\u3059"}, + {"Condition must be boolean", "\u6761\u4EF6\u306Fboolean\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"}, + {"Connector and Transport name", " \u30B3\u30CD\u30AF\u30BF: {0} \u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30C8: {1}"}, + {"Connector argument nodefault", " \u5F15\u6570: {0} (\u30C7\u30D5\u30A9\u30EB\u30C8\u306A\u3057)"}, + {"Connector argument default", " \u5F15\u6570: {0} \u30C7\u30D5\u30A9\u30EB\u30C8\u5024: {1}"}, + {"Connector description", " \u8AAC\u660E: {0}"}, + {"Connector required argument nodefault", " \u5FC5\u9808\u5F15\u6570: {0} (\u30C7\u30D5\u30A9\u30EB\u30C8\u306A\u3057)"}, + {"Connector required argument default", " \u5FC5\u9808\u5F15\u6570: {0} \u30C7\u30D5\u30A9\u30EB\u30C8\u5024: {1}"}, + {"Connectors available", "\u5229\u7528\u53EF\u80FD\u306A\u30B3\u30CD\u30AF\u30BF:"}, + {"Constant is not a method", "\u5B9A\u6570\u306F\u30E1\u30BD\u30C3\u30C9\u3067\u306F\u3042\u308A\u307E\u305B\u3093"}, + {"Could not open:", "\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F: {0}"}, + {"Current method is native", "\u73FE\u5728\u306E\u30E1\u30BD\u30C3\u30C9\u306Fnative\u3067\u3059"}, + {"Current thread died. Execution continuing...", "\u73FE\u5728\u306E\u30B9\u30EC\u30C3\u30C9{0}\u304C\u7D42\u4E86\u3057\u307E\u3057\u305F\u3002\u5B9F\u884C\u304C\u7D9A\u884C\u4E2D..."}, + {"Current thread isnt suspended.", "\u73FE\u5728\u306E\u30B9\u30EC\u30C3\u30C9\u306F\u4E2D\u65AD\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"Current thread not set.", "\u73FE\u5728\u306E\u30B9\u30EC\u30C3\u30C9\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"dbgtrace flag value must be an integer:", "dbgtrace\u30D5\u30E9\u30B0\u5024\u306F\u6574\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059: {0}"}, + {"Deferring.", "\u9045\u5EF6\u3057\u305F{0}\u3002\n\u30AF\u30E9\u30B9\u304C\u30ED\u30FC\u30C9\u3055\u308C\u305F\u5F8C\u306B\u8A2D\u5B9A\u3055\u308C\u307E\u3059\u3002"}, + {"End of stack.", "\u30B9\u30BF\u30C3\u30AF\u306E\u7D42\u308F\u308A\u3002"}, + {"Error popping frame", "\u30D5\u30EC\u30FC\u30E0\u306E\u30DD\u30C3\u30D7\u4E2D\u306E\u30A8\u30E9\u30FC - {0}"}, + {"Error reading file", "''{0}''\u306E\u8AAD\u53D6\u308A\u30A8\u30E9\u30FC - {1}"}, + {"Error redefining class to file", "{0}\u3092{1}\u306B\u518D\u5B9A\u7FA9\u4E2D\u306E\u30A8\u30E9\u30FC - {2}"}, + {"exceptionSpec all", "\u3059\u3079\u3066\u306E{0}"}, + {"exceptionSpec caught", "\u6355\u6349\u3057\u305F{0}"}, + {"exceptionSpec uncaught", "\u6355\u6349\u3055\u308C\u306A\u3044{0}"}, + {"Exception in expression:", "\u5F0F\u306E\u4F8B\u5916: {0}"}, + {"Exception occurred caught", "\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {0} (\u6355\u6349\u3055\u308C\u308B\u5834\u6240: {1})"}, + {"Exception occurred uncaught", "\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {0} (\u6355\u6349\u3055\u308C\u306A\u3044)"}, + {"Exceptions caught:", "\u6B21\u306E\u4F8B\u5916\u304C\u767A\u751F\u3057\u305F\u3068\u304D\u306B\u30D6\u30EC\u30FC\u30AF:"}, {"expr is null", "{0} = null"}, {"expr is value", "{0} = {1}"}, - {"expr is value ", " {0} = {1} <\u53ce\u96c6\u3055\u308c\u307e\u3057\u305f>"}, - {"Expression cannot be void", "\u5f0f\u3092 void \u578b\u306b\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093"}, - {"Expression must evaluate to an object", "\u5f0f\u3067\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u8a55\u4fa1\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059"}, - {"extends:", "\u62e1\u5f35: {0}"}, - {"Failed reading output", "\u5b50 java \u30a4\u30f3\u30bf\u30d7\u30ea\u30bf\u306e\u51fa\u529b\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"}, - {"Fatal error", "\u81f4\u547d\u7684\u30a8\u30e9\u30fc:"}, - {"Field access encountered before after", "{1} \u306e\u30d5\u30a3\u30fc\u30eb\u30c9 ({0}) \u306f {2} \u306b\u306a\u308a\u307e\u3059: "}, - {"Field access encountered", "\u30d5\u30a3\u30fc\u30eb\u30c9 ({0}) \u3078\u306e\u30a2\u30af\u30bb\u30b9\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f: "}, - {"Field to unwatch not specified", "\u76e3\u8996\u3057\u306a\u3044\u30d5\u30a3\u30fc\u30eb\u30c9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"Field to watch not specified", "\u76e3\u8996\u3059\u308b\u30d5\u30a3\u30fc\u30eb\u30c9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"GC Disabled for", "{0} \u3067\u306f GC \u304c\u7121\u52b9\u3067\u3059:"}, - {"GC Enabled for", "{0} \u3067\u306f GC \u304c\u6709\u52b9\u3067\u3059:"}, + {"expr is value ", " {0} = {1} "}, + {"Expression cannot be void", "\u5F0F\u306Fvoid\u578B\u306B\u3067\u304D\u307E\u305B\u3093"}, + {"Expression must evaluate to an object", "\u5F0F\u306F\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3068\u3057\u3066\u8A55\u4FA1\u3055\u308C\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"}, + {"extends:", "\u62E1\u5F35\u3057\u307E\u3059: {0}"}, + {"Failed reading output", "\u5B50\u306Ejava\u30A4\u30F3\u30BF\u30FC\u30D7\u30EA\u30BF\u306E\u51FA\u529B\u306E\u8AAD\u53D6\u308A\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002"}, + {"Fatal error", "\u81F4\u547D\u7684\u30A8\u30E9\u30FC:"}, + {"Field access encountered before after", "\u30D5\u30A3\u30FC\u30EB\u30C9({0})\u306F{1}\u3067\u3001{2}\u306B\u306A\u308A\u307E\u3059: "}, + {"Field access encountered", "\u30D5\u30A3\u30FC\u30EB\u30C9({0})\u306E\u30A2\u30AF\u30BB\u30B9\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F: "}, + {"Field to unwatch not specified", "\u76E3\u8996\u3057\u306A\u3044\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"Field to watch not specified", "\u76E3\u8996\u3059\u308B\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"GC Disabled for", "{0}\u306EGC\u304C\u7121\u52B9\u3067\u3059:"}, + {"GC Enabled for", "{0}\u306EGC\u304C\u6709\u52B9\u3067\u3059:"}, {"grouping begin character", "{"}, {"grouping end character", "}"}, - {"Illegal Argument Exception", "\u4e0d\u6b63\u306a\u5f15\u6570\u4f8b\u5916\u3067\u3059"}, - {"Illegal connector argument", "\u4e0d\u6b63\u306a\u30b3\u30cd\u30af\u30bf\u5f15\u6570: {0}"}, - {"implementor:", "\u5b9f\u88c5\u8005: {0}"}, - {"implements:", "\u5b9f\u88c5\u3057\u307e\u3059: {0}"}, - {"Initializing progname", "{0} \u306e\u521d\u671f\u5316\u4e2d\u3067\u3059..."}, - {"Input stream closed.", "\u5165\u529b\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002"}, - {"Interface:", "\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9: {0}"}, - {"Internal debugger error.", "\u5185\u90e8\u30c7\u30d0\u30c3\u30ac\u30a8\u30e9\u30fc"}, - {"Internal error: null ThreadInfo created", "\u5185\u90e8\u30a8\u30e9\u30fc: null ThreadInfo \u304c\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f"}, - {"Internal error; unable to set", "\u5185\u90e8\u30a8\u30e9\u30fc; {0} \u3092\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093"}, - {"Internal exception during operation:", "\u51e6\u7406\u4e2d\u306b\u5185\u90e8\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f:\n {0}"}, - {"Internal exception:", "\u5185\u90e8\u4f8b\u5916:"}, - {"Invalid argument type name", "\u5f15\u6570\u306e\u578b\u540d\u304c\u7121\u52b9\u3067\u3059"}, - {"Invalid assignment syntax", "\u4ee3\u5165\u69cb\u6587\u304c\u7121\u52b9\u3067\u3059"}, - {"Invalid command syntax", "\u30b3\u30de\u30f3\u30c9\u69cb\u6587\u304c\u7121\u52b9\u3067\u3059"}, - {"Invalid connect type", "\u63a5\u7d9a\u306e\u7a2e\u985e\u304c\u7121\u52b9\u3067\u3059"}, - {"Invalid consecutive invocations", "\u9023\u7d9a\u547c\u3073\u51fa\u3057\u304c\u7121\u52b9\u3067\u3059"}, - {"Invalid exception object", "\u4f8b\u5916\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u7121\u52b9\u3067\u3059"}, - {"Invalid method specification:", "\u7121\u52b9\u306a\u30e1\u30bd\u30c3\u30c9\u3092\u6307\u5b9a\u3057\u307e\u3057\u305f: {0}"}, - {"Invalid option on class command", "\u30af\u30e9\u30b9\u30b3\u30de\u30f3\u30c9\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u7121\u52b9\u3067\u3059"}, - {"invalid option", "\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u7121\u52b9\u3067\u3059: {0}"}, - {"Invalid thread status.", "\u30b9\u30ec\u30c3\u30c9\u30b9\u30c6\u30fc\u30bf\u30b9\u304c\u7121\u52b9\u3067\u3059\u3002"}, - {"Invalid transport name:", "\u30c8\u30e9\u30f3\u30b9\u30dd\u30fc\u30c8\u540d\u304c\u7121\u52b9\u3067\u3059: {0}"}, - {"I/O exception occurred:", "\u5165\u51fa\u529b\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}"}, - {"is an ambiguous method name in", "\"{0}\" \u306f\u3001\"{1}\" \u3067\u306f\u3042\u3044\u307e\u3044\u306a\u30e1\u30bd\u30c3\u30c9\u540d\u3067\u3059"}, - {"is an invalid line number for", "{0,number,integer} \u306f\u3001{1} \u306e\u7121\u52b9\u306a\u884c\u756a\u53f7\u3067\u3059"}, - {"is not a valid class name", "\"{0}\" \u306f\u3001\u6709\u52b9\u306a\u30af\u30e9\u30b9\u540d\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"}, - {"is not a valid field name", "\"{0}\" \u306f\u3001\u6709\u52b9\u306a\u30d5\u30a3\u30fc\u30eb\u30c9\u540d\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"}, - {"is not a valid id or class name", "\"{0}\" \u306f\u3001\u6709\u52b9\u306a ID \u307e\u305f\u306f\u30af\u30e9\u30b9\u540d\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"}, - {"is not a valid line number or method name for", "\"{0}\" \u306f\u3001\u30af\u30e9\u30b9 \"{1}\" \u306e\u6709\u52b9\u306a\u884c\u756a\u53f7\u307e\u305f\u306f\u30e1\u30bd\u30c3\u30c9\u540d\u3067\u306f\u3042\u308a\u307e\u305b\u3093"}, - {"is not a valid method name", "\"{0}\" \u306f\u3001\u6709\u52b9\u306a\u30e1\u30bd\u30c3\u30c9\u540d\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"}, - {"is not a valid thread id", "\"{0}\" \u306f\u3001\u6709\u52b9\u306a\u30b9\u30ec\u30c3\u30c9 ID \u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"}, - {"is not a valid threadgroup name", "\"{0}\" \u306f\u3001\u6709\u52b9\u306a\u30b9\u30ec\u30c3\u30c9\u30b0\u30eb\u30fc\u30d7\u540d\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"}, + {"Illegal Argument Exception", "\u4E0D\u6B63\u306A\u5F15\u6570\u306E\u4F8B\u5916\u3067\u3059"}, + {"Illegal connector argument", "\u4E0D\u6B63\u306A\u30B3\u30CD\u30AF\u30BF\u5F15\u6570\u3067\u3059: {0}"}, + {"implementor:", "\u30A4\u30F3\u30D7\u30EA\u30E1\u30F3\u30BF: {0}"}, + {"implements:", "\u5B9F\u88C5\u3057\u307E\u3059: {0}"}, + {"Initializing progname", "{0}\u306E\u521D\u671F\u5316\u4E2D..."}, + {"Input stream closed.", "\u5165\u529B\u30B9\u30C8\u30EA\u30FC\u30E0\u304C\u9589\u3058\u3089\u308C\u307E\u3057\u305F\u3002"}, + {"Interface:", "\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9: {0}"}, + {"Internal debugger error.", "\u30C7\u30D0\u30C3\u30AC\u306E\u5185\u90E8\u30A8\u30E9\u30FC\u3067\u3059\u3002"}, + {"Internal error: null ThreadInfo created", "\u5185\u90E8\u30A8\u30E9\u30FC: null\u306EThreadInfo\u304C\u4F5C\u6210\u3055\u308C\u307E\u3057\u305F"}, + {"Internal error; unable to set", "\u5185\u90E8\u30A8\u30E9\u30FC\u3002{0}\u3092\u8A2D\u5B9A\u3067\u304D\u307E\u305B\u3093"}, + {"Internal exception during operation:", "\u64CD\u4F5C\u4E2D\u306E\u5185\u90E8\u4F8B\u5916:\n {0}"}, + {"Internal exception:", "\u5185\u90E8\u4F8B\u5916:"}, + {"Invalid argument type name", "\u5F15\u6570\u578B\u306E\u540D\u524D\u304C\u7121\u52B9\u3067\u3059"}, + {"Invalid assignment syntax", "\u5272\u5F53\u3066\u69CB\u6587\u304C\u7121\u52B9\u3067\u3059"}, + {"Invalid command syntax", "\u30B3\u30DE\u30F3\u30C9\u69CB\u6587\u304C\u7121\u52B9\u3067\u3059"}, + {"Invalid connect type", "\u63A5\u7D9A\u578B\u304C\u7121\u52B9\u3067\u3059"}, + {"Invalid consecutive invocations", "\u9023\u7D9A\u547C\u51FA\u3057\u304C\u7121\u52B9\u3067\u3059"}, + {"Invalid exception object", "\u4F8B\u5916\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304C\u7121\u52B9\u3067\u3059"}, + {"Invalid method specification:", "\u7121\u52B9\u306A\u30E1\u30BD\u30C3\u30C9\u6307\u5B9A: {0}"}, + {"Invalid option on class command", "class\u30B3\u30DE\u30F3\u30C9\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u7121\u52B9\u3067\u3059"}, + {"invalid option", "\u7121\u52B9\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0}"}, + {"Invalid thread status.", "\u30B9\u30EC\u30C3\u30C9\u72B6\u614B\u304C\u7121\u52B9\u3067\u3059\u3002"}, + {"Invalid transport name:", "\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30C8\u540D\u304C\u7121\u52B9\u3067\u3059: {0}"}, + {"I/O exception occurred:", "\u5165\u51FA\u529B\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {0}"}, + {"is an ambiguous method name in", "\"{0}\"\u306F\"{1}\"\u306E\u3042\u3044\u307E\u3044\u306A\u30E1\u30BD\u30C3\u30C9\u540D\u3067\u3059"}, + {"is an invalid line number for", "{0,number,integer}\u306F{1}\u306E\u7121\u52B9\u306A\u884C\u756A\u53F7\u3067\u3059"}, + {"is not a valid class name", "\"{0}\"\u306F\u4E0D\u6B63\u306A\u30AF\u30E9\u30B9\u540D\u3067\u3059\u3002"}, + {"is not a valid field name", "\"{0}\"\u306F\u4E0D\u6B63\u306A\u30D5\u30A3\u30FC\u30EB\u30C9\u540D\u3067\u3059\u3002"}, + {"is not a valid id or class name", "\"{0}\"\u306F\u4E0D\u6B63\u306AID\u307E\u305F\u306F\u30AF\u30E9\u30B9\u540D\u3067\u3059\u3002"}, + {"is not a valid line number or method name for", "\"{0}\"\u306F\u30AF\u30E9\u30B9\"{1}\"\u306E\u4E0D\u6B63\u306A\u884C\u756A\u53F7\u307E\u305F\u306F\u30E1\u30BD\u30C3\u30C9\u540D\u3067\u3059"}, + {"is not a valid method name", "\"{0}\"\u306F\u4E0D\u6B63\u306A\u30E1\u30BD\u30C3\u30C9\u540D\u3067\u3059\u3002"}, + {"is not a valid thread id", "\"{0}\"\u306F\u4E0D\u6B63\u306A\u30B9\u30EC\u30C3\u30C9ID\u3067\u3059\u3002"}, + {"is not a valid threadgroup name", "\"{0}\"\u306F\u4E0D\u6B63\u306A\u30B9\u30EC\u30C3\u30C9\u30FB\u30B0\u30EB\u30FC\u30D7\u540D\u3067\u3059\u3002"}, {"jdb prompt with no current thread", "> "}, {"jdb prompt thread name and current stack frame", "{0}[{1,number,integer}] "}, - {"killed", "{0} \u304c\u7d42\u4e86\u3057\u307e\u3057\u305f"}, - {"killing thread:", "\u6b21\u306e\u30b9\u30ec\u30c3\u30c9\u3092\u7d42\u4e86\u3057\u3066\u3044\u307e\u3059: {0}"}, - {"Line number information not available for", "\u30bd\u30fc\u30b9\u306e\u884c\u756a\u53f7\u306f\u3001\u3053\u3053\u3067\u306f\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002"}, + {"killed", "{0}\u304C\u5F37\u5236\u7D42\u4E86\u3055\u308C\u307E\u3057\u305F"}, + {"killing thread:", "\u5F37\u5236\u7D42\u4E86\u3059\u308B\u30B9\u30EC\u30C3\u30C9: {0}"}, + {"Line number information not available for", "\u30BD\u30FC\u30B9\u884C\u756A\u53F7\u306F\u3053\u306E\u5834\u6240\u3067\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002"}, {"line number", ":{0,number,integer}"}, {"list field typename and name", "{0} {1}\n"}, - {"list field typename and name inherited", "{0} {1} ({2} \u304b\u3089\u7d99\u627f)\n"}, - {"list field typename and name hidden", "{0} {1} (\u975e\u8868\u793a)\n"}, - {"Listening at address:", "\u30a2\u30c9\u30ec\u30b9\u3067\u5f85\u6a5f: {0}"}, - {"Local variable information not available.", "\u30ed\u30fc\u30ab\u30eb\u5909\u6570\u60c5\u5831\u304c\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002-g \u3092\u4f7f\u3063\u3066\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3001\u5909\u6570\u60c5\u5831\u3092\u751f\u6210\u3057\u3066\u304f\u3060\u3055\u3044"}, - {"Local variables:", "\u30ed\u30fc\u30ab\u30eb\u5909\u6570:"}, - {"", "<\u4f4d\u7f6e\u9078\u629e\u4e0d\u53ef>"}, - {"location", "\"\u30b9\u30ec\u30c3\u30c9={0}\", {1}"}, - {"locationString", "{0}.{1}(), line={2,number,integer} bci={3,number,integer}"}, - {"Main class and arguments must be specified", "\u30e1\u30a4\u30f3\u30af\u30e9\u30b9\u3068\u5f15\u6570\u3092\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059"}, - {"Method arguments:", "\u30e1\u30bd\u30c3\u30c9\u5f15\u6570:"}, - {"Method entered:", "\u30e1\u30bd\u30c3\u30c9\u958b\u59cb: "}, - {"Method exited:", "\u30e1\u30bd\u30c3\u30c9\u7d42\u4e86"}, - {"Method exitedValue:", "\u30e1\u30bd\u30c3\u30c9\u7d42\u4e86: \u623b\u308a\u5024 = {0}, "}, - {"Method is overloaded; specify arguments", "\u30e1\u30bd\u30c3\u30c9 {0} \u304c\u30aa\u30fc\u30d0\u30fc\u30ed\u30fc\u30c9\u3057\u3066\u3044\u307e\u3059\u3002\u5f15\u6570\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044"}, - {"minus version", "\u3053\u308c\u306f {0} \u30d0\u30fc\u30b8\u30e7\u30f3 {1,number,integer}.{2,number,integer} (J2SE \u30d0\u30fc\u30b8\u30e7\u30f3 {3}) \u3067\u3059"}, - {"Monitor information for thread", "\u30b9\u30ec\u30c3\u30c9 {0} \u306e\u30e2\u30cb\u30bf\u60c5\u5831:"}, - {"Monitor information for expr", "{0} ({1}) \u306e\u30e2\u30cb\u30bf\u60c5\u5831:"}, - {"More than one class named", "\u8907\u6570\u306e\u30af\u30e9\u30b9\u306b\u6b21\u306e\u540d\u524d\u304c\u4ed8\u3044\u3066\u3044\u307e\u3059: ''{0}''"}, - {"native method", "\u30cd\u30a4\u30c6\u30a3\u30d6 \u30e1\u30bd\u30c3\u30c9"}, - {"nested:", "\u5165\u308c\u5b50: {0}"}, - {"No attach address specified.", "\u63a5\u7d9a\u5148\u306e\u30a2\u30c9\u30ec\u30b9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"No breakpoints set.", "\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"No class named", "''{0}'' \u3068\u3044\u3046\u540d\u524d\u306e\u30af\u30e9\u30b9\u304c\u3042\u308a\u307e\u305b\u3093"}, - {"No class specified.", "\u30af\u30e9\u30b9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"No classpath specified.", "\u30af\u30e9\u30b9\u30d1\u30b9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"No code at line", "{1} \u306e\u884c {0,number,integer} \u306b\u30b3\u30fc\u30c9\u304c\u3042\u308a\u307e\u305b\u3093"}, - {"No connect specification.", "\u63a5\u7d9a\u4ed5\u69d8\u304c\u3042\u308a\u307e\u305b\u3093\u3002"}, - {"No connector named:", "\u6b21\u306e\u540d\u524d\u306e\u30b3\u30cd\u30af\u30bf\u304c\u3042\u308a\u307e\u305b\u3093: {0}"}, - {"No current thread", "\u73fe\u884c\u30b9\u30ec\u30c3\u30c9\u304c\u3042\u308a\u307e\u305b\u3093"}, - {"No default thread specified:", "\u30c7\u30d5\u30a9\u30eb\u30c8\u30b9\u30ec\u30c3\u30c9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u6700\u521d\u306b \"thread\" \u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002"}, - {"No exception object specified.", "\u4f8b\u5916\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"No exceptions caught.", "\u4f8b\u5916\u306f\u30ad\u30e3\u30c3\u30c1\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"No expression specified.", "\u5f0f\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"No field in", "{1} \u306b\u30d5\u30a3\u30fc\u30eb\u30c9 {0} \u304c\u3042\u308a\u307e\u305b\u3093"}, - {"No frames on the current call stack", "\u73fe\u884c\u306e\u547c\u3073\u51fa\u3057\u30b9\u30bf\u30c3\u30af\u306b\u306f\u30d5\u30ec\u30fc\u30e0\u304c\u3042\u308a\u307e\u305b\u3093"}, - {"No linenumber information for", "{0} \u306e\u884c\u756a\u53f7\u60c5\u5831\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u30c7\u30d0\u30c3\u30b0\u6a5f\u80fd\u3092\u30aa\u30f3\u306b\u3057\u3066\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002"}, - {"No local variables", "\u30ed\u30fc\u30ab\u30eb\u5909\u6570\u304c\u3042\u308a\u307e\u305b\u3093"}, - {"No method in", "{1} \u306b\u30e1\u30bd\u30c3\u30c9 {0} \u304c\u3042\u308a\u307e\u305b\u3093"}, - {"No method specified.", "\u30e1\u30bd\u30c3\u30c9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"No monitor numbered:", "\u6b21\u306e\u756a\u53f7\u306e\u30e2\u30cb\u30bf\u304c\u3042\u308a\u307e\u305b\u3093: {0}"}, - {"No monitors owned", " \u6240\u6709\u3059\u308b\u30e2\u30cb\u30bf\u304c\u3042\u308a\u307e\u305b\u3093"}, - {"No object specified.", "\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"No objects specified.", "\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"No save index specified.", "\u4fdd\u5b58\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"No saved values", "\u4fdd\u5b58\u3055\u308c\u305f\u5024\u304c\u3042\u308a\u307e\u305b\u3093\u3002"}, - {"No source information available for:", "{0} \u306e\u30bd\u30fc\u30b9\u60c5\u5831\u304c\u5229\u7528\u3067\u304d\u307e\u305b\u3093"}, - {"No sourcedebugextension specified", "SourceDebugExtension \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"No sourcepath specified.", "sourcepath \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"No thread specified.", "\u30b9\u30ec\u30c3\u30c9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"No VM connected", "VM \u304c\u63a5\u7d9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093"}, - {"No waiters", " \u5f85\u6a5f\u8005\u306f\u3044\u307e\u305b\u3093"}, - {"not a class", "{0} \u306f\u30af\u30e9\u30b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093"}, - {"Not a monitor number:", "\u30e2\u30cb\u30bf\u756a\u53f7\u3067\u306f\u3042\u308a\u307e\u305b\u3093: ''{0}''"}, - {"not found (try the full name)", "{0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093 (\u30d5\u30eb\u30cd\u30fc\u30e0\u3092\u5165\u308c\u3066\u304f\u3060\u3055\u3044)"}, - {"Not found:", "\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {0}"}, - {"not found", "{0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093"}, - {"Not owned", " \u6240\u6709\u3057\u3066\u3044\u307e\u305b\u3093"}, - {"Not waiting for a monitor", " \u30e2\u30cb\u30bf\u3092\u5f85\u6a5f\u3057\u3066\u3044\u307e\u305b\u3093"}, - {"Nothing suspended.", "\u4f55\u3082\u4e2d\u65ad\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, + {"list field typename and name inherited", "{0} {1} ({2}\u304B\u3089\u7D99\u627F)\n"}, + {"list field typename and name hidden", "{0} {1} (\u975E\u8868\u793A)\n"}, + {"Listening at address:", "\u6B21\u306E\u30A2\u30C9\u30EC\u30B9\u3067\u30EA\u30B9\u30CB\u30F3\u30B0: {0}"}, + {"Local variable information not available.", "\u30ED\u30FC\u30AB\u30EB\u5909\u6570\u60C5\u5831\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u5909\u6570\u60C5\u5831\u3092\u751F\u6210\u3059\u308B\u306B\u306F-g\u3092\u6307\u5B9A\u3057\u3066\u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u3066\u304F\u3060\u3055\u3044"}, + {"Local variables:", "\u30ED\u30FC\u30AB\u30EB\u5909\u6570:"}, + {"", ""}, + {"location", "\"\u30B9\u30EC\u30C3\u30C9={0}\", {1}"}, + {"locationString", "{0}.{1}()\u3001\u884C={2,number,integer} bci={3,number,integer}"}, + {"Main class and arguments must be specified", "\u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9\u3068\u5F15\u6570\u3092\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"}, + {"Method arguments:", "\u30E1\u30BD\u30C3\u30C9\u5F15\u6570:"}, + {"Method entered:", "\u5165\u529B\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9: "}, + {"Method exited:", "\u7D42\u4E86\u3057\u305F\u30E1\u30BD\u30C3\u30C9"}, + {"Method exitedValue:", "\u30E1\u30BD\u30C3\u30C9\u304C\u7D42\u4E86\u3057\u307E\u3057\u305F: \u623B\u308A\u5024= {0}, "}, + {"Method is overloaded; specify arguments", "\u30E1\u30BD\u30C3\u30C9{0}\u304C\u30AA\u30FC\u30D0\u30FC\u30ED\u30FC\u30C9\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u5F15\u6570\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044"}, + {"minus version", "\u3053\u308C\u306F{0}\u30D0\u30FC\u30B8\u30E7\u30F3{1,number,integer}.{2,number,integer} (Java SE\u30D0\u30FC\u30B8\u30E7\u30F3{3})\u3067\u3059"}, + {"Monitor information for thread", "\u30B9\u30EC\u30C3\u30C9{0}\u306E\u60C5\u5831\u306E\u30E2\u30CB\u30BF\u30FC:"}, + {"Monitor information for expr", "{0} ({1})\u306E\u60C5\u5831\u306E\u30E2\u30CB\u30BF\u30FC:"}, + {"More than one class named", "\u540D\u524D''{0}''\u306E\u30AF\u30E9\u30B9\u304C\u8907\u6570\u3042\u308A\u307E\u3059"}, + {"native method", "native\u30E1\u30BD\u30C3\u30C9"}, + {"nested:", "\u5165\u308C\u5B50\u306B\u306A\u3063\u3066\u3044\u307E\u3059: {0}"}, + {"No attach address specified.", "\u63A5\u7D9A\u30A2\u30C9\u30EC\u30B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"No breakpoints set.", "\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"No class named", "\u540D\u524D''{0}''\u306E\u30AF\u30E9\u30B9\u304C\u3042\u308A\u307E\u305B\u3093"}, + {"No class specified.", "\u30AF\u30E9\u30B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"No classpath specified.", "\u30AF\u30E9\u30B9\u30D1\u30B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"No code at line", "{1}\u306E\u884C{0,number,integer}\u306B\u30B3\u30FC\u30C9\u304C\u3042\u308A\u307E\u305B\u3093"}, + {"No connect specification.", "\u63A5\u7D9A\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"No connector named:", "\u540D\u524D{0}\u306E\u30B3\u30CD\u30AF\u30BF\u304C\u3042\u308A\u307E\u305B\u3093"}, + {"No current thread", "\u73FE\u5728\u306E\u30B9\u30EC\u30C3\u30C9\u304C\u3042\u308A\u307E\u305B\u3093"}, + {"No default thread specified:", "\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30B9\u30EC\u30C3\u30C9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u6700\u521D\u306B\"thread\"\u30B3\u30DE\u30F3\u30C9\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}, + {"No exception object specified.", "\u4F8B\u5916\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"No exceptions caught.", "\u4F8B\u5916\u304C\u6355\u6349\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002"}, + {"No expression specified.", "\u5F0F\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"No field in", "{1}\u306B\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u304C\u3042\u308A\u307E\u305B\u3093"}, + {"No frames on the current call stack", "\u73FE\u5728\u306E\u30B3\u30FC\u30EB\u30FB\u30B9\u30BF\u30C3\u30AF\u306B\u30D5\u30EC\u30FC\u30E0\u304C\u3042\u308A\u307E\u305B\u3093"}, + {"No linenumber information for", "{0}\u306E\u884C\u756A\u53F7\u60C5\u5831\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u30C7\u30D0\u30C3\u30B0\u3092\u30AA\u30F3\u306B\u3057\u3066\u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}, + {"No local variables", "\u30ED\u30FC\u30AB\u30EB\u5909\u6570\u304C\u3042\u308A\u307E\u305B\u3093"}, + {"No method in", "{1}\u306B\u30E1\u30BD\u30C3\u30C9{0}\u304C\u3042\u308A\u307E\u305B\u3093"}, + {"No method specified.", "\u30E1\u30BD\u30C3\u30C9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"No monitor numbered:", "\u756A\u53F7\u4ED8\u3051\u3055\u308C\u3066\u3044\u308B\u30E2\u30CB\u30BF\u30FC\u304C\u3042\u308A\u307E\u305B\u3093: {0}"}, + {"No monitors owned", " \u6240\u6709\u3055\u308C\u3066\u3044\u308B\u30E2\u30CB\u30BF\u30FC\u304C\u3042\u308A\u307E\u305B\u3093"}, + {"No object specified.", "\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"No objects specified.", "\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"No save index specified.", "\u4FDD\u5B58\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"No saved values", "\u4FDD\u5B58\u3055\u308C\u305F\u5024\u304C\u3042\u308A\u307E\u305B\u3093"}, + {"No source information available for:", "{0}\u306E\u30BD\u30FC\u30B9\u60C5\u5831\u304C\u5229\u7528\u3067\u304D\u307E\u305B\u3093"}, + {"No sourcedebugextension specified", "SourceDebugExtension\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093"}, + {"No sourcepath specified.", "\u30BD\u30FC\u30B9\u30FB\u30D1\u30B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"No thread specified.", "\u30B9\u30EC\u30C3\u30C9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"No VM connected", "VM\u304C\u63A5\u7D9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093"}, + {"No waiters", " \u5F85\u6A5F\u306F\u3042\u308A\u307E\u305B\u3093"}, + {"not a class", "{0}\u306F\u30AF\u30E9\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093"}, + {"Not a monitor number:", "\u30E2\u30CB\u30BF\u30FC\u756A\u53F7\u3067\u306F\u3042\u308A\u307E\u305B\u3093: ''{0}''"}, + {"not found (try the full name)", "{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093(\u30D5\u30EB\u30CD\u30FC\u30E0\u3092\u8A66\u3057\u3066\u304F\u3060\u3055\u3044)"}, + {"Not found:", "\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {0}"}, + {"not found", "{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"}, + {"Not owned", " \u6240\u6709\u3055\u308C\u3066\u3044\u307E\u305B\u3093"}, + {"Not waiting for a monitor", " \u30E2\u30CB\u30BF\u30FC\u3092\u5F85\u6A5F\u3057\u3066\u3044\u307E\u305B\u3093"}, + {"Nothing suspended.", "\u4F55\u3082\u4E2D\u65AD\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, {"object description and hex id", "({0}){1}"}, - {"Operation is not supported on the target VM", "\u3053\u306e\u64cd\u4f5c\u306f\u3001\u30bf\u30fc\u30b2\u30c3\u30c8 VM \u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093"}, - {"operation not yet supported", "\u3053\u306e\u64cd\u4f5c\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093"}, - {"Owned by:", " \u6240\u6709\u8005: {0}\u3001\u30a8\u30f3\u30c8\u30ea\u30ab\u30a6\u30f3\u30c8: {1,number,integer}"}, - {"Owned monitor:", " \u6240\u6709\u30e2\u30cb\u30bf: {0}"}, - {"Parse exception:", "\u69cb\u6587\u89e3\u6790\u4f8b\u5916: {0}"}, - {"printbreakpointcommandusage", "\u4f7f\u7528\u6cd5: {0} : \u307e\u305f\u306f\n {1} .[(argument_type,...)]"}, - {"Removed:", "\u524a\u9664\u6e08\u307f: {0}"}, - {"Requested stack frame is no longer active:", "\u8981\u6c42\u3055\u308c\u305f\u30b9\u30bf\u30c3\u30af\u30d5\u30ec\u30fc\u30e0\u306f\u30a2\u30af\u30c6\u30a3\u30d6\u3067\u306f\u3042\u308a\u307e\u305b\u3093: {0,number,integer}"}, - {"run command is valid only with launched VMs", "'run ' \u30b3\u30de\u30f3\u30c9\u306f\u3001VM \u306e\u8d77\u52d5\u6642\u306b\u306e\u307f\u6709\u52b9\u3067\u3059\u3002"}, - {"run", "{0} \u3092\u5b9f\u884c\u3057\u307e\u3059"}, - {"saved", "{0} \u3092\u4fdd\u5b58\u3057\u307e\u3057\u305f"}, - {"Set deferred", "\u4fdd\u7559\u3057\u305f {0} \u3092\u8a2d\u5b9a\u3057\u307e\u3057\u305f"}, - {"Set", "{0} \u3092\u8a2d\u5b9a\u3057\u307e\u3057\u305f"}, - {"Source file not found:", "\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {0}"}, + {"Operation is not supported on the target VM", "\u64CD\u4F5C\u306F\u30BF\u30FC\u30B2\u30C3\u30C8VM\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093"}, + {"operation not yet supported", "\u307E\u3060\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u64CD\u4F5C"}, + {"Owned by:", " \u6240\u6709\u8005: {0}\u3001\u30A8\u30F3\u30C8\u30EA\u6570: {1,number,integer}"}, + {"Owned monitor:", " \u6240\u6709\u3055\u308C\u3066\u3044\u308B\u30E2\u30CB\u30BF\u30FC: {0}"}, + {"Parse exception:", "\u4F8B\u5916\u306E\u89E3\u6790: {0}"}, + {"printbreakpointcommandusage", "\u4F7F\u7528\u65B9\u6CD5: {0} :\u307E\u305F\u306F\n {1} .[(argument_type,...)]"}, + {"Removed:", "{0}\u306F\u524A\u9664\u3055\u308C\u307E\u3057\u305F"}, + {"Requested stack frame is no longer active:", "\u30EA\u30AF\u30A8\u30B9\u30C8\u3055\u308C\u305F\u30B9\u30BF\u30C3\u30AF\u30FB\u30D5\u30EC\u30FC\u30E0\u306F\u73FE\u5728\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u306F\u3042\u308A\u307E\u305B\u3093: {0,number,integer}"}, + {"run command is valid only with launched VMs", "'run '\u30B3\u30DE\u30F3\u30C9\u306F\u8D77\u52D5\u6E08\u306EVM\u3067\u306E\u307F\u6709\u52B9\u3067\u3059"}, + {"run", "{0}\u306E\u5B9F\u884C"}, + {"saved", "{0}\u304C\u4FDD\u5B58\u3055\u308C\u307E\u3057\u305F"}, + {"Set deferred", "\u9045\u5EF6\u3057\u305F{0}\u306E\u8A2D\u5B9A"}, + {"Set", "{0}\u306E\u8A2D\u5B9A"}, + {"Source file not found:", "\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {0}"}, {"source line number and line", "{0,number,integer} {1}"}, {"source line number current line and line", "{0,number,integer} => {1}"}, {"sourcedebugextension", "SourceDebugExtension -- {0}"}, - {"Specify class and method", "\u30af\u30e9\u30b9\u304a\u3088\u3073\u30e1\u30bd\u30c3\u30c9\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044"}, - {"Specify classes to redefine", "\u518d\u5b9a\u7fa9\u3059\u308b\u30af\u30e9\u30b9\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044"}, - {"Specify file name for class", "\u30af\u30e9\u30b9 {0} \u306e\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044"}, + {"Specify class and method", "\u30AF\u30E9\u30B9\u3068\u30E1\u30BD\u30C3\u30C9\u306E\u6307\u5B9A"}, + {"Specify classes to redefine", "\u518D\u5B9A\u7FA9\u3059\u308B\u30AF\u30E9\u30B9\u306E\u6307\u5B9A"}, + {"Specify file name for class", "\u30AF\u30E9\u30B9{0}\u306E\u30D5\u30A1\u30A4\u30EB\u540D\u306E\u6307\u5B9A"}, {"stack frame dump with pc", " [{0,number,integer}] {1}.{2} ({3})\u3001pc = {4}"}, {"stack frame dump", " [{0,number,integer}] {1}.{2} ({3})"}, - {"Step completed:", "\u30b9\u30c6\u30c3\u30d7\u5b8c\u4e86: "}, - {"Stopping due to deferred breakpoint errors.", "\u4fdd\u7559\u3057\u305f\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u306e\u30a8\u30e9\u30fc\u304c\u539f\u56e0\u3067\u505c\u6b62\u3057\u307e\u3057\u305f\u3002\n"}, - {"subclass:", "\u30b5\u30d6\u30af\u30e9\u30b9: {0}"}, - {"subinterface:", "\u30b5\u30d6\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9: {0}"}, + {"Step completed:", "\u30B9\u30C6\u30C3\u30D7\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F: "}, + {"Stopping due to deferred breakpoint errors.", "\u9045\u5EF6\u3057\u305F\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u30FB\u30A8\u30E9\u30FC\u304C\u539F\u56E0\u3067\u505C\u6B62\u3057\u3066\u3044\u307E\u3059\u3002\n"}, + {"subclass:", "\u30B5\u30D6\u30AF\u30E9\u30B9: {0}"}, + {"subinterface:", "\u30B5\u30D6\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9: {0}"}, {"tab", "\t{0}"}, - {"Target VM failed to initialize.", "\u30bf\u30fc\u30b2\u30c3\u30c8 VM \u306e\u521d\u671f\u5316\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"}, - {"The application exited", "\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u7d42\u4e86\u3057\u307e\u3057\u305f"}, - {"The application has been disconnected", "\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u5207\u65ad\u3055\u308c\u3066\u3044\u307e\u3059"}, - {"The gc command is no longer necessary.", "'gc' \u30b3\u30de\u30f3\u30c9\u306f\u73fe\u5728\u306f\u5fc5\u8981\u3042\u308a\u307e\u305b\u3093\u3002\n" + - "\u901a\u5e38\u3069\u304a\u308a\u3001\u3059\u3079\u3066\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30c8\u3055\u308c\u3066\u3044\u307e\u3059\u3002'enablegc' \u304a\u3088\u3073 'disablegc'\n" + - "\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u3001\u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3054\u3068\u306b\u5236\u5fa1\u3057\u3066\u304f\u3060\u3055\u3044\u3002"}, - {"The load command is no longer supported.", "'load' \u30b3\u30de\u30f3\u30c9\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"The memory command is no longer supported.", "'memory' \u30b3\u30de\u30f3\u30c9\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"The VM does not use paths", "VM \u3067\u306f\u30d1\u30b9\u3092\u4f7f\u7528\u3057\u307e\u305b\u3093"}, - {"Thread is not running (no stack).", "\u30b9\u30ec\u30c3\u30c9\u306f\u5b9f\u884c\u3055\u308c\u3066\u3044\u307e\u305b\u3093 (\u30b9\u30bf\u30c3\u30af\u306a\u3057)\u3002"}, - {"Thread number not specified.", "\u30b9\u30ec\u30c3\u30c9\u756a\u53f7\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, + {"Target VM failed to initialize.", "\u30BF\u30FC\u30B2\u30C3\u30C8VM\u304C\u521D\u671F\u5316\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002"}, + {"The application exited", "\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u304C\u7D42\u4E86\u3057\u307E\u3057\u305F"}, + {"The application has been disconnected", "\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u304C\u5207\u65AD\u3055\u308C\u307E\u3057\u305F"}, + {"The gc command is no longer necessary.", "'gc'\u30B3\u30DE\u30F3\u30C9\u306F\u4E0D\u8981\u306B\u306A\u308A\u307E\u3057\u305F\u3002\n\u3059\u3079\u3066\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306F\u901A\u5E38\u3069\u304A\u308A\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3055\u308C\u307E\u3059\u3002\u500B\u3005\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\n\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3092\u5236\u5FA1\u3059\u308B\u306B\u306F'enablegc'\u304A\u3088\u3073'disablegc'\u30B3\u30DE\u30F3\u30C9\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}, + {"The load command is no longer supported.", "'load'\u30B3\u30DE\u30F3\u30C9\u306F\u73FE\u5728\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"The memory command is no longer supported.", "'memory'\u30B3\u30DE\u30F3\u30C9\u306F\u73FE\u5728\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"The VM does not use paths", "VM\u306F\u30D1\u30B9\u3092\u4F7F\u7528\u3057\u307E\u305B\u3093"}, + {"Thread is not running (no stack).", "\u30B9\u30EC\u30C3\u30C9\u306F\u5B9F\u884C\u4E2D\u3067\u306F\u3042\u308A\u307E\u305B\u3093(\u30B9\u30BF\u30C3\u30AF\u306A\u3057)\u3002"}, + {"Thread number not specified.", "\u30B9\u30EC\u30C3\u30C9\u756A\u53F7\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, {"Thread:", "{0}:"}, - {"Thread Group:", "\u30b0\u30eb\u30fc\u30d7 {0}:"}, - {"Thread description name unknownStatus BP", " {0} {1} \u4e0d\u660e (\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8)"}, - {"Thread description name unknownStatus", " {0} {1} \u4e0d\u660e"}, - {"Thread description name zombieStatus BP", " {0} {1} \u30be\u30f3\u30d3 (\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8)"}, - {"Thread description name zombieStatus", " {0} {1} \u30be\u30f3\u30d3"}, - {"Thread description name runningStatus BP", " {0} {1} \u5b9f\u884c\u4e2d (\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8)"}, - {"Thread description name runningStatus", " {0} {1} \u5b9f\u884c\u4e2d"}, - {"Thread description name sleepingStatus BP", " {0} {1} \u4f11\u6b62\u4e2d (\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8)"}, - {"Thread description name sleepingStatus", " {0} {1} \u4f11\u6b62\u4e2d"}, - {"Thread description name waitingStatus BP", " {0} {1} \u30e2\u30cb\u30bf\u3067\u5f85\u6a5f\u4e2d (\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8)"}, - {"Thread description name waitingStatus", " {0} {1} \u30e2\u30cb\u30bf\u3067\u5f85\u6a5f\u4e2d"}, - {"Thread description name condWaitstatus BP", " {0} {1} \u72b6\u6cc1\u5f85\u6a5f\u4e2d (\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8)"}, - {"Thread description name condWaitstatus", " {0} {1} \u72b6\u6cc1\u5f85\u6a5f\u4e2d"}, - {"Thread has been resumed", "\u30b9\u30ec\u30c3\u30c9\u304c\u518d\u958b\u3055\u308c\u307e\u3057\u305f"}, - {"Thread not suspended", "\u30b9\u30ec\u30c3\u30c9\u306f\u4e2d\u65ad\u3055\u308c\u3066\u3044\u307e\u305b\u3093"}, - {"thread group number description name", "{0,number,integer}\u3002 {1} {2}"}, - {"Threadgroup name not specified.", "Threadgroup \u540d\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"Threads must be suspended", "\u30b9\u30ec\u30c3\u30c9\u3092\u4e2d\u65ad\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059"}, - {"trace method exit in effect for", "{0} \u306b\u5bfe\u3059\u308b\u30e1\u30bd\u30c3\u30c9\u7d42\u4e86\u306e\u30c8\u30ec\u30fc\u30b9\u6709\u52b9"}, - {"trace method exits in effect", "\u30e1\u30bd\u30c3\u30c9\u7d42\u4e86\u306e\u30c8\u30ec\u30fc\u30b9\u6709\u52b9"}, - {"trace methods in effect", "\u30e1\u30bd\u30c3\u30c9\u306e\u30c8\u30ec\u30fc\u30b9\u6709\u52b9"}, - {"trace go method exit in effect for", "{0} \u306b\u5bfe\u3059\u308b\u30e1\u30bd\u30c3\u30c9\u7d42\u4e86\u306e\u30c8\u30ec\u30fc\u30b9 (go \u30aa\u30d7\u30b7\u30e7\u30f3\u4ed8\u304d) \u6709\u52b9"}, - {"trace go method exits in effect", "\u30e1\u30bd\u30c3\u30c9\u7d42\u4e86\u306e\u30c8\u30ec\u30fc\u30b9 (go \u30aa\u30d7\u30b7\u30e7\u30f3\u4ed8\u304d) \u6709\u52b9"}, - {"trace go methods in effect", "\u30e1\u30bd\u30c3\u30c9\u306e\u30c8\u30ec\u30fc\u30b9 (go \u30aa\u30d7\u30b7\u30e7\u30f3\u4ed8\u304d) \u6709\u52b9"}, - {"trace not in effect", "\u30c8\u30ec\u30fc\u30b9\u304c\u6709\u52b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093"}, - {"Unable to attach to target VM.", "\u30bf\u30fc\u30b2\u30c3\u30c8 VM \u306b\u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093"}, - {"Unable to display process output:", "\u30d7\u30ed\u30bb\u30b9\u51fa\u529b\u3092\u8868\u793a\u3067\u304d\u307e\u305b\u3093: {0}"}, - {"Unable to launch target VM.", "\u30bf\u30fc\u30b2\u30c3\u30c8 VM \u3092\u8d77\u52d5\u3067\u304d\u307e\u305b\u3093"}, - {"Unable to set deferred", "\u4fdd\u7559\u3057\u305f {0} \u3092\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093: {1}"}, - {"Unable to set main class and arguments", "\u30e1\u30a4\u30f3\u30af\u30e9\u30b9\u304a\u3088\u3073\u5f15\u6570\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093"}, - {"Unable to set", "{0} \u3092\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093: {1}"}, - {"Unexpected event type", "\u4e88\u671f\u3057\u306a\u3044\u7a2e\u985e\u306e\u30a4\u30d9\u30f3\u30c8: {0}"}, - {"unknown", "\u4e0d\u660e"}, - {"Unmonitoring", "{0} \u306f\u76e3\u8996\u3057\u3066\u3044\u307e\u305b\u3093\u3002"}, - {"Unrecognized command. Try help...", "\u8a8d\u8b58\u3067\u304d\u306a\u3044\u30b3\u30de\u30f3\u30c9: ''{0}''\u3002\u30d8\u30eb\u30d7\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044..."}, - {"Usage: catch exception", "\u4f7f\u7528\u6cd5: catch [uncaught|caught|all] |"}, - {"Usage: ignore exception", "\u4f7f\u7528\u6cd5: ignore [uncaught|caught|all] |"}, - {"Usage: down [n frames]", "\u4f7f\u7528\u6cd5: down [\u30d5\u30ec\u30fc\u30e0\u6570 n]"}, - {"Usage: kill ", "\u4f7f\u7528\u6cd5: kill "}, - {"Usage: read ", "\u4f7f\u7528\u6cd5: read "}, - {"Usage: unmonitor ", "\u4f7f\u7528\u6cd5: unmonitor "}, - {"Usage: up [n frames]", "\u4f7f\u7528\u6cd5: up [\u30d5\u30ec\u30fc\u30e0\u6570 n]"}, - {"Use java minus X to see", "'java -X' \u3092\u4f7f\u7528\u3057\u3066\u3001\u4f7f\u7528\u53ef\u80fd\u306a\u6a19\u6e96\u4ee5\u5916\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u8868\u793a\u3057\u3066\u304f\u3060\u3055\u3044\u3002"}, - {"Use stop at to set a breakpoint at a line number", "'stop at' \u3092\u4f7f\u7528\u3057\u3066\u3001\u884c\u756a\u53f7\u306b\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u3092\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002"}, - {"VM already running. use cont to continue after events.", "VM \u306f\u65e2\u306b\u5b9f\u884c\u4e2d\u3067\u3059\u3002'cont' \u3092\u4f7f\u7528\u3057\u3066\u30a4\u30d9\u30f3\u30c8\u306e\u5f8c\u3082\u7d9a\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002"}, - {"VM Started:", "VM \u304c\u8d77\u52d5\u3057\u307e\u3057\u305f: "}, - {"vmstartexception", "VM \u8d77\u52d5\u4f8b\u5916: {0}"}, - {"Waiting for monitor:", " \u30e2\u30cb\u30bf\u5f85\u6a5f\u4e2d: {0}"}, - {"Waiting thread:", " \u30b9\u30ec\u30c3\u30c9\u5f85\u6a5f\u4e2d: {0}"}, - {"watch accesses of", "{0}.{1} \u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u76e3\u8996\u3057\u307e\u3059\u3002"}, - {"watch modification of", "{0}.{1} \u3078\u306e\u5909\u66f4\u3092\u76e3\u8996\u3057\u307e\u3059\u3002"}, + {"Thread Group:", "\u30B0\u30EB\u30FC\u30D7{0}:"}, + {"Thread description name unknownStatus BP", " {0} {1}\u306F\u4E0D\u660E\u3067\u3059(\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8)"}, + {"Thread description name unknownStatus", " {0} {1}\u306F\u4E0D\u660E\u3067\u3059"}, + {"Thread description name zombieStatus BP", " {0} {1}\u306F\u30BE\u30F3\u30D3\u3067\u3059(\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u5730\u70B9)"}, + {"Thread description name zombieStatus", " {0} {1}\u306F\u30BE\u30F3\u30D3\u3067\u3059"}, + {"Thread description name runningStatus BP", " {0} {1}\u306F\u5B9F\u884C\u4E2D\u3067\u3059(\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8)"}, + {"Thread description name runningStatus", " {0} {1}\u306F\u5B9F\u884C\u4E2D\u3067\u3059"}, + {"Thread description name sleepingStatus BP", " {0} {1}\u306F\u30B9\u30EA\u30FC\u30D7\u4E2D\u3067\u3059(\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8)"}, + {"Thread description name sleepingStatus", " {0} {1}\u306F\u30B9\u30EA\u30FC\u30D7\u4E2D\u3067\u3059"}, + {"Thread description name waitingStatus BP", " {0} {1}\u306F\u30E2\u30CB\u30BF\u30FC\u5185\u3067\u5F85\u6A5F\u4E2D\u3067\u3059(\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8)"}, + {"Thread description name waitingStatus", " {0} {1}\u306F\u30E2\u30CB\u30BF\u30FC\u5185\u3067\u5F85\u6A5F\u4E2D\u3067\u3059"}, + {"Thread description name condWaitstatus BP", " {0} {1}\u306F\u6761\u4EF6\u3092\u5F85\u6A5F\u4E2D\u3067\u3059(\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8)"}, + {"Thread description name condWaitstatus", " {0} {1}\u306F\u6761\u4EF6\u3092\u5F85\u6A5F\u4E2D\u3067\u3059"}, + {"Thread has been resumed", "\u30B9\u30EC\u30C3\u30C9\u304C\u518D\u958B\u3057\u307E\u3057\u305F"}, + {"Thread not suspended", "\u30B9\u30EC\u30C3\u30C9\u306F\u4E2D\u65AD\u3057\u3066\u3044\u307E\u305B\u3093"}, + {"thread group number description name", "{0,number,integer}. {1} {2}"}, + {"Threadgroup name not specified.", "\u30B9\u30EC\u30C3\u30C9\u30B0\u30EB\u30FC\u30D7\u540D\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"Threads must be suspended", "\u30B9\u30EC\u30C3\u30C9\u3092\u4E2D\u65AD\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"}, + {"trace method exit in effect for", "{0}\u306B\u5BFE\u3057\u3066\u6709\u52B9\u306A\u30E1\u30BD\u30C3\u30C9\u7D42\u4E86\u306E\u30C8\u30EC\u30FC\u30B9"}, + {"trace method exits in effect", "\u6709\u52B9\u306A\u30E1\u30BD\u30C3\u30C9\u7D42\u4E86\u306E\u30C8\u30EC\u30FC\u30B9"}, + {"trace methods in effect", "\u30E1\u30BD\u30C3\u30C9\u306E\u30C8\u30EC\u30FC\u30B9\u306E\u6709\u52B9\u5316"}, + {"trace go method exit in effect for", "{0}\u306B\u6709\u52B9\u306Ago\u30E1\u30BD\u30C3\u30C9\u7D42\u4E86\u306E\u30C8\u30EC\u30FC\u30B9"}, + {"trace go method exits in effect", "\u6709\u52B9\u306Ago\u30E1\u30BD\u30C3\u30C9\u7D42\u4E86\u306E\u30C8\u30EC\u30FC\u30B9"}, + {"trace go methods in effect", "go\u30E1\u30BD\u30C3\u30C9\u306E\u30C8\u30EC\u30FC\u30B9\u306E\u6709\u52B9\u5316"}, + {"trace not in effect", "\u30C8\u30EC\u30FC\u30B9\u306E\u7121\u52B9\u5316"}, + {"Unable to attach to target VM.", "\u30BF\u30FC\u30B2\u30C3\u30C8VM\u306B\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093\u3002"}, + {"Unable to display process output:", "\u30D7\u30ED\u30BB\u30B9\u51FA\u529B\u3092\u8868\u793A\u3067\u304D\u307E\u305B\u3093: {0}"}, + {"Unable to launch target VM.", "\u30BF\u30FC\u30B2\u30C3\u30C8VM\u3092\u8D77\u52D5\u3067\u304D\u307E\u305B\u3093\u3002"}, + {"Unable to set deferred", "\u9045\u5EF6\u3057\u305F{0}\u3092\u8A2D\u5B9A\u3067\u304D\u307E\u305B\u3093: {1}"}, + {"Unable to set main class and arguments", "\u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9\u3068\u5F15\u6570\u3092\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093"}, + {"Unable to set", "{0}\u3092\u8A2D\u5B9A\u3067\u304D\u307E\u305B\u3093: {1}"}, + {"Unexpected event type", "\u4E88\u671F\u3057\u306A\u3044\u30A4\u30D9\u30F3\u30C8\u30FB\u30BF\u30A4\u30D7: {0}"}, + {"unknown", "\u4E0D\u660E"}, + {"Unmonitoring", "{0}\u306E\u30E2\u30CB\u30BF\u30EA\u30F3\u30B0\u89E3\u9664 "}, + {"Unrecognized command. Try help...", "''{0}''\u306F\u8A8D\u8B58\u3055\u308C\u306A\u3044\u30B3\u30DE\u30F3\u30C9\u3067\u3059\u3002help\u3067\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044..."}, + {"Usage: catch exception", "\u4F7F\u7528\u65B9\u6CD5: catch [uncaught|caught|all] |"}, + {"Usage: ignore exception", "\u4F7F\u7528\u65B9\u6CD5: ignore [uncaught|caught|all] |"}, + {"Usage: down [n frames]", "\u4F7F\u7528\u65B9\u6CD5: down [n frames]"}, + {"Usage: kill ", "\u4F7F\u7528\u65B9\u6CD5: kill "}, + {"Usage: read ", "\u4F7F\u7528\u65B9\u6CD5: read "}, + {"Usage: unmonitor ", "\u4F7F\u7528\u65B9\u6CD5: unmonitor "}, + {"Usage: up [n frames]", "\u4F7F\u7528\u65B9\u6CD5: up [n frames]"}, + {"Use java minus X to see", "\u4F7F\u7528\u53EF\u80FD\u306A\u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u8868\u793A\u3059\u308B\u306B\u306F'java -X'\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044"}, + {"Use stop at to set a breakpoint at a line number", "\u884C\u756A\u53F7\u306B\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u8A2D\u5B9A\u3059\u308B\u306B\u306F'stop at'\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044"}, + {"VM already running. use cont to continue after events.", "VM\u306F\u3059\u3067\u306B\u5B9F\u884C\u4E2D\u3067\u3059\u3002\u30A4\u30D9\u30F3\u30C8\u5F8C\u306B\u7D9A\u884C\u3059\u308B\u306B\u306F'cont'\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}, + {"VM Started:", "VM\u304C\u958B\u59CB\u3055\u308C\u307E\u3057\u305F: "}, + {"vmstartexception", "VM\u304C\u4F8B\u5916\u3092\u958B\u59CB\u3057\u307E\u3057\u305F: {0}"}, + {"Waiting for monitor:", " \u30E2\u30CB\u30BF\u30FC\u306E\u5F85\u6A5F\u4E2D: {0}"}, + {"Waiting thread:", " \u30B9\u30EC\u30C3\u30C9\u3092\u5F85\u6A5F\u4E2D: {0}"}, + {"watch accesses of", "{0}.{1}\u306E\u30A2\u30AF\u30BB\u30B9\u3092\u76E3\u8996"}, + {"watch modification of", "{0}.{1}\u306E\u5909\u66F4\u306E\u76E3\u8996"}, {"zz help text", - "** command list **\n" + - "connectors -- \u3053\u306e VM \u5185\u3067\u4f7f\u7528\u53ef\u80fd\u306a\u30b3\u30cd\u30af\u30bf\u3068\u30c8\u30e9\u30f3\u30b9\u30dd\u30fc\u30c8\u3092\u30ea\u30b9\u30c8\u8868\u793a\u3057\u307e\u3059\n" + - "\n" + - "run [class [args]] -- \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30e1\u30a4\u30f3\u30af\u30e9\u30b9\u306e\u5b9f\u884c\u3092\u958b\u59cb\u3057\u307e\u3059\u3002\n" + - "\n" + - "threads [threadgroup] -- \u30b9\u30ec\u30c3\u30c9\u3092\u4e00\u89a7\u8868\u793a\u3057\u307e\u3059\n" + - "thread -- \u30c7\u30d5\u30a9\u30eb\u30c8\u30b9\u30ec\u30c3\u30c9\u3092\u8a2d\u5b9a\u3057\u307e\u3059\n" + - "suspend [thread id(s)] -- \u30b9\u30ec\u30c3\u30c9\u3092\u4e2d\u65ad\u3057\u307e\u3059 (\u30c7\u30d5\u30a9\u30eb\u30c8: \u3059\u3079\u3066)\n" + - "resume [thread id(s)] -- \u30b9\u30ec\u30c3\u30c9\u3092\u518d\u958b\u3057\u307e\u3059 (\u30c7\u30d5\u30a9\u30eb\u30c8: \u3059\u3079\u3066)\n" + - "where [ | all] -- \u30b9\u30ec\u30c3\u30c9\u306e\u30b9\u30bf\u30c3\u30af\u3092\u30c0\u30f3\u30d7\u3057\u307e\u3059\n" + - "wherei [ | all] -- \u30b9\u30ec\u30c3\u30c9\u306e\u30b9\u30bf\u30c3\u30af\u3092 PC \u60c5\u5831\u3068\u3044\u3063\u3057\u3087\u306b\u30c0\u30f3\u30d7\u3057\u307e\u3059\n" + - "up [n frames] -- \u30b9\u30ec\u30c3\u30c9\u306e\u30b9\u30bf\u30c3\u30af\u3092\u4e0a\u3078\u79fb\u52d5\u3057\u307e\u3059\n" + - "down [n frames] -- \u30b9\u30ec\u30c3\u30c9\u306e\u30b9\u30bf\u30c3\u30af\u3092\u4e0b\u3078\u79fb\u52d5\u3057\u307e\u3059\n" + - "kill -- \u6307\u5b9a\u3055\u308c\u305f\u4f8b\u5916\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3067\u30b9\u30ec\u30c3\u30c9\u3092\u7d42\u4e86\u3057\u307e\u3059\n" + - "interrupt -- \u30b9\u30ec\u30c3\u30c9\u306b\u5272\u308a\u8fbc\u307f\u307e\u3059\n" + - "\n" + - "print -- \u5f0f\u306e\u5024\u3092\u51fa\u529b\u3057\u307e\u3059\n" + - "dump -- \u3059\u3079\u3066\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u60c5\u5831\u3092\u51fa\u529b\u3057\u307e\u3059\n" + - "eval -- \u5f0f\u3092\u8a55\u4fa1\u3057\u307e\u3059 (print \u3068\u540c\u3058)\n" + - "set = -- \u30d5\u30a3\u30fc\u30eb\u30c9/\u5909\u6570/\u914d\u5217\u8981\u7d20\u306b\u65b0\u3057\u3044\u5024\u3092\u5272\u308a\u5f53\u3066\u307e\u3059\n" + - "locals -- \u73fe\u884c\u306e\u30b9\u30bf\u30c3\u30af\u30d5\u30ec\u30fc\u30e0\u306e\u3059\u3079\u3066\u306e\u30ed\u30fc\u30ab\u30eb\u5909\u6570\u3092\u51fa\u529b\u3057\u307e\u3059\n" + - "\n" + - "classes -- \u73fe\u6642\u70b9\u3067\u65e2\u77e5\u306e\u30af\u30e9\u30b9\u3092\u4e00\u89a7\u8868\u793a\u3057\u307e\u3059\n" + - "class -- \u540d\u524d\u4ed8\u304d\u30af\u30e9\u30b9\u306e\u8a73\u7d30\u3092\u8868\u793a\u3057\u307e\u3059\n" + - "methods -- \u30af\u30e9\u30b9\u306e\u30e1\u30bd\u30c3\u30c9\u3092\u4e00\u89a7\u8868\u793a\u3057\u307e\u3059\n" + - "fields -- \u30af\u30e9\u30b9\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u3092\u4e00\u89a7\u8868\u793a\u3057\u307e\u3059\n" + - "\n" + - "threadgroups -- \u30b9\u30ec\u30c3\u30c9\u30b0\u30eb\u30fc\u30d7\u3092\u4e00\u89a7\u8868\u793a\u3057\u307e\u3059\n" + - "threadgroup -- \u73fe\u5728\u306e\u30b9\u30ec\u30c3\u30c9\u30b0\u30eb\u30fc\u30d7\u3092\u8a2d\u5b9a\u3057\u307e\u3059\n" + - "\n" + - "stop in .[(argument_type,...)]\n" + - " -- \u30e1\u30bd\u30c3\u30c9\u306b\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u3092\u8a2d\u5b9a\u3057\u307e\u3059\n" + - "stop at : -- \u884c\u306b\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u3092\u8a2d\u5b9a\u3057\u307e\u3059\n" + - "clear .[(argument_type,...)]\n" + - " -- \u30e1\u30bd\u30c3\u30c9\u306e\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u3092\u89e3\u9664\u3057\u307e\u3059\n" + - "clear : -- \u884c\u306e\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u3092\u89e3\u9664\u3057\u307e\u3059\n" + - "clear -- \u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u3092\u4e00\u89a7\u8868\u793a\u3057\u307e\u3059\n" + - "catch [uncaught|caught|all] |\n" + - " -- \u6307\u5b9a\u3055\u308c\u305f\u4f8b\u5916\u304c\u767a\u751f\u3057\u305f\u3089\u505c\u6b62\u3057\u307e\u3059\n" + - "ignore [uncaught|caught|all] |\n" + - " -- \u6307\u5b9a\u3055\u308c\u305f\u4f8b\u5916\u306e 'catch' \u3092\u53d6\u308a\u6d88\u3057\u307e\u3059\n" + - "watch [access|all] .\n" + - " -- \u30d5\u30a3\u30fc\u30eb\u30c9\u3078\u306e\u30a2\u30af\u30bb\u30b9/\u4fee\u6b63\u3092\u76e3\u8996\u3057\u307e\u3059\n" + - "unwatch [access|all] .\n" + - " -- \u30d5\u30a3\u30fc\u30eb\u30c9\u3078\u306e\u30a2\u30af\u30bb\u30b9/\u4fee\u6b63\u306e\u76e3\u8996\u3092\u4e2d\u6b62\u3057\u307e\u3059\n" + - "trace methods [thread] -- \u30e1\u30bd\u30c3\u30c9\u306e\u958b\u59cb/\u7d42\u4e86\u3092\u8ffd\u8de1\u3057\u307e\u3059\n" + - "untrace methods [thread] -- \u30e1\u30bd\u30c3\u30c9\u306e\u958b\u59cb/\u7d42\u4e86\u306e\u8ffd\u8de1\u3092\u4e2d\u6b62\u3057\u307e\u3059\n" + - "step -- \u73fe\u5728\u306e\u884c\u3092\u5b9f\u884c\u3057\u307e\u3059\n" + - "step up -- \u73fe\u5728\u306e\u30e1\u30bd\u30c3\u30c9\u304c\u547c\u3073\u51fa\u3057\u5074\u306b\u623b\u308b\u307e\u3067\u5b9f\u884c\u3057\u307e\u3059\n" + - "stepi -- \u73fe\u5728\u306e\u547d\u4ee4\u3092\u5b9f\u884c\u3057\u307e\u3059\n" + - "next -- 1 \u884c\u30b9\u30c6\u30c3\u30d7\u5b9f\u884c\u3057\u307e\u3059 (\u547c\u3073\u51fa\u3057\u3092\u30b9\u30c6\u30c3\u30d7\u30aa\u30fc\u30d0\u30fc\u3057\u307e\u3059)\n" + - "cont -- \u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u304b\u3089\u7d99\u7d9a\u3057\u3066\u5b9f\u884c\u3057\u307e\u3059\n" + - "\n" + - "list [line number|method] -- \u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u51fa\u529b\u3057\u307e\u3059\n" + - "use (or sourcepath) [source file path]\n" + - " -- \u30bd\u30fc\u30b9\u30d1\u30b9\u3092\u8868\u793a\u307e\u305f\u306f\u5909\u66f4\u3057\u307e\u3059\n" + - "exclude [, ... | \"none\"]\n" + - " -- \u6307\u5b9a\u3057\u305f\u30af\u30e9\u30b9\u306e\u30b9\u30c6\u30c3\u30d7\u307e\u305f\u306f\u30e1\u30bd\u30c3\u30c9\u30a4\u30d9\u30f3\u30c8\u3092\u5831\u544a\u3057\u307e\u305b\u3093\n" + - "classpath -- \u30bf\u30fc\u30b2\u30c3\u30c8 VM \u306e\u30af\u30e9\u30b9\u30d1\u30b9\u60c5\u5831\u3092\u51fa\u529b\u3057\u307e\u3059\n" + - "\n" + - "monitor -- \u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u505c\u6b62\u6642\u306b\u6bce\u56de\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\n" + - "monitor -- \u30e2\u30cb\u30bf\u3092\u4e00\u89a7\u8868\u793a\u3057\u307e\u3059\n" + - "unmonitor -- \u30e2\u30cb\u30bf\u3092\u524a\u9664\u3057\u307e\u3059\n" + - "read -- \u30b3\u30de\u30f3\u30c9\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u307f\u3001\u5b9f\u884c\u3057\u307e\u3059\n" + - "\n" + - "lock -- \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u30ed\u30c3\u30af\u60c5\u5831\u3092\u51fa\u529b\u3057\u307e\u3059\n" + - "threadlocks [thread id] -- \u30b9\u30ec\u30c3\u30c9\u306e\u30ed\u30c3\u30af\u60c5\u5831\u3092\u51fa\u529b\u3057\u307e\u3059\n" + - "\n" + - "pop -- \u73fe\u5728\u306e\u30d5\u30ec\u30fc\u30e0\u3092\u542b\u3080\u3059\u3079\u3066\u306e\u30b9\u30bf\u30c3\u30af\u3092\u30dd\u30c3\u30d7\u3057\u307e\u3059\n" + - "reenter -- \u30dd\u30c3\u30d7\u3068\u540c\u3058\u3067\u3059\u304c\u3001\u73fe\u5728\u306e\u30d5\u30ec\u30fc\u30e0\u304c\u518d\u5165\u529b\u3055\u308c\u307e\u3059\n" + - "redefine \n" + - " -- \u30af\u30e9\u30b9\u306e\u30b3\u30fc\u30c9\u3092\u518d\u5b9a\u7fa9\u3057\u307e\u3059\n" + - "\n" + - "disablegc -- \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u6291\u6b62\u3057\u307e\u3059\n" + - "enablegc -- \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u8a31\u53ef\u3057\u307e\u3059\n" + - "\n" + - "!! -- \u6700\u5f8c\u306e\u30b3\u30de\u30f3\u30c9\u3092\u7e70\u308a\u8fd4\u3057\u307e\u3059\n" + - " -- \u30b3\u30de\u30f3\u30c9\u3092 n \u56de\u7e70\u308a\u8fd4\u3057\u307e\u3059\n" + - "help (or ?) -- \u30b3\u30de\u30f3\u30c9\u3092\u4e00\u89a7\u8868\u793a\u3057\u307e\u3059\n" + - "version -- \u30d0\u30fc\u30b8\u30e7\u30f3\u60c5\u5831\u3092\u51fa\u529b\u3057\u307e\u3059\n" + - "exit (or quit) -- \u30c7\u30d0\u30c3\u30ac\u3092\u7d42\u4e86\u3057\u307e\u3059\n" + - "\n" + - ": \u30d1\u30c3\u30b1\u30fc\u30b8\u4fee\u98fe\u5b50\u3092\u542b\u3080\u5b8c\u5168\u306a\u30af\u30e9\u30b9\u540d\n" + - ": \u5148\u982d\u304b\u672b\u5c3e\u306b\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9 ('*') \u306e\u4ed8\u3044\u305f\u30af\u30e9\u30b9\u540d\n" + - ": 'threads' \u30b3\u30de\u30f3\u30c9\u3067\u5831\u544a\u3055\u308c\u308b\u30b9\u30ec\u30c3\u30c9\u756a\u53f7\n" + - ": Java(tm) \u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u5f0f\n" + - "\u3082\u3063\u3068\u3082\u4e00\u822c\u7684\u306a\u69cb\u6587\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u3059\u3002\n" + - "\n" + - "user.home \u307e\u305f\u306f user.dir \u4e0b\u306e \"jdb.ini\" \u304b \".jdbrc\" \u306e\n" + - "\u3044\u305a\u308c\u304b\u306b\u8d77\u52d5\u30b3\u30de\u30f3\u30c9\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002"}, + "** \u30B3\u30DE\u30F3\u30C9\u30FB\u30EA\u30B9\u30C8 **\nconnectors -- \u3053\u306EVM\u5185\u306E\u4F7F\u7528\u53EF\u80FD\u306A\u30B3\u30CD\u30AF\u30BF\u3068\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30C8\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\n\nrun [class [args]] -- \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9\u306E\u5B9F\u884C\u3092\u958B\u59CB\u3057\u307E\u3059\n\nthreads [threadgroup] -- \u30B9\u30EC\u30C3\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nthread -- \u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30B9\u30EC\u30C3\u30C9\u3092\u8A2D\u5B9A\u3057\u307E\u3059\nsuspend [thread id(s)] -- \u30B9\u30EC\u30C3\u30C9\u3092\u4E2D\u65AD\u3057\u307E\u3059(\u30C7\u30D5\u30A9\u30EB\u30C8: \u3059\u3079\u3066)\nresume [thread id(s)] -- \u30B9\u30EC\u30C3\u30C9\u3092\u518D\u958B\u3057\u307E\u3059(\u30C7\u30D5\u30A9\u30EB\u30C8: \u3059\u3079\u3066)\nwhere [ | all] -- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u30C0\u30F3\u30D7\u3057\u307E\u3059\nwherei [ | all]-- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092pc\u60C5\u5831\u3068\u3068\u3082\u306B\u30C0\u30F3\u30D7\u3057\u307E\u3059\nup [n frames] -- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u4E0A\u306B\u79FB\u52D5\u3057\u307E\u3059\ndown [n frames] -- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u4E0B\u306B\u79FB\u52D5\u3057\u307E\u3059\nkill -- \u6307\u5B9A\u3055\u308C\u305F\u4F8B\u5916\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u30B9\u30EC\u30C3\u30C9\u3092\u5F37\u5236\u7D42\u4E86\u3057\u307E\u3059\ninterrupt -- \u30B9\u30EC\u30C3\u30C9\u3092\u4E2D\u65AD\u3057\u307E\u3059\n\nprint -- \u5F0F\u306E\u5024\u3092\u51FA\u529B\u3057\u307E\u3059\ndump -- \u3059\u3079\u3066\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\neval -- \u5F0F\u3092\u8A55\u4FA1\u3057\u307E\u3059(print\u3068\u540C\u3058)\nset = -- \u65B0\u3057\u3044\u5024\u3092\u30D5\u30A3\u30FC\u30EB\u30C9/\u5909\u6570/\u914D\u5217\u8981\u7D20\u306B\u4EE3\u5165\u3057\u307E\u3059\nlocals -- \u73FE\u5728\u306E\u30B9\u30BF\u30C3\u30AF\u30FB\u30D5\u30EC\u30FC\u30E0\u5185\u306E\u3059\u3079\u3066\u306E\u30ED\u30FC\u30AB\u30EB\u5909\u6570\u3092\u51FA\u529B\u3057\u307E\u3059\n\nclasses -- \u73FE\u5728\u65E2\u77E5\u306E\u30AF\u30E9\u30B9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nclass -- \u6307\u5B9A\u3057\u305F\u30AF\u30E9\u30B9\u306E\u8A73\u7D30\u3092\u8868\u793A\u3057\u307E\u3059\nmethods -- \u30AF\u30E9\u30B9\u306E\u30E1\u30BD\u30C3\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nfields -- \u30AF\u30E9\u30B9\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\n\nthreadgroups -- \u30B9\u30EC\u30C3\u30C9\u30B0\u30EB\u30FC\u30D7\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nthreadgroup -- \u73FE\u5728\u306E\u30B9\u30EC\u30C3\u30C9\u30B0\u30EB\u30FC\u30D7\u3092\u8A2D\u5B9A\u3057\u307E\u3059\n\nstop in .[(argument_type,...)]\n -- \u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30E1\u30BD\u30C3\u30C9\u5185\u306B\u8A2D\u5B9A\u3057\u307E\u3059\nstop at : -- \u884C\u306B\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u8A2D\u5B9A\u3057\u307E\u3059\nclear .[(argument_type,...)]\n -- \u30E1\u30BD\u30C3\u30C9\u5185\u306E\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30AF\u30EA\u30A2\u3057\u307E\u3059\nclear : -- \u884C\u306E\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30AF\u30EA\u30A2\u3057\u307E\u3059\nclear -- \u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\ncatch [uncaught|caught|all] |\n -- \u6307\u5B9A\u3055\u308C\u305F\u4F8B\u5916\u304C\u767A\u751F\u3057\u305F\u3068\u304D\u306B\u30D6\u30EC\u30FC\u30AF\u3057\u307E\u3059\nignore [uncaught|caught|all] |\n -- \u6307\u5B9A\u3055\u308C\u305F\u4F8B\u5916\u306E'catch'\u3092\u53D6\u308A\u6D88\u3057\u307E\u3059\nwatch [access|all] .\n -- \u30D5\u30A3\u30FC\u30EB\u30C9\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u307E\u305F\u306F\u5909\u66F4\u3092\u76E3\u8996\u3057\u307E\u3059\nunwatch [access|all] .\n -- \u30D5\u30A3\u30FC\u30EB\u30C9\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u307E\u305F\u306F\u5909\u66F4\u306E\u76E3\u8996\u3092\u4E2D\u6B62\u3057\u307E\u3059\ntrace [go] methods [thread]\n -- \u30E1\u30BD\u30C3\u30C9\u306E\u5165\u308A\u53E3\u3068\u51FA\u53E3\u3092\u30C8\u30EC\u30FC\u30B9\u3057\u307E\u3059\u3002\n -- 'go'\u304C\u6307\u5B9A\u3055\u308C\u308B\u307E\u3067\u3059\u3079\u3066\u306E\u30B9\u30EC\u30C3\u30C9\u306F\u4E2D\u65AD\u3057\u307E\u3059\ntrace [go] method exit | exits [thread]\n -- \u73FE\u5728\u306E\u30E1\u30BD\u30C3\u30C9\u306E\u51FA\u53E3\u307E\u305F\u306F\u3059\u3079\u3066\u306E\u30E1\u30BD\u30C3\u30C9\u306E\u51FA\u53E3\u3092\u30C8\u30EC\u30FC\u30B9\u3057\u307E\u3059\n -- 'go'\u304C\u6307\u5B9A\u3055\u308C\u308B\u307E\u3067\u3059\u3079\u3066\u306E\u30B9\u30EC\u30C3\u30C9\u306F\u4E2D\u65AD\u3057\u307E\u3059\nuntrace [methods] -- \u30E1\u30BD\u30C3\u30C9\u306E\u958B\u59CB\u307E\u305F\u306F\u7D42\u4E86\u306E\u30C8\u30EC\u30FC\u30B9\u3092\u505C\u6B62\u3057\u307E\u3059\nstep -- \u73FE\u5728\u306E\u884C\u3092\u5B9F\u884C\u3057\u307E\u3059\nstep up -- \u73FE\u5728\u306E\u30E1\u30BD\u30C3\u30C9\u304C\u30E1\u30BD\u30C3\u30C9\u306E\u547C\u51FA\u3057\u5143\u306B\u623B\u308B\u307E\u3067\u5B9F\u884C\u3057\u307E\u3059\nstepi -- \u73FE\u5728\u306E\u547D\u4EE4\u3092\u5B9F\u884C\u3057\u307E\u3059\nnext -- 1\u884C\u3092\u30B9\u30C6\u30C3\u30D7\u5B9F\u884C\u3057\u307E\u3059(\u547C\u51FA\u3057\u3092\u30B9\u30C6\u30C3\u30D7\u30AA\u30FC\u30D0\u30FC)\ncont -- \u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u304B\u3089\u5B9F\u884C\u3092\u7D9A\u884C\u3057\u307E\u3059\n\nlist [line number|method] -- \u30BD\u30FC\u30B9\u30FB\u30B3\u30FC\u30C9\u3092\u51FA\u529B\u3057\u307E\u3059\nuse (or sourcepath) [source file path]\n -- \u30BD\u30FC\u30B9\u30FB\u30D1\u30B9\u3092\u8868\u793A\u307E\u305F\u306F\u5909\u66F4\u3057\u307E\u3059\nexclude [, ... | \"none\"]\n -- \u6307\u5B9A\u3057\u305F\u30AF\u30E9\u30B9\u306E\u30B9\u30C6\u30C3\u30D7\u3084\u30E1\u30BD\u30C3\u30C9\u30FB\u30A4\u30D9\u30F3\u30C8\u3092\u5831\u544A\u3057\u307E\u305B\u3093\nclasspath -- \u30BF\u30FC\u30B2\u30C3\u30C8VM\u304B\u3089\u30AF\u30E9\u30B9\u30D1\u30B9\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\n\nmonitor -- \u30D7\u30ED\u30B0\u30E9\u30E0\u304C\u505C\u6B62\u3059\u308B\u305F\u3073\u306B\u30B3\u30DE\u30F3\u30C9\u3092\u5B9F\u884C\u3057\u307E\u3059\nmonitor -- \u30E2\u30CB\u30BF\u30FC\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nunmonitor -- \u30E2\u30CB\u30BF\u30FC\u3092\u524A\u9664\u3057\u307E\u3059\nread -- \u30B3\u30DE\u30F3\u30C9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u3063\u3066\u5B9F\u884C\u3057\u307E\u3059\n\nlock -- \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30ED\u30C3\u30AF\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\nthreadlocks [thread id] -- \u30B9\u30EC\u30C3\u30C9\u306E\u30ED\u30C3\u30AF\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\n\npop -- \u73FE\u5728\u306E\u30D5\u30EC\u30FC\u30E0\u307E\u3067\u306E\u3059\u3079\u3066\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u30DD\u30C3\u30D7\u3057\u307E\u3059\nreenter -- pop\u3068\u540C\u3058\u3067\u3059\u304C\u3001\u73FE\u5728\u306E\u30D5\u30EC\u30FC\u30E0\u304C\u518D\u5165\u529B\u3055\u308C\u307E\u3059\nredefine \n -- \u30AF\u30E9\u30B9\u306E\u30B3\u30FC\u30C9\u3092\u518D\u5B9A\u7FA9\u3057\u307E\u3059\n\ndisablegc -- \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3092\u6291\u5236\u3057\u307E\u3059\nenablegc -- \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3092\u8A31\u53EF\u3057\u307E\u3059\n\n!! -- \u6700\u5F8C\u306E\u30B3\u30DE\u30F3\u30C9\u3092\u7E70\u308A\u8FD4\u3057\u307E\u3059\n -- \u30B3\u30DE\u30F3\u30C9\u3092n\u56DE\u7E70\u308A\u8FD4\u3057\u307E\u3059\n# -- \u7834\u68C4\u3057\u307E\u3059(\u64CD\u4F5C\u306A\u3057)\nhelp (\u307E\u305F\u306F?) -- \u30B3\u30DE\u30F3\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nversion -- \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\nexit (\u307E\u305F\u306Fquit) -- \u30C7\u30D0\u30C3\u30AC\u3092\u7D42\u4E86\u3057\u307E\u3059\n\n: \u30D1\u30C3\u30B1\u30FC\u30B8\u4FEE\u98FE\u5B50\u3092\u542B\u3080\u5B8C\u5168\u30AF\u30E9\u30B9\u540D\n: \u5148\u982D\u307E\u305F\u306F\u672B\u5C3E\u306E\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9('*')\u3092\u542B\u3080\u30AF\u30E9\u30B9\u540D\n: 'threads'\u30B3\u30DE\u30F3\u30C9\u3067\u5831\u544A\u3055\u308C\u308B\u30B9\u30EC\u30C3\u30C9\u756A\u53F7\n: Java(TM)\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u8A00\u8A9E\u306E\u5F0F\u3002\n\u307B\u3068\u3093\u3069\u306E\u4E00\u822C\u7684\u306A\u69CB\u6587\u304C\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u3059\u3002\n\n\u8D77\u52D5\u30B3\u30DE\u30F3\u30C9\u306F\u3001\"jdb.ini\"\u307E\u305F\u306F\".jdbrc\"\u306B\u914D\u7F6E\u3067\u304D\u307E\u3059\n(user.home\u307E\u305F\u306Fuser.dir\u5185)"}, {"zz usage text", - "\u4f7f\u7528\u6cd5: {0} \n" + -"\n" + - "\u3053\u3053\u3067 options \u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3059\u3002\n" + - " -help \u3053\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u51fa\u529b\u3057\u3066\u7d42\u4e86\u3057\u307e\u3059\n" + - " -sourcepath <\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f \"{1}\" \u3067\u533a\u5207\u308a\u307e\u3059>\n" + - " \u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22\u3059\u308b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3067\u3059\n" + - " -attach
\n" + - " \u6a19\u6e96\u7684\u306a\u30b3\u30cd\u30af\u30bf\u3092\u4f7f\u3063\u3066\u3001\u6307\u5b9a\u3057\u305f\u30a2\u30c9\u30ec\u30b9\u3067\u5b9f\u884c\u4e2d\u306e VM \u306b\u63a5\u7d9a\u3057\u307e\u3059\n" + - " -listen
\n" + - " \u6a19\u6e96\u7684\u306a\u30b3\u30cd\u30af\u30bf\u3092\u4f7f\u3063\u3066\u3001\u6307\u5b9a\u3057\u305f\u30a2\u30c9\u30ec\u30b9\u3067\u63a5\u7d9a\u3059\u308b\u305f\u3081\u306b\u5b9f\u884c\u4e2d\u306e VM \u3092\u5f85\u6a5f\u3057\u307e\u3059\n" + - " -listenany\n" + - " \u6a19\u6e96\u7684\u306a\u30b3\u30cd\u30af\u30bf\u3092\u4f7f\u3063\u3066\u3001\u4f7f\u7528\u53ef\u80fd\u306a\u4efb\u610f\u306e\u30a2\u30c9\u30ec\u30b9\u3067\u63a5\u7d9a\u3059\u308b\u305f\u3081\u306b\u5b9f\u884c\u4e2d\u306e VM \u3092\u5f85\u6a5f\u3057\u307e\u3059\n" + - " -launch\n" + - " ''run'' \u30b3\u30de\u30f3\u30c9\u3092\u5f85\u305f\u305a\u306b VM \u3092\u305f\u3060\u3061\u306b\u8d77\u52d5\u3057\u307e\u3059\n" + - " -listconnectors \u3053\u306e VM \u5185\u3067\u4f7f\u7528\u53ef\u80fd\u306a\u30b3\u30cd\u30af\u30bf\u3092\u30ea\u30b9\u30c8\u8868\u793a\u3057\u307e\u3059\n" + - " -connect :=,...\n" + - " \u540d\u524d\u4ed8\u304d\u30b3\u30cd\u30af\u30bf\u3068\u4e00\u89a7\u8868\u793a\u3055\u308c\u305f\u5f15\u6570\u5024\u3092\u4f7f\u7528\u3057\u3066\u30bf\u30fc\u30b2\u30c3\u30c8 VM \u306b\u63a5\u7d9a\u3057\u307e\u3059\n" + - " -dbgtrace [flags] {0} \u3092\u30c7\u30d0\u30c3\u30b0\u3059\u308b\u305f\u3081\u306e\u51fa\u529b\u60c5\u5831\n" + - " -tclient Hotspot(tm) Performance Engine (\u30af\u30e9\u30a4\u30a2\u30f3\u30c8) \u3067\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u307e\u3059\n" + - " -tserver Hotspot(tm) Performance Engine (\u30b5\u30fc\u30d0) \u3067\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u307e\u3059\n" + - "\n" + - "\u30c7\u30d0\u30c3\u30b0\u30d7\u30ed\u30bb\u30b9\u306b\u8ee2\u9001\u3055\u308c\u305f\u30aa\u30d7\u30b7\u30e7\u30f3:\n" + - " -v -verbose[:class|gc|jni]\n" + - " \u5197\u9577\u30e2\u30fc\u30c9\u3092\u30aa\u30f3\u306b\u3057\u307e\u3059\u3002\n" + - " -D= \u30b7\u30b9\u30c6\u30e0\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u8a2d\u5b9a\u3057\u307e\u3059\n" + - " -classpath <\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f \"{1}\" \u3067\u533a\u5207\u308a\u307e\u3059>\n" + - " \u30af\u30e9\u30b9\u306e\u691c\u7d22\u5148\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4e00\u89a7\u8868\u793a\u3057\u307e\u3059\u3002\n" + - " -X