changeset 14143:79c6fae0f949

Merge
author asaha
date Fri, 07 Sep 2012 18:18:55 -0700
parents fe0729bed5d6 ffe6bce5a521
children effbc094884c
files hotspot/agent/src/share/classes/sun/jvm/hotspot/code/RicochetBlob.java hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/sparc/SPARCRicochetFrame.java hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/x86/X86RicochetFrame.java hotspot/src/share/vm/gc_implementation/parNew/parGCAllocBuffer.cpp hotspot/src/share/vm/gc_implementation/parNew/parGCAllocBuffer.hpp hotspot/src/share/vm/prims/methodHandleWalk.cpp hotspot/src/share/vm/prims/methodHandleWalk.hpp hotspot/src/share/vm/runtime/arguments.cpp jdk/make/sun/beans/Makefile jdk/src/share/classes/java/lang/annotation/ContainerAnnotation.java jdk/src/share/classes/java/lang/invoke/AdapterMethodHandle.java jdk/src/share/classes/java/lang/invoke/CountingMethodHandle.java jdk/src/share/classes/java/text/BreakDictionary.java jdk/src/share/classes/java/text/CollationRules.java jdk/src/share/classes/java/text/DictionaryBasedBreakIterator.java jdk/src/share/classes/java/text/RuleBasedBreakIterator.java jdk/src/share/classes/sun/beans/editors/BooleanEditor.java jdk/src/share/classes/sun/beans/editors/ByteEditor.java jdk/src/share/classes/sun/beans/editors/ColorEditor.java jdk/src/share/classes/sun/beans/editors/DoubleEditor.java jdk/src/share/classes/sun/beans/editors/EnumEditor.java jdk/src/share/classes/sun/beans/editors/FloatEditor.java jdk/src/share/classes/sun/beans/editors/FontEditor.java jdk/src/share/classes/sun/beans/editors/IntegerEditor.java jdk/src/share/classes/sun/beans/editors/LongEditor.java jdk/src/share/classes/sun/beans/editors/NumberEditor.java jdk/src/share/classes/sun/beans/editors/ShortEditor.java jdk/src/share/classes/sun/beans/editors/StringEditor.java jdk/src/share/classes/sun/beans/infos/ComponentBeanInfo.java jdk/src/share/classes/sun/text/resources/BreakIteratorInfo_th.java jdk/src/share/classes/sun/text/resources/BreakIteratorRules_th.java jdk/src/share/classes/sun/text/resources/CollationData_ar.java jdk/src/share/classes/sun/text/resources/CollationData_be.java jdk/src/share/classes/sun/text/resources/CollationData_bg.java jdk/src/share/classes/sun/text/resources/CollationData_ca.java jdk/src/share/classes/sun/text/resources/CollationData_cs.java jdk/src/share/classes/sun/text/resources/CollationData_da.java jdk/src/share/classes/sun/text/resources/CollationData_de.java jdk/src/share/classes/sun/text/resources/CollationData_el.java jdk/src/share/classes/sun/text/resources/CollationData_en.java jdk/src/share/classes/sun/text/resources/CollationData_es.java jdk/src/share/classes/sun/text/resources/CollationData_et.java jdk/src/share/classes/sun/text/resources/CollationData_fi.java jdk/src/share/classes/sun/text/resources/CollationData_fr.java jdk/src/share/classes/sun/text/resources/CollationData_hi.java jdk/src/share/classes/sun/text/resources/CollationData_hr.java jdk/src/share/classes/sun/text/resources/CollationData_hu.java jdk/src/share/classes/sun/text/resources/CollationData_is.java jdk/src/share/classes/sun/text/resources/CollationData_it.java jdk/src/share/classes/sun/text/resources/CollationData_iw.java jdk/src/share/classes/sun/text/resources/CollationData_ja.java jdk/src/share/classes/sun/text/resources/CollationData_ko.java jdk/src/share/classes/sun/text/resources/CollationData_lt.java jdk/src/share/classes/sun/text/resources/CollationData_lv.java jdk/src/share/classes/sun/text/resources/CollationData_mk.java jdk/src/share/classes/sun/text/resources/CollationData_nl.java jdk/src/share/classes/sun/text/resources/CollationData_no.java jdk/src/share/classes/sun/text/resources/CollationData_pl.java jdk/src/share/classes/sun/text/resources/CollationData_pt.java jdk/src/share/classes/sun/text/resources/CollationData_ro.java jdk/src/share/classes/sun/text/resources/CollationData_ru.java jdk/src/share/classes/sun/text/resources/CollationData_sk.java jdk/src/share/classes/sun/text/resources/CollationData_sl.java jdk/src/share/classes/sun/text/resources/CollationData_sq.java jdk/src/share/classes/sun/text/resources/CollationData_sr.java jdk/src/share/classes/sun/text/resources/CollationData_sr_Latn.java jdk/src/share/classes/sun/text/resources/CollationData_sv.java jdk/src/share/classes/sun/text/resources/CollationData_th.java jdk/src/share/classes/sun/text/resources/CollationData_tr.java jdk/src/share/classes/sun/text/resources/CollationData_uk.java jdk/src/share/classes/sun/text/resources/CollationData_vi.java jdk/src/share/classes/sun/text/resources/CollationData_zh.java jdk/src/share/classes/sun/text/resources/CollationData_zh_HK.java jdk/src/share/classes/sun/text/resources/CollationData_zh_TW.java jdk/src/share/classes/sun/text/resources/FormatData_ar.java jdk/src/share/classes/sun/text/resources/FormatData_ar_AE.java jdk/src/share/classes/sun/text/resources/FormatData_ar_BH.java jdk/src/share/classes/sun/text/resources/FormatData_ar_DZ.java jdk/src/share/classes/sun/text/resources/FormatData_ar_EG.java jdk/src/share/classes/sun/text/resources/FormatData_ar_IQ.java jdk/src/share/classes/sun/text/resources/FormatData_ar_JO.java jdk/src/share/classes/sun/text/resources/FormatData_ar_KW.java jdk/src/share/classes/sun/text/resources/FormatData_ar_LB.java jdk/src/share/classes/sun/text/resources/FormatData_ar_LY.java jdk/src/share/classes/sun/text/resources/FormatData_ar_MA.java jdk/src/share/classes/sun/text/resources/FormatData_ar_OM.java jdk/src/share/classes/sun/text/resources/FormatData_ar_QA.java jdk/src/share/classes/sun/text/resources/FormatData_ar_SA.java jdk/src/share/classes/sun/text/resources/FormatData_ar_SD.java jdk/src/share/classes/sun/text/resources/FormatData_ar_SY.java jdk/src/share/classes/sun/text/resources/FormatData_ar_TN.java jdk/src/share/classes/sun/text/resources/FormatData_ar_YE.java jdk/src/share/classes/sun/text/resources/FormatData_be.java jdk/src/share/classes/sun/text/resources/FormatData_be_BY.java jdk/src/share/classes/sun/text/resources/FormatData_bg.java jdk/src/share/classes/sun/text/resources/FormatData_bg_BG.java jdk/src/share/classes/sun/text/resources/FormatData_ca.java jdk/src/share/classes/sun/text/resources/FormatData_ca_ES.java jdk/src/share/classes/sun/text/resources/FormatData_cs.java jdk/src/share/classes/sun/text/resources/FormatData_cs_CZ.java jdk/src/share/classes/sun/text/resources/FormatData_da.java jdk/src/share/classes/sun/text/resources/FormatData_da_DK.java jdk/src/share/classes/sun/text/resources/FormatData_de.java jdk/src/share/classes/sun/text/resources/FormatData_de_AT.java jdk/src/share/classes/sun/text/resources/FormatData_de_CH.java jdk/src/share/classes/sun/text/resources/FormatData_de_DE.java jdk/src/share/classes/sun/text/resources/FormatData_de_LU.java jdk/src/share/classes/sun/text/resources/FormatData_el.java jdk/src/share/classes/sun/text/resources/FormatData_el_CY.java jdk/src/share/classes/sun/text/resources/FormatData_el_GR.java jdk/src/share/classes/sun/text/resources/FormatData_en.java jdk/src/share/classes/sun/text/resources/FormatData_en_AU.java jdk/src/share/classes/sun/text/resources/FormatData_en_CA.java jdk/src/share/classes/sun/text/resources/FormatData_en_GB.java jdk/src/share/classes/sun/text/resources/FormatData_en_IE.java jdk/src/share/classes/sun/text/resources/FormatData_en_IN.java jdk/src/share/classes/sun/text/resources/FormatData_en_MT.java jdk/src/share/classes/sun/text/resources/FormatData_en_NZ.java jdk/src/share/classes/sun/text/resources/FormatData_en_PH.java jdk/src/share/classes/sun/text/resources/FormatData_en_SG.java jdk/src/share/classes/sun/text/resources/FormatData_en_US.java jdk/src/share/classes/sun/text/resources/FormatData_en_ZA.java jdk/src/share/classes/sun/text/resources/FormatData_es.java jdk/src/share/classes/sun/text/resources/FormatData_es_AR.java jdk/src/share/classes/sun/text/resources/FormatData_es_BO.java jdk/src/share/classes/sun/text/resources/FormatData_es_CL.java jdk/src/share/classes/sun/text/resources/FormatData_es_CO.java jdk/src/share/classes/sun/text/resources/FormatData_es_CR.java jdk/src/share/classes/sun/text/resources/FormatData_es_DO.java jdk/src/share/classes/sun/text/resources/FormatData_es_EC.java jdk/src/share/classes/sun/text/resources/FormatData_es_ES.java jdk/src/share/classes/sun/text/resources/FormatData_es_GT.java jdk/src/share/classes/sun/text/resources/FormatData_es_HN.java jdk/src/share/classes/sun/text/resources/FormatData_es_MX.java jdk/src/share/classes/sun/text/resources/FormatData_es_NI.java jdk/src/share/classes/sun/text/resources/FormatData_es_PA.java jdk/src/share/classes/sun/text/resources/FormatData_es_PE.java jdk/src/share/classes/sun/text/resources/FormatData_es_PR.java jdk/src/share/classes/sun/text/resources/FormatData_es_PY.java jdk/src/share/classes/sun/text/resources/FormatData_es_SV.java jdk/src/share/classes/sun/text/resources/FormatData_es_US.java jdk/src/share/classes/sun/text/resources/FormatData_es_UY.java jdk/src/share/classes/sun/text/resources/FormatData_es_VE.java jdk/src/share/classes/sun/text/resources/FormatData_et.java jdk/src/share/classes/sun/text/resources/FormatData_et_EE.java jdk/src/share/classes/sun/text/resources/FormatData_fi.java jdk/src/share/classes/sun/text/resources/FormatData_fi_FI.java jdk/src/share/classes/sun/text/resources/FormatData_fr.java jdk/src/share/classes/sun/text/resources/FormatData_fr_BE.java jdk/src/share/classes/sun/text/resources/FormatData_fr_CA.java jdk/src/share/classes/sun/text/resources/FormatData_fr_CH.java jdk/src/share/classes/sun/text/resources/FormatData_fr_FR.java jdk/src/share/classes/sun/text/resources/FormatData_fr_LU.java jdk/src/share/classes/sun/text/resources/FormatData_ga.java jdk/src/share/classes/sun/text/resources/FormatData_ga_IE.java jdk/src/share/classes/sun/text/resources/FormatData_hi_IN.java jdk/src/share/classes/sun/text/resources/FormatData_hr.java jdk/src/share/classes/sun/text/resources/FormatData_hr_HR.java jdk/src/share/classes/sun/text/resources/FormatData_hu.java jdk/src/share/classes/sun/text/resources/FormatData_hu_HU.java jdk/src/share/classes/sun/text/resources/FormatData_in.java jdk/src/share/classes/sun/text/resources/FormatData_in_ID.java jdk/src/share/classes/sun/text/resources/FormatData_is.java jdk/src/share/classes/sun/text/resources/FormatData_is_IS.java jdk/src/share/classes/sun/text/resources/FormatData_it.java jdk/src/share/classes/sun/text/resources/FormatData_it_CH.java jdk/src/share/classes/sun/text/resources/FormatData_it_IT.java jdk/src/share/classes/sun/text/resources/FormatData_iw.java jdk/src/share/classes/sun/text/resources/FormatData_iw_IL.java jdk/src/share/classes/sun/text/resources/FormatData_ja.java jdk/src/share/classes/sun/text/resources/FormatData_ja_JP.java jdk/src/share/classes/sun/text/resources/FormatData_ja_JP_JP.java jdk/src/share/classes/sun/text/resources/FormatData_ko.java jdk/src/share/classes/sun/text/resources/FormatData_ko_KR.java jdk/src/share/classes/sun/text/resources/FormatData_lt.java jdk/src/share/classes/sun/text/resources/FormatData_lt_LT.java jdk/src/share/classes/sun/text/resources/FormatData_lv.java jdk/src/share/classes/sun/text/resources/FormatData_lv_LV.java jdk/src/share/classes/sun/text/resources/FormatData_mk.java jdk/src/share/classes/sun/text/resources/FormatData_mk_MK.java jdk/src/share/classes/sun/text/resources/FormatData_ms.java jdk/src/share/classes/sun/text/resources/FormatData_ms_MY.java jdk/src/share/classes/sun/text/resources/FormatData_mt.java jdk/src/share/classes/sun/text/resources/FormatData_mt_MT.java jdk/src/share/classes/sun/text/resources/FormatData_nl.java jdk/src/share/classes/sun/text/resources/FormatData_nl_BE.java jdk/src/share/classes/sun/text/resources/FormatData_nl_NL.java jdk/src/share/classes/sun/text/resources/FormatData_no.java jdk/src/share/classes/sun/text/resources/FormatData_no_NO.java jdk/src/share/classes/sun/text/resources/FormatData_no_NO_NY.java jdk/src/share/classes/sun/text/resources/FormatData_pl.java jdk/src/share/classes/sun/text/resources/FormatData_pl_PL.java jdk/src/share/classes/sun/text/resources/FormatData_pt.java jdk/src/share/classes/sun/text/resources/FormatData_pt_BR.java jdk/src/share/classes/sun/text/resources/FormatData_pt_PT.java jdk/src/share/classes/sun/text/resources/FormatData_ro.java jdk/src/share/classes/sun/text/resources/FormatData_ro_RO.java jdk/src/share/classes/sun/text/resources/FormatData_ru.java jdk/src/share/classes/sun/text/resources/FormatData_ru_RU.java jdk/src/share/classes/sun/text/resources/FormatData_sk.java jdk/src/share/classes/sun/text/resources/FormatData_sk_SK.java jdk/src/share/classes/sun/text/resources/FormatData_sl.java jdk/src/share/classes/sun/text/resources/FormatData_sl_SI.java jdk/src/share/classes/sun/text/resources/FormatData_sq.java jdk/src/share/classes/sun/text/resources/FormatData_sq_AL.java jdk/src/share/classes/sun/text/resources/FormatData_sr.java jdk/src/share/classes/sun/text/resources/FormatData_sr_BA.java jdk/src/share/classes/sun/text/resources/FormatData_sr_CS.java jdk/src/share/classes/sun/text/resources/FormatData_sr_Latn.java jdk/src/share/classes/sun/text/resources/FormatData_sr_Latn_BA.java jdk/src/share/classes/sun/text/resources/FormatData_sr_Latn_ME.java jdk/src/share/classes/sun/text/resources/FormatData_sr_Latn_RS.java jdk/src/share/classes/sun/text/resources/FormatData_sr_ME.java jdk/src/share/classes/sun/text/resources/FormatData_sr_RS.java jdk/src/share/classes/sun/text/resources/FormatData_sv.java jdk/src/share/classes/sun/text/resources/FormatData_sv_SE.java jdk/src/share/classes/sun/text/resources/FormatData_th.java jdk/src/share/classes/sun/text/resources/FormatData_th_TH.java jdk/src/share/classes/sun/text/resources/FormatData_th_TH_TH.java jdk/src/share/classes/sun/text/resources/FormatData_tr.java jdk/src/share/classes/sun/text/resources/FormatData_tr_TR.java jdk/src/share/classes/sun/text/resources/FormatData_uk.java jdk/src/share/classes/sun/text/resources/FormatData_uk_UA.java jdk/src/share/classes/sun/text/resources/FormatData_vi.java jdk/src/share/classes/sun/text/resources/FormatData_vi_VN.java jdk/src/share/classes/sun/text/resources/FormatData_zh.java jdk/src/share/classes/sun/text/resources/FormatData_zh_CN.java jdk/src/share/classes/sun/text/resources/FormatData_zh_HK.java jdk/src/share/classes/sun/text/resources/FormatData_zh_SG.java jdk/src/share/classes/sun/text/resources/FormatData_zh_TW.java jdk/src/share/classes/sun/text/resources/thai_dict jdk/src/share/classes/sun/util/EmptyListResourceBundle.java jdk/src/share/classes/sun/util/LocaleDataMetaInfo-XLocales.java.template jdk/src/share/classes/sun/util/LocaleServiceProviderPool.java jdk/src/share/classes/sun/util/TimeZoneNameUtility.java jdk/src/share/classes/sun/util/resources/CalendarData_ar.properties jdk/src/share/classes/sun/util/resources/CalendarData_be.properties jdk/src/share/classes/sun/util/resources/CalendarData_bg.properties jdk/src/share/classes/sun/util/resources/CalendarData_ca.properties jdk/src/share/classes/sun/util/resources/CalendarData_cs.properties jdk/src/share/classes/sun/util/resources/CalendarData_da.properties jdk/src/share/classes/sun/util/resources/CalendarData_de.properties jdk/src/share/classes/sun/util/resources/CalendarData_el.properties jdk/src/share/classes/sun/util/resources/CalendarData_el_CY.properties jdk/src/share/classes/sun/util/resources/CalendarData_en.properties jdk/src/share/classes/sun/util/resources/CalendarData_en_GB.properties jdk/src/share/classes/sun/util/resources/CalendarData_en_IE.properties jdk/src/share/classes/sun/util/resources/CalendarData_en_MT.properties jdk/src/share/classes/sun/util/resources/CalendarData_es.properties jdk/src/share/classes/sun/util/resources/CalendarData_es_ES.properties jdk/src/share/classes/sun/util/resources/CalendarData_es_US.properties jdk/src/share/classes/sun/util/resources/CalendarData_et.properties jdk/src/share/classes/sun/util/resources/CalendarData_fi.properties jdk/src/share/classes/sun/util/resources/CalendarData_fr.properties jdk/src/share/classes/sun/util/resources/CalendarData_fr_CA.properties jdk/src/share/classes/sun/util/resources/CalendarData_hi.properties jdk/src/share/classes/sun/util/resources/CalendarData_hr.properties jdk/src/share/classes/sun/util/resources/CalendarData_hu.properties jdk/src/share/classes/sun/util/resources/CalendarData_in_ID.properties jdk/src/share/classes/sun/util/resources/CalendarData_is.properties jdk/src/share/classes/sun/util/resources/CalendarData_it.properties jdk/src/share/classes/sun/util/resources/CalendarData_iw.properties jdk/src/share/classes/sun/util/resources/CalendarData_ja.properties jdk/src/share/classes/sun/util/resources/CalendarData_ko.properties jdk/src/share/classes/sun/util/resources/CalendarData_lt.properties jdk/src/share/classes/sun/util/resources/CalendarData_lv.properties jdk/src/share/classes/sun/util/resources/CalendarData_mk.properties jdk/src/share/classes/sun/util/resources/CalendarData_ms_MY.properties jdk/src/share/classes/sun/util/resources/CalendarData_mt.properties jdk/src/share/classes/sun/util/resources/CalendarData_mt_MT.properties jdk/src/share/classes/sun/util/resources/CalendarData_nl.properties jdk/src/share/classes/sun/util/resources/CalendarData_no.properties jdk/src/share/classes/sun/util/resources/CalendarData_pl.properties jdk/src/share/classes/sun/util/resources/CalendarData_pt.properties jdk/src/share/classes/sun/util/resources/CalendarData_pt_PT.properties jdk/src/share/classes/sun/util/resources/CalendarData_ro.properties jdk/src/share/classes/sun/util/resources/CalendarData_ru.properties jdk/src/share/classes/sun/util/resources/CalendarData_sk.properties jdk/src/share/classes/sun/util/resources/CalendarData_sl.properties jdk/src/share/classes/sun/util/resources/CalendarData_sq.properties jdk/src/share/classes/sun/util/resources/CalendarData_sr.properties jdk/src/share/classes/sun/util/resources/CalendarData_sr_Latn_BA.properties jdk/src/share/classes/sun/util/resources/CalendarData_sr_Latn_ME.properties jdk/src/share/classes/sun/util/resources/CalendarData_sr_Latn_RS.properties jdk/src/share/classes/sun/util/resources/CalendarData_sv.properties jdk/src/share/classes/sun/util/resources/CalendarData_th.properties jdk/src/share/classes/sun/util/resources/CalendarData_tr.properties jdk/src/share/classes/sun/util/resources/CalendarData_uk.properties jdk/src/share/classes/sun/util/resources/CalendarData_vi.properties jdk/src/share/classes/sun/util/resources/CalendarData_zh.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ar_AE.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ar_BH.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ar_DZ.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ar_EG.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ar_IQ.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ar_JO.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ar_KW.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ar_LB.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ar_LY.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ar_MA.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ar_OM.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ar_QA.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ar_SA.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ar_SD.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ar_SY.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ar_TN.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ar_YE.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_be_BY.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_bg_BG.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ca_ES.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_cs_CZ.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_da_DK.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_de.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_de_AT.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_de_CH.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_de_DE.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_de_GR.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_de_LU.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_el_CY.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_el_GR.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_en_AU.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_en_CA.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_en_GB.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_en_IE.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_en_IN.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_en_MT.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_en_NZ.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_en_PH.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_en_SG.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_en_US.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_en_ZA.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es_AR.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es_BO.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es_CL.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es_CO.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es_CR.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es_CU.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es_DO.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es_EC.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es_ES.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es_GT.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es_HN.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es_MX.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es_NI.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es_PA.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es_PE.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es_PR.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es_PY.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es_SV.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es_US.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es_UY.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_es_VE.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_et_EE.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_fi_FI.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_fr.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_fr_BE.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_fr_CA.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_fr_CH.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_fr_FR.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_fr_LU.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ga_IE.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_hi_IN.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_hr_HR.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_hu_HU.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_in_ID.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_is_IS.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_it.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_it_CH.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_it_IT.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_iw_IL.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ja.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ja_JP.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ko.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ko_KR.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_lt_LT.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_lv_LV.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_mk_MK.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ms_MY.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_mt_MT.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_nl_BE.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_nl_NL.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_no_NO.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_pl_PL.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_pt.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_pt_BR.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_pt_PT.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ro_RO.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_ru_RU.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_sk_SK.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_sl_SI.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_sq_AL.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_sr_BA.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_sr_CS.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_sr_Latn_BA.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_sr_Latn_ME.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_sr_Latn_RS.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_sr_ME.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_sr_RS.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_sv.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_sv_SE.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_th_TH.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_tr_TR.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_uk_UA.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_vi_VN.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_zh_CN.properties jdk/src/share/classes/sun/util/resources/CurrencyNames_zh_HK.java jdk/src/share/classes/sun/util/resources/CurrencyNames_zh_SG.java jdk/src/share/classes/sun/util/resources/CurrencyNames_zh_TW.properties jdk/src/share/classes/sun/util/resources/LocaleNames_ar.properties jdk/src/share/classes/sun/util/resources/LocaleNames_be.properties jdk/src/share/classes/sun/util/resources/LocaleNames_bg.properties jdk/src/share/classes/sun/util/resources/LocaleNames_ca.properties jdk/src/share/classes/sun/util/resources/LocaleNames_cs.properties jdk/src/share/classes/sun/util/resources/LocaleNames_da.properties jdk/src/share/classes/sun/util/resources/LocaleNames_de.properties jdk/src/share/classes/sun/util/resources/LocaleNames_el.properties jdk/src/share/classes/sun/util/resources/LocaleNames_el_CY.properties jdk/src/share/classes/sun/util/resources/LocaleNames_en.properties jdk/src/share/classes/sun/util/resources/LocaleNames_en_MT.properties jdk/src/share/classes/sun/util/resources/LocaleNames_en_PH.properties jdk/src/share/classes/sun/util/resources/LocaleNames_en_SG.properties jdk/src/share/classes/sun/util/resources/LocaleNames_es.properties jdk/src/share/classes/sun/util/resources/LocaleNames_es_US.properties jdk/src/share/classes/sun/util/resources/LocaleNames_et.properties jdk/src/share/classes/sun/util/resources/LocaleNames_fi.properties jdk/src/share/classes/sun/util/resources/LocaleNames_fr.properties jdk/src/share/classes/sun/util/resources/LocaleNames_ga.properties jdk/src/share/classes/sun/util/resources/LocaleNames_hi.properties jdk/src/share/classes/sun/util/resources/LocaleNames_hr.properties jdk/src/share/classes/sun/util/resources/LocaleNames_hu.properties jdk/src/share/classes/sun/util/resources/LocaleNames_in.properties jdk/src/share/classes/sun/util/resources/LocaleNames_is.properties jdk/src/share/classes/sun/util/resources/LocaleNames_it.properties jdk/src/share/classes/sun/util/resources/LocaleNames_iw.properties jdk/src/share/classes/sun/util/resources/LocaleNames_ja.properties jdk/src/share/classes/sun/util/resources/LocaleNames_ko.properties jdk/src/share/classes/sun/util/resources/LocaleNames_lt.properties jdk/src/share/classes/sun/util/resources/LocaleNames_lv.properties jdk/src/share/classes/sun/util/resources/LocaleNames_mk.properties jdk/src/share/classes/sun/util/resources/LocaleNames_ms.properties jdk/src/share/classes/sun/util/resources/LocaleNames_mt.properties jdk/src/share/classes/sun/util/resources/LocaleNames_nl.properties jdk/src/share/classes/sun/util/resources/LocaleNames_no.properties jdk/src/share/classes/sun/util/resources/LocaleNames_no_NO_NY.properties jdk/src/share/classes/sun/util/resources/LocaleNames_pl.properties jdk/src/share/classes/sun/util/resources/LocaleNames_pt.properties jdk/src/share/classes/sun/util/resources/LocaleNames_pt_BR.properties jdk/src/share/classes/sun/util/resources/LocaleNames_pt_PT.properties jdk/src/share/classes/sun/util/resources/LocaleNames_ro.properties jdk/src/share/classes/sun/util/resources/LocaleNames_ru.properties jdk/src/share/classes/sun/util/resources/LocaleNames_sk.properties jdk/src/share/classes/sun/util/resources/LocaleNames_sl.properties jdk/src/share/classes/sun/util/resources/LocaleNames_sq.properties jdk/src/share/classes/sun/util/resources/LocaleNames_sr.properties jdk/src/share/classes/sun/util/resources/LocaleNames_sr_Latn.properties jdk/src/share/classes/sun/util/resources/LocaleNames_sv.properties jdk/src/share/classes/sun/util/resources/LocaleNames_th.properties jdk/src/share/classes/sun/util/resources/LocaleNames_tr.properties jdk/src/share/classes/sun/util/resources/LocaleNames_uk.properties jdk/src/share/classes/sun/util/resources/LocaleNames_vi.properties jdk/src/share/classes/sun/util/resources/LocaleNames_zh.properties jdk/src/share/classes/sun/util/resources/LocaleNames_zh_HK.java jdk/src/share/classes/sun/util/resources/LocaleNames_zh_SG.properties jdk/src/share/classes/sun/util/resources/LocaleNames_zh_TW.properties jdk/src/share/classes/sun/util/resources/TimeZoneNames_de.java jdk/src/share/classes/sun/util/resources/TimeZoneNames_en.java jdk/src/share/classes/sun/util/resources/TimeZoneNames_en_CA.java jdk/src/share/classes/sun/util/resources/TimeZoneNames_en_GB.java jdk/src/share/classes/sun/util/resources/TimeZoneNames_en_IE.java jdk/src/share/classes/sun/util/resources/TimeZoneNames_es.java jdk/src/share/classes/sun/util/resources/TimeZoneNames_fr.java jdk/src/share/classes/sun/util/resources/TimeZoneNames_hi.java jdk/src/share/classes/sun/util/resources/TimeZoneNames_it.java jdk/src/share/classes/sun/util/resources/TimeZoneNames_ja.java jdk/src/share/classes/sun/util/resources/TimeZoneNames_ko.java jdk/src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java jdk/src/share/classes/sun/util/resources/TimeZoneNames_sv.java jdk/src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java jdk/src/share/classes/sun/util/resources/TimeZoneNames_zh_HK.java jdk/src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java jdk/src/solaris/bin/java_md.c jdk/src/solaris/classes/sun/awt/X11/XTextTransferHelper.java jdk/test/javax/swing/JColorChooser/Test4380468.html jdk/test/javax/swing/JColorChooser/Test4380468.java
diffstat 2488 files changed, 507348 insertions(+), 94103 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Fri Aug 10 10:41:13 2012 -0700
+++ b/.hgtags	Fri Sep 07 18:18:55 2012 -0700
@@ -172,3 +172,8 @@
 086271e35b0a419b38e8bda9bebd70693811df0a jdk8-b48
 cecd7026f30cbd83b0601925a7a5e059aec98138 jdk8-b49
 38fe5ab028908cf64dd73a43336ba3211577bfc3 jdk8-b50
