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 <[EMAIL PROTECTED]> wrote: > Thanks Mark, > > All dacapo benches passed after your commit. > > Thanks. > Vladimir. > > On 11/12/07, Tony Wu <[EMAIL PROTECTED]> wrote: > > I noticed Mark has committed your patch, Thank you and Mark :) > > > > On 11/10/07, Vladimir Strigun <[EMAIL PROTECTED]> wrote: > > > On 11/9/07, Tony Wu <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> wrote: > > > > > > > On 11/6/07, Tim Ellison <[EMAIL PROTECTED]> 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
