harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tony Wu" <wuyue...@gmail.com>
Subject Re: [classlib]remove the duplicate locale data
Date Fri, 21 Dec 2007 09:01:20 GMT
Hi all,
I'd like to recommit the patch if no one objects.

My new patch on 5061 fixes
1. the performance issue addressed in 5129
2. the return type gap on 5085
3. the testcases in text module, now they can pass on both RI and Harmony

Still this patch willl exclude following tests in luni
+tests/api/java/util/CurrencyTest.java
+tests/api/java/util/FormatterTest.java
+tests/api/java/util/GregorianCalendarTest.java
+tests/api/java/util/LocaleTest.java
+tests/api/java/util/ScannerTest.java

In total there are 1 error and 13 failures, all of which are caused by
differences between RI and ICU. I'll record them as non-bug difference
later.

On 11/12/07, Vladimir Strigun <vstrigun@gmail.com> wrote:
> Thanks Mark,
>
> All dacapo benches passed after your commit.
>
> Thanks.
> Vladimir.
>
> On 11/12/07, Tony Wu <wuyuehao@gmail.com> wrote:
> > I noticed Mark has committed your patch, Thank you and Mark :)
> >
> > On 11/10/07, Vladimir Strigun <vstrigun@gmail.com> wrote:
> > > On 11/9/07, Tony Wu <wuyuehao@gmail.com> wrote:
> > > > Hi Vladimir
> > > > really busy this weekend. I've recorded it as JIRA 5100, high
> > > > appreciate if you could provide a simple testcase.
> > >
> > > Hi Tony,
> > >
> > > It seems we've faced with first isues in new ICU version. ICU returns
> > > null instead of correct string for time zone. Could you please check
> > > the patch attached to JIRA and apply it to fix the regression?
> > >
> > > Thanks.
> > > Vladimir.
> > >
> > > > On 11/7/07, Vladimir Strigun <vstrigun@gmail.com> wrote:
> > > > > Hi Tony,
> > > > >
> > > > > It seems your commit r592434 introduce regression for Dacapo.jython
> > > > > (the bench passed on r592433). Here is the execution log:
> > > > > ===== DaCapo jython starting =====
> > > > > -------------------------------------------------------------------------------
> > > > > PYBENCH 2.0
> > > > > -------------------------------------------------------------------------------
> > > > > * using Python 2.2a1
> > > > > * Python version doesn't support garbage collection
> > > > > * system check interval set to maximum: 2147483647
> > > > > * using timer: time.time
> > > > >
> > > > > Traceback (innermost last):
> > > > >  File ".\scratch\jython\pybench\pybench.py", line 946, in ?
> > > > >  File "Z:\UBS\Storage\.\scratch\jython\pybench\CommandLine.py", line
> > > > > 346, in __init__
> > > > >  File ".\scratch\jython\pybench\pybench.py", line 903, in main
> > > > >  File ".\scratch\jython\pybench\pybench.py", line 425, in __init__
> > > > > java.lang.IllegalArgumentException: Cannot create PyString from null!
> > > > >        at org.python.core.PyString.<init>(Unknown Source)
> > > > >        at org.python.modules.time.classDictInit(Unknown Source)
> > > > >        at java.lang.reflect.VMReflection.invokeMethod(VMReflection.java)
> > > > >        at java.lang.reflect.Method.invoke(Method.java:317)
> > > > >        at org.python.core.PyJavaClass.initialize(Unknown Source)
> > > > >        at org.python.core.PyJavaClass.lookupGivingClass(Unknown Source)
> > > > >        at org.python.core.PyClass.lookup(Unknown Source)
> > > > >        at org.python.core.PyJavaClass.__findattr__(Unknown Source)
> > > > >        at org.python.core.PyObject.__getattr__(Unknown Source)
> > > > >        at org.python.pycode._pyx1.__init__$14(.\scratch\jython\pybench\pybench.py:425)
> > > > >        at org.python.pycode._pyx1.call_function(.\scratch\jython\pybench\pybench.py)
> > > > >        at org.python.core.PyTableCode.call(Unknown Source)
> > > > >        at org.python.core.PyTableCode.call(Unknown Source)
> > > > >        at org.python.core.PyTableCode.call(Unknown Source)
> > > > >        at org.python.core.PyFunction.__call__(Unknown Source)
> > > > >        at org.python.core.PyInstance.__init__(Unknown Source)
> > > > >        at org.python.core.PyClass.__call__(Unknown Source)
> > > > >        at org.python.pycode._pyx1.main$25(.\scratch\jython\pybench\pybench.py:903)
> > > > >        at org.python.pycode._pyx1.call_function(.\scratch\jython\pybench\pybench.py)
> > > > >        at org.python.core.PyTableCode.call(Unknown Source)
> > > > >        at org.python.core.PyTableCode.call(Unknown Source)
> > > > >        at org.python.core.PyTableCode.call(Unknown Source)
> > > > >        at org.python.core.PyFunction.__call__(Unknown Source)
> > > > >        at org.python.core.PyMethod.__call__(Unknown Source)
> > > > >        at org.python.core.PyObject.__call__(Unknown Source)
> > > > >        at CommandLine$py.__init__$15(Z:\UBS\Storage\.\scratch\jython\pybench\CommandLine.py:346)
> > > > >        at CommandLine$py.call_function(Z:\UBS\Storage\.\scratch\jython\pybench\CommandLine.py)
> > > > >        at org.python.core.PyTableCode.call(Unknown Source)
> > > > >        at org.python.core.PyTableCode.call(Unknown Source)
> > > > >        at org.python.core.PyTableCode.call(Unknown Source)
> > > > >        at org.python.core.PyFunction.__call__(Unknown Source)
> > > > >        at org.python.core.PyInstance.__init__(Unknown Source)
> > > > >        at org.python.core.PyClass.__call__(Unknown Source)
> > > > >        at org.python.core.PyObject.__call__(Unknown Source)
> > > > >        at org.python.pycode._pyx1.f$0(.\scratch\jython\pybench\pybench.py:946)
> > > > >        at org.python.pycode._pyx1.call_function(.\scratch\jython\pybench\pybench.py)
> > > > >        at org.python.core.PyTableCode.call(Unknown Source)
> > > > >        at org.python.core.PyCode.call(Unknown Source)
> > > > >        at org.python.core.Py.runCode(Unknown Source)
> > > > >        at org.python.core.__builtin__.execfile_flags(Unknown Source)
> > > > >        at org.python.util.PythonInterpreter.execfile(Unknown Source)
> > > > >        at org.python.util.jython.main(Unknown Source)
> > > > >        at dacapo.jython.JythonHarness.iterate(JythonHarness.java:38)
> > > > >        at dacapo.Benchmark.run(Benchmark.java:126)
> > > > >        at dacapo.TestHarness.runBenchmark(TestHarness.java:302)
> > > > >        at dacapo.TestHarness.main(TestHarness.java:242)
> > > > >        at Harness.main(Harness.java:5)
> > > > >        at java.lang.reflect.VMReflection.invokeMethod(VMReflection.java)
> > > > >        at java.lang.reflect.Method.invoke(Method.java:317)
> > > > >        at org.apache.harmony.vm.JarRunner.main(JarRunner.java:80)
> > > > >
> > > > >
> > > > > java.lang.IllegalArgumentException:
> > > > > java.lang.IllegalArgumentException: Cannot create PyString from null!
> > > > >
> > > > >
> > > > > Thanks.
> > > > > Vladimir.
> > > > >
> > > > > On 11/6/07, Tony Wu <wuyuehao@gmail.com> wrote:
> > > > > > I've committed the patch at r592434.
> > > > > > the excluded classes are,
> > > > > >
> > > > > > tests.api.java.util.CurrencyTest
> > > > > > tests.api.java.util.FormatterTest
> > > > > > tests.api.java.util.GregorianCalendarTest
> > > > > > tests.api.java.util.LocaleTest
> > > > > > tests.api.java.util.ScannerTest
> > > > > >
> > > > > > org.apache.harmony.text.tests.java.text.DecimalFormatSymbolsTest
> > > > > > org.apache.harmony.text.tests.java.text.NumberFormatTest
> > > > > > org.apache.harmony.text.tests.java.text.SimpleDateFormatTest
> > > > > >
> > > > > > pls kindly let me know if you find any problem, thanks.
> > > > > >
> > > > > > On 11/6/07, Tony Wu <wuyuehao@gmail.com> wrote:
> > > > > > > On 11/6/07, Tim Ellison <t.p.ellison@gmail.com> wrote:
> > > > > > > > Tony Wu wrote:
> > > > > > > > > I've raised a JIRA[1] for migrating the dependencies
of locale related
> > > > > > > > > data to icu4j and remove the data in
> > > > > > > > > luni/src/main/java/org/apache/harmony/luni/internal/locale/.
Currently
> > > > > > > > > I have delegated all the locale related classes
to corresponding
> > > > > > > > > classes in icu4j and successfully removed the
dependencies of harmony
> > > > > > > > > resource bundles.
> > > > > > > >
> > > > > > > > Cool -- this is good because it removes the code duplication
we have at
> > > > > > > > present, it shifts the maintenance of the locale data
into the right
> > > > > > > > place (IMHO) that being the ICU project, and gives
us the opportunity to
> > > > > > > > use the ICU tools to customize/refresh/etc the data
for Harmony each
> > > > > > > > time the USA decide to introduce another daylight
savings change ;-)
> > > > > > >
> > > > > > > exactly.
> > > > > > > >
> > > > > > > > > As expected, there are around 20 failures of
harmony test. Many of
> > > > > > > > > them are caused by data difference. I've listed
all of them on harmony
> > > > > > > > > wiki[2] and will raise them to icu soon.
> > > > > > > >
> > > > > > > > Ack.  I believe that (pretty much) everyone gets the
data from the CLDR,
> > > > > > > > so I would expect any differences to be tests that
have out of date
> > > > > > > > assumptions about the data.
> > > > > > >
> > > > > > > Yes, I'll check it based on CLDR.
> > > > > > > >
> > > > > > > > > By applying this patch, we can get 4.2 mega bytes
decrease in harmony
> > > > > > > > > source code, including the svn data.
> > > > > > > >
> > > > > > > > ooh, say that again!  Removing 4.2Mb of redundant
source code is excellent.
> > > > > > > >
> > > > > > > > > My proposal is to apply the patch on 5061 first
and exclude these
> > > > > > > > > tests which fail on different locale data. Then
I'll take follow up
> > > > > > > > > action to contact icu team and get solution to
move them out.
> > > > > > > > > Otherwise I'm afraid my fix will be outdated
for waiting until icu
> > > > > > > > > team get ready to fix the data. Do you have any
objection?
> > > > > > > > >
> > > > > > > > > Later, I'll take care of the performance issue
of this delegation.
> > > > > > > > >
> > > > > > > > > Thanks in advance for your comments
> > > > > > > >
> > > > > > > > Sounds like a good plan.
> > > > > > > >
> > > > > > > > Regards,
> > > > > > > > Tim
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Tony Wu
> > > > > > > China Software Development Lab, IBM
> > > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Tony Wu
> > > > > > China Software Development Lab, IBM
> > > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > Tony Wu
> > > > China Software Development Lab, IBM
> > > >
> > >
> >
> >
> > --
> > Tony Wu
> > China Software Development Lab, IBM
> >
>


-- 
Tony Wu
China Software Development Lab, IBM

Mime
View raw message