+382651d28f2502d371eca751962232c0e535e57a jdk8-b51
+b67041a6cb508da18d2f5c7687e6a31e08bea4fc jdk8-b52
+c7aa5cca1c01689a7b1a92411daf83684af05a33 jdk8-b53
+7c6aa31ff1b2ae48c1c686ebe1aadf0c3da5be15 jdk8-b54
+319f583f66db47395fa86127dd3ddb729eb7c64f jdk8-b55
--- a/.hgtags-top-repo	Fri Aug 10 10:41:13 2012 -0700
+++ b/.hgtags-top-repo	Fri Sep 07 18:18:55 2012 -0700
@@ -172,3 +172,8 @@
 3f6c72d1c2a6e5c9e7d81c3dc984886678a128ad jdk8-b48
 c97b99424815c43818e3cc3ffcdd1a60f3198b52 jdk8-b49
 2fd67618b9a3c847780ed7b9d228e862b6e2824c jdk8-b50
+57c0aee7309050b9d6cfcbd202dc704e9260b377 jdk8-b51
+8d24def5ceb3b8f2e857f2e18b2804fc59eecf8d jdk8-b52
+febd7ff5280067ca482faaeb9418ae88764c1a35 jdk8-b53
+c1a277c6022affbc6855bdfb039511e73fbe2395 jdk8-b54
+b85b44cced2406792cfb9baab1377ff03e7001d8 jdk8-b55
--- a/corba/.hgtags	Fri Aug 10 10:41:13 2012 -0700
+++ b/corba/.hgtags	Fri Sep 07 18:18:55 2012 -0700
@@ -172,3 +172,8 @@
 7e2b179a5b4dbd3f097e28daa00abfcc72ba3e0b jdk8-b48
 fe44e58a6bdbeae350ce96aafb49770a5dca5d8a jdk8-b49
 d20d9eb9f093adbf392918c703960ad24c93a331 jdk8-b50
+9b0f841ca9f7ee9bacf16a5ab41c4f829276bc6b jdk8-b51
+80689ff9cb499837513f18a1136dac7f0686cd55 jdk8-b52
+63aeb7a2472fb299134ad7388e0a111a5340b02d jdk8-b53
+16c82fc74695bab9b9e0fb05c086a5a08ba0082f jdk8-b54
+e8a0e84383d6fbd303ce44bd355fb25972b13286 jdk8-b55
--- a/corba/src/share/classes/com/sun/corba/se/impl/transport/CorbaResponseWaitingRoomImpl.java	Fri Aug 10 10:41:13 2012 -0700
+++ b/corba/src/share/classes/com/sun/corba/se/impl/transport/CorbaResponseWaitingRoomImpl.java	Fri Sep 07 18:18:55 2012 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, 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
@@ -25,7 +25,10 @@
 
 package com.sun.corba.se.impl.transport;
 
-import java.util.Hashtable;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
 
 import org.omg.CORBA.CompletionStatus;
 import org.omg.CORBA.SystemException;
@@ -68,7 +71,7 @@
 
     private CorbaConnection connection;
     // Maps requestId to an OutCallDesc.
-    private Hashtable out_calls = null; // REVISIT - use int hastable/map
+    final private Map<Integer, OutCallDesc> out_calls;
 
     public CorbaResponseWaitingRoomImpl(ORB orb, CorbaConnection connection)
     {
@@ -76,7 +79,8 @@
         wrapper = ORBUtilSystemException.get( orb,
             CORBALogDomains.RPC_TRANSPORT ) ;
         this.connection = connection;
-        out_calls = new Hashtable();
+        out_calls =
+            Collections.synchronizedMap(new HashMap<Integer, OutCallDesc>());
     }
 
     ////////////////////////////////////////////////////
@@ -139,7 +143,7 @@
             return null;
         }
 
-        OutCallDesc call = (OutCallDesc)out_calls.get(requestId);
+        OutCallDesc call = out_calls.get(requestId);
         if (call == null) {
             throw wrapper.nullOutCall(CompletionStatus.COMPLETED_MAYBE);
         }
@@ -197,7 +201,7 @@
         LocateReplyOrReplyMessage header = (LocateReplyOrReplyMessage)
             inputObject.getMessageHeader();
         Integer requestId = new Integer(header.getRequestId());
-        OutCallDesc call = (OutCallDesc) out_calls.get(requestId);
+        OutCallDesc call = out_calls.get(requestId);
 
         if (orb.transportDebugFlag) {
             dprint(".responseReceived: id/"
@@ -248,7 +252,6 @@
 
     public int numberRegistered()
     {
-        // Note: Hashtable.size() is not synchronized
         return out_calls.size();
     }
 
@@ -264,29 +267,41 @@
             dprint(".signalExceptionToAllWaiters: " + systemException);
         }
 
-        OutCallDesc call;
-        java.util.Enumeration e = out_calls.elements();
-        while(e.hasMoreElements()) {
-            call = (OutCallDesc) e.nextElement();
+        synchronized (out_calls) {
+            if (orb.transportDebugFlag) {
+                dprint(".signalExceptionToAllWaiters: out_calls size :" +
+                       out_calls.size());
+            }
 
-            synchronized(call.done){
-                // anything waiting for BufferManagerRead's fragment queue
-                // needs to be cancelled
-                CorbaMessageMediator corbaMsgMediator =
-                             (CorbaMessageMediator)call.messageMediator;
-                CDRInputObject inputObject =
-                           (CDRInputObject)corbaMsgMediator.getInputObject();
-                // IMPORTANT: If inputObject is null, then no need to tell
-                //            BufferManagerRead to cancel request processing.
-                if (inputObject != null) {
-                    BufferManagerReadStream bufferManager =
-                        (BufferManagerReadStream)inputObject.getBufferManager();
-                    int requestId = corbaMsgMediator.getRequestId();
-                    bufferManager.cancelProcessing(requestId);
+            for (OutCallDesc call : out_calls.values()) {
+                if (orb.transportDebugFlag) {
+                    dprint(".signalExceptionToAllWaiters: signaling " +
+                            call);
                 }
-                call.inputObject = null;
-                call.exception = systemException;
-                call.done.notify();
+                synchronized(call.done) {
+                    try {
+                        // anything waiting for BufferManagerRead's fragment queue
+                        // needs to be cancelled
+                        CorbaMessageMediator corbaMsgMediator =
+                                     (CorbaMessageMediator)call.messageMediator;
+                        CDRInputObject inputObject =
+                                   (CDRInputObject)corbaMsgMediator.getInputObject();
+                        // IMPORTANT: If inputObject is null, then no need to tell
+                        //            BufferManagerRead to cancel request processing.
+                        if (inputObject != null) {
+                            BufferManagerReadStream bufferManager =
+                                (BufferManagerReadStream)inputObject.getBufferManager();
+                            int requestId = corbaMsgMediator.getRequestId();
+                            bufferManager.cancelProcessing(requestId);
+                        }
+                    } catch (Exception e) {
+                    } finally {
+                        // attempt to wake up waiting threads in all cases
+                        call.inputObject = null;
+                        call.exception = systemException;
+                        call.done.notifyAll();
+                    }
+                }
             }
         }
     }
@@ -294,7 +309,7 @@
     public MessageMediator getMessageMediator(int requestId)
     {
         Integer id = new Integer(requestId);
-        OutCallDesc call = (OutCallDesc) out_calls.get(id);
+        OutCallDesc call = out_calls.get(id);
         if (call == null) {
             // This can happen when getting early reply fragments for a
             // request which has completed (e.g., client marshaling error).
--- a/corba/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java	Fri Aug 10 10:41:13 2012 -0700
+++ b/corba/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java	Fri Sep 07 18:18:55 2012 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, 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
@@ -1521,7 +1521,7 @@
             // connection and give them the SystemException;
 
             responseWaitingRoom.signalExceptionToAllWaiters(systemException);
-
+        } finally {
             if (contactInfo != null) {
                 ((OutboundConnectionCache)getConnectionCache()).remove(contactInfo);
             } else if (acceptor != null) {
@@ -1542,7 +1542,6 @@
 
             writeUnlock();
 
-        } finally {
             if (orb.transportDebugFlag) {
                 dprint(".purgeCalls<-: "
                        + minor_code + "/" + die + "/" + lockHeld
--- a/hotspot/.hgtags	Fri Aug 10 10:41:13 2012 -0700
+++ b/hotspot/.hgtags	Fri Sep 07 18:18:55 2012 -0700
@@ -268,3 +268,10 @@
 58f237a9e83af6ded0d2e2c81d252cd47c0f4c45 jdk8-b50
 3b3ad16429701b2eb6712851c2f7c5a726eb2cbe hs24-b19
 663fc23da8d51c4c0552cbcb17ffc85f5869d4fd jdk8-b51
+4c8f2a12e757e7a808aa85827573e09f75d7459f hs24-b20
+6d0436885201db3f581523344a734793bb989549 jdk8-b52
+54240c1b8e87758f28da2c6a569a926fd9e0910a jdk8-b53
+9e3ae661284dc04185b029d85440fe7811f1ed07 hs24-b21
+e8fb566b94667f88462164defa654203f0ab6820 jdk8-b54
+09ea7e0752b306b8ae74713aeb4eb6263e1c6836 hs24-b22
+af0c8a0808516317333dcf9af15567cdd52761ce jdk8-b55
--- a/hotspot/agent/make/saenv.sh	Fri Aug 10 10:41:13 2012 -0700
+++ b/hotspot/agent/make/saenv.sh	Fri Sep 07 18:18:55 2012 -0700
@@ -26,7 +26,7 @@
 # This file sets common environment variables for all SA scripts
 
 OS=`uname`
-STARTDIR=`dirname $0`
+STARTDIR=`(cd \`dirname $0 \`; pwd)`
 ARCH=`uname -m`
 
 if [ "x$SA_JAVA" = "x" ]; then
--- a/hotspot/agent/make/start-debug-server-proc.sh	Fri Aug 10 10:41:13 2012 -0700
+++ b/hotspot/agent/make/start-debug-server-proc.sh	Fri Sep 07 18:18:55 2012 -0700
@@ -25,10 +25,11 @@
 
 . `dirname $0`/saenv.sh
 
-if [ -f $STARTDIR/sa.jar ] ; then
-  CP=$STARTDIR/sa.jar
+if [ -f $STARTDIR/../lib/sa-jdi.jar ] ; then
+  CP=$STARTDIR/../lib/sa-jdi.jar
 else
   CP=$STARTDIR/../build/classes
 fi
 
-$SA_JAVA -classpath $CP ${OPTIONS} -Djava.rmi.server.codebase=file:/$CP -Djava.security.policy=$STARTDIR\/grantAll.policy sun.jvm.hotspot.DebugServer $*
+$STARTDIR/java -classpath $CP ${OPTIONS} -Djava.rmi.server.codebase=file://$CP -Djava.security.policy=${STARTDIR}/grantAll.policy sun.jvm.hotspot.DebugServer $*
+
--- a/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c	Fri Aug 10 10:41:13 2012 -0700
+++ b/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c	Fri Sep 07 18:18:55 2012 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2012, 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,11 +55,11 @@
 #define THROW_NEW_DEBUGGER_EXCEPTION_(str, value) { throw_new_debugger_exception(env, str); return value; }
 #define THROW_NEW_DEBUGGER_EXCEPTION(str) { throw_new_debugger_exception(env, str); return;}
 
-static void throw_new_debugger_exception(JNIEnv* env, const char* errMsg) {
+void throw_new_debugger_exception(JNIEnv* env, const char* errMsg) {
   (*env)->ThrowNew(env, (*env)->FindClass(env, "sun/jvm/hotspot/debugger/DebuggerException"), errMsg);
 }
 
-static struct ps_prochandle* get_proc_handle(JNIEnv* env, jobject this_obj) {
+struct ps_prochandle* get_proc_handle(JNIEnv* env, jobject this_obj) {
   jlong ptr = (*env)->GetLongField(env, this_obj, p_ps_prochandle_ID);
   return (struct ps_prochandle*)(intptr_t)ptr;
 }
@@ -280,6 +280,7 @@
   return (err == PS_OK)? array : 0;
 }
 
+#if defined(i386) || defined(ia64) || defined(amd64) || defined(sparc) || defined(sparcv9)
 JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal_getThreadIntegerRegisterSet0
   (JNIEnv *env, jobject this_obj, jint lwp_id) {
 
@@ -410,3 +411,4 @@
   (*env)->ReleaseLongArrayElements(env, array, regs, JNI_COMMIT);
   return array;
 }
+#endif
--- a/hotspot/agent/src/os/linux/libproc.h	Fri Aug 10 10:41:13 2012 -0700
+++ b/hotspot/agent/src/os/linux/libproc.h	Fri Sep 07 18:18:55 2012 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, 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
@@ -25,10 +25,15 @@
 #ifndef _LIBPROC_H_
 #define _LIBPROC_H_
 
+#include <jni.h>
 #include <unistd.h>
 #include <stdint.h>
 #include "proc_service.h"
 
+#if defined(arm) || defined(ppc)
+#include "libproc_md.h"
+#endif
+
 #if defined(sparc) || defined(sparcv9)
 /*
   If _LP64 is defined ptrace.h should be taken from /usr/include/asm-sparc64
@@ -139,4 +144,8 @@
 // address->nearest symbol lookup. return NULL for no symbol
 const char* symbol_for_pc(struct ps_prochandle* ph, uintptr_t addr, uintptr_t* poffset);
 
+struct ps_prochandle* get_proc_handle(JNIEnv* env, jobject this_obj);
+
+void throw_new_debugger_exception(JNIEnv* env, const char* errMsg);
+
 #endif //__LIBPROC_H_
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java	Fri Aug 10 10:41:13 2012 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java	Fri Sep 07 18:18:55 2012 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2012, 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
@@ -549,7 +549,13 @@
                     machDesc = new MachineDescriptionSPARC32Bit();
             }
         } else {
-            throw new DebuggerException("Linux only supported on x86/ia64/amd64/sparc/sparc64");
+          try {
+            machDesc = (MachineDescription)
+              Class.forName("sun.jvm.hotspot.debugger.MachineDescription" +
+                            cpu.toUpperCase()).newInstance();
+          } catch (Exception e) {
+            throw new DebuggerException("Linux not supported on machine type " + cpu);
+          }
         }
 
         LinuxDebuggerLocal dbg =
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java	Fri Aug 10 10:41:13 2012 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java	Fri Sep 07 18:18:55 2012 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2012, 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
@@ -737,9 +737,16 @@
                machDesc = new MachineDescriptionSPARC32Bit();
             }
         } else {
-            throw new DebuggerException("Linux only supported on x86/ia64/amd64/sparc/sparc64");
+          try {
+            machDesc = (MachineDescription)
+              Class.forName("sun.jvm.hotspot.debugger.MachineDescription" +
+              cpu.toUpperCase()).newInstance();
+          } catch (Exception e) {
+            throw new DebuggerException("unsupported machine type");
+          }
         }
 
+
         // Note we do not use a cache for the local debugger in server
         // mode; it will be taken care of on the client side (once remote
         // debugging is implemented).
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/CodeBlob.java	Fri Aug 10 10:41:13 2012 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/CodeBlob.java	Fri Sep 07 18:18:55 2012 -0700
@@ -93,7 +93,6 @@
   public boolean isUncommonTrapStub()   { return false; }
   public boolean isExceptionStub()      { return false; }
   public boolean isSafepointStub()      { return false; }
-  public boolean isRicochetBlob()       { return false; }
   public boolean isAdapterBlob()        { return false; }
 
   // Fine grain nmethod support: isNmethod() == isJavaMethod() || isNativeMethod() || isOSRMethod()
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/CodeCache.java	Fri Aug 10 10:41:13 2012 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/CodeCache.java	Fri Sep 07 18:18:55 2012 -0700
@@ -57,7 +57,6 @@
     virtualConstructor.addMapping("BufferBlob", BufferBlob.class);
     virtualConstructor.addMapping("nmethod", NMethod.class);
     virtualConstructor.addMapping("RuntimeStub", RuntimeStub.class);
-    virtualConstructor.addMapping("RicochetBlob", RicochetBlob.class);
     virtualConstructor.addMapping("AdapterBlob", AdapterBlob.class);
     virtualConstructor.addMapping("MethodHandlesAdapterBlob", MethodHandlesAdapterBlob.class);
     virtualConstructor.addMapping("SafepointBlob", SafepointBlob.class);
@@ -127,10 +126,6 @@
       Assert.that(result.blobContains(start) || result.blobContains(start.addOffsetTo(8)),
                                                                     "found wrong CodeBlob");
     }
-    if (result.isRicochetBlob()) {
-      // This should probably be done for other SingletonBlobs
-      return VM.getVM().ricochetBlob();
-    }
     return result;
   }
 
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/RicochetBlob.java	Fri Aug 10 10:41:13 2012 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
- * 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.
- *
- */
-
-package sun.jvm.hotspot.code;
-
-import java.util.*;
-import sun.jvm.hotspot.debugger.*;
-import sun.jvm.hotspot.runtime.*;
-import sun.jvm.hotspot.types.*;
-
-/** RicochetBlob (currently only used by Compiler 2) */
-
-public class RicochetBlob extends SingletonBlob {
-  static {
-    VM.registerVMInitializedObserver(new Observer() {
-        public void update(Observable o, Object data) {
-          initialize(VM.getVM().getTypeDataBase());
-        }
-      });
-  }
-
-  private static void initialize(TypeDataBase db) {
-    Type type = db.lookupType("RicochetBlob");
-
-    bounceOffsetField                = type.getCIntegerField("_bounce_offset");
-    exceptionOffsetField             = type.getCIntegerField("_exception_offset");
-  }
-
-  private static CIntegerField bounceOffsetField;
-  private static CIntegerField exceptionOffsetField;
-
-  public RicochetBlob(Address addr) {
-    super(addr);
-  }
-
-  public boolean isRicochetBlob() {
-    return true;
-  }
-
-  public Address bounceAddr() {
-    return codeBegin().addOffsetTo(bounceOffsetField.getValue(addr));
-  }
-
-  public boolean returnsToBounceAddr(Address pc) {
-    Address bouncePc = bounceAddr();
-    return (pc.equals(bouncePc) || pc.addOffsetTo(Frame.pcReturnOffset()).equals(bouncePc));
-  }
-
-}
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/ThreadContext.java	Fri Aug 10 10:41:13 2012 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/ThreadContext.java	Fri Sep 07 18:18:55 2012 -0700
@@ -24,6 +24,8 @@
 
 package sun.jvm.hotspot.debugger;
 
+import sun.jvm.hotspot.debugger.cdbg.*;
+
 /** This is a placeholder interface for a thread's context, containing
     only integer registers (no floating-point ones). What it contains
     is platform-dependent. Not all registers are guaranteed to be
@@ -54,4 +56,6 @@
   /** Set the value of the specified register (0..getNumRegisters() -
       1) as an Address */
   public void setRegisterAsAddress(int index, Address value);
+
+  public CFrame getTopFrame(Debugger dbg);
 }
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/amd64/AMD64ThreadContext.java	Fri Aug 10 10:41:13 2012 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/amd64/AMD64ThreadContext.java	Fri Sep 07 18:18:55 2012 -0700
@@ -25,6 +25,7 @@
 package sun.jvm.hotspot.debugger.amd64;
 
 import sun.jvm.hotspot.debugger.*;
+import sun.jvm.hotspot.debugger.cdbg.*;
 
 /** Specifies the thread context on amd64 platforms; only a sub-portion
  * of the context is guaranteed to be present on all operating
@@ -98,6 +99,10 @@
         return data[index];
     }
 
+    public CFrame getTopFrame(Debugger dbg) {
+        return null;
+    }
+
     /** This can't be implemented in this class since we would have to
      * tie the implementation to, for example, the debugging system */
     public abstract void setRegisterAsAddress(int index, Address value);
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/ia64/IA64ThreadContext.java	Fri Aug 10 10:41:13 2012 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/ia64/IA64ThreadContext.java	Fri Sep 07 18:18:55 2012 -0700
@@ -25,6 +25,7 @@
 package sun.jvm.hotspot.debugger.ia64;
 
 import sun.jvm.hotspot.debugger.*;
+import sun.jvm.hotspot.debugger.cdbg.*;
 
 /** Specifies the thread context on ia64 platform; only a sub-portion
     of the context is guaranteed to be present on all operating
@@ -172,6 +173,10 @@
     return data[index];
   }
 
+  public CFrame getTopFrame(Debugger dbg) {
+    return null;
+  }
+
   /** This can't be implemented in this class since we would have to
       tie the implementation to, for example, the debugging system */
   public abstract void setRegisterAsAddress(int index, Address value);
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxCDebugger.java	Fri Aug 10 10:41:13 2012 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxCDebugger.java	Fri Sep 07 18:18:55 2012 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, 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,7 +107,9 @@
        if (pc == null) return null;
        return new LinuxSPARCCFrame(dbg, sp, pc, LinuxDebuggerLocal.getAddressSize());
     } else {
-       throw new DebuggerException(cpu + " is not yet supported");
+       // Runtime exception thrown by LinuxThreadContextFactory if unknown cpu
+       ThreadContext context = (ThreadContext) thread.getContext();
+       return context.getTopFrame(dbg);
     }
   }
 
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxThreadContextFactory.java	Fri Aug 10 10:41:13 2012 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxThreadContextFactory.java	Fri Sep 07 18:18:55 2012 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2012, 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,6 +24,7 @@
 
 package sun.jvm.hotspot.debugger.linux;
 
+import java.lang.reflect.*;
 import sun.jvm.hotspot.debugger.*;
 import sun.jvm.hotspot.debugger.linux.amd64.*;
 import sun.jvm.hotspot.debugger.linux.ia64.*;
@@ -41,8 +42,16 @@
          return new LinuxIA64ThreadContext(dbg);
       } else if (cpu.equals("sparc")) {
          return new LinuxSPARCThreadContext(dbg);
-      } else {
-         throw new RuntimeException("cpu " + cpu + " is not yet supported");
+      } else  {
+        try {
+          Class tcc = Class.forName("sun.jvm.hotspot.debugger.linux." +
+             cpu.toLowerCase() + ".Linux" + cpu.toUpperCase() +
+             "ThreadContext");
+          Constructor[] ctcc = tcc.getConstructors();
+          return (ThreadContext)ctcc[0].newInstance(dbg);
+        } catch (Exception e) {
+          throw new RuntimeException("cpu " + cpu + " is not yet supported");
+        }
       }
    }
 }
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcDebuggerLocal.java	Fri Aug 10 10:41:13 2012 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcDebuggerLocal.java	Fri Sep 07 18:18:55 2012 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2012, 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
@@ -27,6 +27,7 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
+import java.lang.reflect.*;
 import sun.jvm.hotspot.debugger.*;
 import sun.jvm.hotspot.debugger.cdbg.*;
 import sun.jvm.hotspot.debugger.proc.amd64.*;
@@ -86,7 +87,16 @@
             pcRegIndex = AMD64ThreadContext.RIP;
             fpRegIndex = AMD64ThreadContext.RBP;
         } else {
+          try {
+            Class tfc = Class.forName("sun.jvm.hotspot.debugger.proc." +
+               cpu.toLowerCase() + ".Proc" + cpu.toUpperCase() +
+               "ThreadFactory");
+            Constructor[] ctfc = tfc.getConstructors();
+            threadFactory = (ProcThreadFactory)ctfc[0].newInstance(this);
+          } catch (Exception e) {
             throw new RuntimeException("Thread access for CPU architecture " + PlatformInfo.getCPU() + " not yet supported");
+            // Note: pcRegIndex and fpRegIndex do not appear to be referenced
+          }
         }
         if (useCache) {
             // Cache portion of the remote process's address space.
@@ -375,7 +385,11 @@
         int pagesize = getPageSize0();
         if (pagesize == -1) {
             // return the hard coded default value.
-            pagesize = (PlatformInfo.getCPU().equals("x86"))? 4096 : 8192;
+            if (PlatformInfo.getCPU().equals(&qu