Re: performance of drlvm

2006-08-25 Thread zouqiong

En, I list some paper I have read.

1.Efficient Representations and Abstractions for Quantifying and Exploiting
Data Reference
  Locality.
2.Bursty Tracing: A Framework for Low-Overhead Temporal Profiling
3.Dynamic Hot Data Stream Prefetching for General-Purpose Programs
4.Profile-guided Proactive Garbage Collection for Locality Optimization

list 1-4 provide the framework to trace, and the algorithm to process the
trace.

If you want to learn more about SEQUITUR algorithm, you can read
5.Whole Program Paths

All these paper can be found by using Goole. From these paper, you can
find more
that you need to read.

And the problems I faced now are:
1. Which library to choose to profile the Data Reference Trace. PAPI? We
need to
know the pc of the instructions which incur most of the cache miss. I am
afraid of
the profiling overhead.

2.How to abstract the Data Reference Trace for JAVA? Egor had given some
clue
on it.

And now I want to know the schedule for this project.  I expect to join it.
But I am not
familiar with GC and interface for profile in drlvm, can you give me some
clue or
suggestion to learn them as soon as possible. Thanks.

--
Best Regards,
Qiong,Zou


Re: [vm] ArgoUML application crashes IBM VME

2006-08-25 Thread Vladimir Gorr

On 8/24/06, Oliver Deakin [EMAIL PROTECTED] wrote:



Vladimir Gorr wrote:
 On 8/23/06, Oliver Deakin [EMAIL PROTECTED] wrote:

 Hi Vladimir,

 Ive taken a quick look at your bug report, and at first glance the
 Windows stack trace says:

 Caused by: java.lang.UnsatisfiedLinkError: gl (Not found in
 com.ibm.oti.vm.bootstrap.library.path)
at
 java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:113)
at java.lang.ClassLoader.loadLibraryWithClassLoader(
 ClassLoader.java:97)
at java.lang.System.loadLibrary(System.java:758)
at org.apache.harmony.awt.gl.windows.WinGraphicsEnvironment
 .clinit(WiGraphicsEnvironment.java:38)


 which basically tells me that you are missing gl.dll. In fact, if you
 look at WinGraphicsEnvironment at line 38, there is a
System.loadLibrary
 (gl)
 call. You need to build with the -Dwith.awt.swing=true flag set on
 the ant command line to get this. If you do this and rerun argouml,
 the app. splash screen comes up, but is halted after a short time by
the
 following error:

 Exception in thread main java.lang.reflect.InvocationTargetException
at
 java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:27)
at java.lang.reflect.Method.invoke(Method.java:258)
at com.ibm.oti.vm.JarRunner.main(JarRunner.java:42)
 Caused by: java.lang.NoSuchMethodError:
 java/applet/Applet.getAppletContext()Ljava/applet/AppletContext;
at org.tigris.gef.base.Globals.getAppletContext(Globals.java:86)
at org.tigris.gef.base.Globals.showStatus(Globals.java:145)
at org.tigris.gef.base.Editor.pushMode(Editor.java:282)
at org.tigris.gef.base.Editor.init(Editor.java:191)
at org.tigris.gef.base.Editor.init(Editor.java:172)
 SNIP!

 which is not a surprise since our Applet class is just an empty shell.
 Looks
 like we cannot run this until we have Applet. It might be interesting
if
 you
 ran one of the class load investigation tools contributed to Harmony (I
 think there might be two) to see how far away we are from running this
-
 perhaps the results could be added to the website? The JIRAs containing
 these
 tools are listed at the bottom of [1]




 Uhhh... It's not very easy to build GL on Windows. Obviously this
process
 should (and can) be rendered automatic.

I hope it can ;)


 Oliver, I've got same result as you have. I also have info about all
 classes
 have not been implemented

 in the Harmony for this application (argoUML). At least the
 filter_classes
 tool (H-165) generates the following list:

Great! Thanks for getting this list together. I guess these should
all be covered by our xerces dependency - so it appears that
the only thing standing between us and running ArgoUML is
the Applet implementation?



I'm slightly unsure. We need to develop the Applet to understand this.
I mean new unimplemented classes can be found out after the
InvocationTargetException disappers.

Is there somewhere you can put this on the wiki/website so that we

dont lose it? Looks like an interesting test app.



Yes, it makes sense, I think. Although I don't know what the right place is?

Thanks,
Vladimir.


Regards,

Oliver



 cat missing_classes.txt

 javax/xml/parsers/SAXParserFactory
 javax/xml/parsers/ParserConfigurationException
 javax/xml/parsers/DocumentBuilderFactory
 javax/xml/parsers/DocumentBuilder
 javax/xml/parsers/SAXParser
 javax/xml/transform/Source
 javax/xml/transform/Result
 javax/xml/transform/TransformerException
 javax/xml/transform/TransformerConfigurationException
 org/w3c/dom/Node
 org/w3c/dom/NodeList
 org/w3c/dom/Document
 org/w3c/dom/Element
 org/w3c/dom/TypeInfo
 org/w3c/dom/CharacterData
 org/w3c/dom/Comment
 org/w3c/dom/DocumentType
 org/w3c/dom/NamedNodeMap
 org/w3c/dom/Attr
 org/w3c/dom/Text
 org/w3c/dom/events/EventTarget
 org/w3c/dom/events/DocumentEvent
 org/xml/sax/AttributeList
 org/xml/sax/EntityResolver
 org/xml/sax/InputSource
 org/xml/sax/SAXException
 org/xml/sax/DTDHandler
 org/xml/sax/ContentHandler
 org/xml/sax/ErrorHandler
 org/xml/sax/Parser
 org/xml/sax/XMLReader
 org/xml/sax/Attributes
 org/xml/sax/Locator
 org/xml/sax/ext/EntityResolver2
 org/xml/sax/ext/Attributes2
 org/xml/sax/ext/Locator2
 org/xml/sax/helpers/DefaultHandler
 org/xml/sax/helpers/AttributesImpl

 Thanks,
 Vladimir.


 I will take a look at the Linux crash next and see if I can get anywhere
 with that. Ill add the above stack trace to the JIRA.

 Regards,
 Oli

 [1] http://incubator.apache.org/harmony/roadmap.html



 Vladimir Gorr wrote:
  ArgoUML application (http://argouml.tigris.org) crashes IBM VME. I've
  created new issue (H-1257) where the logs are.
  Could anybody please look at this problem and fix it?
 
  Thanks,
  Vladimir.
 

 --
 Oliver Deakin
 IBM United Kingdom Limited


 -
 Terms of use : http://incubator.apache.org/harmony/mailing.html
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: 

Re: [ClassLib][Instrument]Put tests to Harmony (and Support_Exec)

2006-08-25 Thread Oliver Deakin

Jimmy, Jing Lv wrote:

Oliver Deakin wrote:

Jimmy, Jing Lv wrote:

Hi,
The development on instrument is going to an end (I may still 
apply a few patches of refine). And the tests for it do help a lot 
in finding bugs and applying compatibility with RI, and special 
thanks to Stepan and Support_Exec. :)
However, I still have a problem with Support_Exec, it usually, 
if not always, meets a problem in loading kernel classes. Tracing 
into the code, I find it add a parameter -Xbootclasspath: to 
launcher with a System Property(com.ibm.oti.system.class.path, I'm 
using J9 for DRLVM not ready for jvmti yet). But the property was 
null on my workspace. After deleting that parameter, I get all tests 
pass using both Ant and eclipse. So can someone tell me how to 
handle this? Or can I make a little update to it?


One problem here will be that com.ibm.oti.system.class.path went out 
with VME v3.

In VME v4 we use org.apache.harmony.boot.class.path (see
modules\luni\src\main\native\luni\shared\luniglob.c). Looking at 
Support_Exec, it
appears that this setting is out of date and should be updated with 
the new value.

Does this fix your problem?



I see :)
So could I fix this value?


Yes - I'd say it definitely *should* be fixed!

Regards,
Oliver





 All existing tests has pass on both Harmony and RI in my 
workspace(Linux/windows) when make a little change to lib name. 
Though VM may not be updated for it very soon, I'd like to add tests 
to Harmony, make it excluded first until VM ready, in order that 
some one who is interested can check by making a little change and 
run tests. Any comments/suggestions?


Sounds like a good idea - it seems that the workaround to run on the 
IBM VME
is pretty straightforward, so people will be able to run the tests if 
they want to.

Then when a new VME is out and/or drlvm catches up we can make the tests
live.



Great, if no objections I'll apply tests soon :)


Regards,
Oliver






--
Oliver Deakin
IBM United Kingdom Limited


-
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [jira] Resolved: (HARMONY-1271) Writing '\n' to LogStream produces stack overflow

2006-08-25 Thread Alexey Petrenko

Mark,

can you please commit the fix for
http://issues.apache.org/jira/browse/HARMONY-994.
It is very close issue for this one.

Thanks in advance.

SY, Alexey

2006/8/25, Mark Hindess (JIRA) [EMAIL PROTECTED]:

[ http://issues.apache.org/jira/browse/HARMONY-1271?page=all ]

Mark Hindess resolved HARMONY-1271.
---

   Resolution: Fixed

Thanks Alexey.  Fixed in r436711.  Please check this has been applied as 
expected and resolves this issue.


 Writing '\n' to LogStream produces stack overflow
 -

 Key: HARMONY-1271
 URL: http://issues.apache.org/jira/browse/HARMONY-1271
 Project: Harmony
  Issue Type: Bug
  Components: Classlib
Reporter: Alexey Petrenko
 Assigned To: Mark Hindess
 Attachments: HARMONY-1271.diff


 The following test case fails on Harmony with stack overflow.
 import java.rmi.server.*;
 import java.io.*;
 public class HarmonyLogStreamTest {
 public static void main(String [] args) {
 try {
 LogStream ls = LogStream.log(tst);
 System.out.println(ls);
 ls.write((int)'\n');
 System.out.println(Test passed);
 } catch (Throwable e) {
 System.out.println(unexpected error:  + e);
//e.printStackTrace();
 }
 }
 }

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira






--
Alexey A. Petrenko
Intel Middleware Products Division

-
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [DRLVM][VM] -- which header bits are available for GC mark and GC forwarding use?

2006-08-25 Thread Ivan Volosyuk

Weldon, look at the patch in http://issues.apache.org/jira/browse/HARMONY-1269.
I have already done this work. After the patch you have whole lowest
byte + 2 bits in the second byte for GC use; in expense of
implementing hashcode by GC.

In my understanding the hashcode can be reduced to 2 status bits in object info:
 00. hashcode is not set
 01. hashcode is set (hashcode is the address of object)
 11. hashcode is set and object is moved (hashcode is no longer the
address of object)

This layout require assistance from GC (which is missing in GC_V4).

I suggest using interface function: gc_get_hashcode() in GC-to-VM
interface which will know exactly the layout of bits in the lowest
byte of hashcode and will do all the needed actions depending on the
GC implementation.
--
Regards,
Ivan

On 8/25/06, Weldon Washburn [EMAIL PROTECTED] wrote:

On 8/24/06, Salikh Zakirov [EMAIL PROTECTED] wrote:
 In any way, currently there is no single header file in the system,
 which would describe the object structure. Rather, DRLVM uses some
 static assumptions about object header, which are not enforced by any
 common include file. This would be a nice thing to solve...

Good point.  There needs to be a discussion on harmony-dev regarding
how the object header bits are sliced and diced.  From talking to
the MMTk guys (Steve Blackburn) it seems MMTk wants to have one byte
of object header for private use.  Its unclear to me if this will be a
performance problem for a product JVM.  I think the hashCode can be
reduced to one bit plus the object's current address at first
HashCode() invocation.  I'd put this hash bit in the GC byte.  And
make the GC byte the lowest byte in the header word.  The remaining
3bytes could be used for fat/thin locks.  Are there any remaining
fields unaccounted for?  Thoughts?

--
Weldon Washburn
Intel Middleware Products Division


-
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [jira] Resolved: (HARMONY-1271) Writing '\n' to LogStream produces stack overflow

2006-08-25 Thread Mark Hindess

On 25 August 2006 at 13:05, Alexey Petrenko [EMAIL PROTECTED]
wrote:
 Mark,
 
 can you please commit the fix for
 http://issues.apache.org/jira/browse/HARMONY-994.
 It is very close issue for this one.

Yeah, I noticed.  I'm just doing it. ;-)

And I'll add the one-line for the regression test of 1271.

-Mark.

 Thanks in advance.
 
 SY, Alexey
 
 2006/8/25, Mark Hindess (JIRA) [EMAIL PROTECTED]:
  [ http://issues.apache.org/jira/browse/HARMONY-1271?page=all ]
 
  Mark Hindess resolved HARMONY-1271.
  ---
 
 Resolution: Fixed
 
  Thanks Alexey.  Fixed in r436711.  Please check this has been applied as ex
 pected and resolves this issue.
 
 
   Writing '\n' to LogStream produces stack overflow
   -
  
   Key: HARMONY-1271
   URL: http://issues.apache.org/jira/browse/HARMONY-1271
   Project: Harmony
Issue Type: Bug
Components: Classlib
  Reporter: Alexey Petrenko
   Assigned To: Mark Hindess
   Attachments: HARMONY-1271.diff
  
  
   The following test case fails on Harmony with stack overflow.
   import java.rmi.server.*;
   import java.io.*;
   public class HarmonyLogStreamTest {
   public static void main(String [] args) {
   try {
   LogStream ls = LogStream.log(tst);
   System.out.println(ls);
   ls.write((int)'\n');
   System.out.println(Test passed);
   } catch (Throwable e) {
   System.out.println(unexpected error:  + e);
  //e.printStackTrace();
   }
   }
   }
 
  --
  This message is automatically generated by JIRA.
  -
  If you think it was sent incorrectly contact one of the administrators: htt
 p://issues.apache.org/jira/secure/Administrators.jspa
  -
  For more information on JIRA, see: http://www.atlassian.com/software/jira
 
 
 
 
 
 -- 
 Alexey A. Petrenko
 Intel Middleware Products Division
 
 -
 Terms of use : http://incubator.apache.org/harmony/mailing.html
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]



-
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [DRLVM][GC] high-level design proposal for GCV5

2006-08-25 Thread Salikh Zakirov
Ivan Volosyuk wrote:
 Yes, I have experimented with per-slot verification of write barrier.
 
 The idea was the following: each word in java heap has external mirror
 record. After garbage collection all mirror records are synchronized
 with the heap. Each write barrier updates mirror record with
 corresponding data. Before next garbage collection there is a trace
 for all reachable objects in heap which validates that each slot
 contains the same data as the mirror.
 
 The idea is quite simple. Even that, it helped my find number of
 places in VM code which have updated slots in heap without call to
 write barrier. The results of the work are in HARMONY-504.
 
 The scheme has one impotant limitation. When several threads write to
 single slot, this verifier may report false-positive result of missing
 write barrier. But, I didn't see such situtations in any workloads I
 have tested it with.

The infrastructure based on the same idea, but independent of GC implementation
is submitted as HARMONY-881. It provides patch for the VM, which incorporates
the heap mirroring framework for write barrier verification into the VM core, 
and can work with any garbage collector.


-
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [DRLVM][GC] high-level design proposal for GCV5

2006-08-25 Thread Xiao-Feng Li

Ivan, Salikh, good idea and thanks for the info. We'd want to apply
the work into Harmony GC.

Thanks,
xiaofeng


On 8/25/06, Salikh Zakirov [EMAIL PROTECTED] wrote:

Ivan Volosyuk wrote:
 Yes, I have experimented with per-slot verification of write barrier.

 The idea was the following: each word in java heap has external mirror
 record. After garbage collection all mirror records are synchronized
 with the heap. Each write barrier updates mirror record with
 corresponding data. Before next garbage collection there is a trace
 for all reachable objects in heap which validates that each slot
 contains the same data as the mirror.

 The idea is quite simple. Even that, it helped my find number of
 places in VM code which have updated slots in heap without call to
 write barrier. The results of the work are in HARMONY-504.

 The scheme has one impotant limitation. When several threads write to
 single slot, this verifier may report false-positive result of missing
 write barrier. But, I didn't see such situtations in any workloads I
 have tested it with.

The infrastructure based on the same idea, but independent of GC implementation
is submitted as HARMONY-881. It provides patch for the VM, which incorporates
the heap mirroring framework for write barrier verification into the VM core,
and can work with any garbage collector.


-
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [jira] Resolved: (HARMONY-1271) Writing '\n' to LogStream produces stack overflow

2006-08-25 Thread Alexey Petrenko

Thanks :)

2006/8/25, Mark Hindess [EMAIL PROTECTED]:


On 25 August 2006 at 13:05, Alexey Petrenko [EMAIL PROTECTED]
wrote:
 Mark,

 can you please commit the fix for
 http://issues.apache.org/jira/browse/HARMONY-994.
 It is very close issue for this one.

Yeah, I noticed.  I'm just doing it. ;-)

And I'll add the one-line for the regression test of 1271.

-Mark.

 Thanks in advance.

 SY, Alexey

 2006/8/25, Mark Hindess (JIRA) [EMAIL PROTECTED]:
  [ http://issues.apache.org/jira/browse/HARMONY-1271?page=all ]
 
  Mark Hindess resolved HARMONY-1271.
  ---
 
 Resolution: Fixed
 
  Thanks Alexey.  Fixed in r436711.  Please check this has been applied as ex
 pected and resolves this issue.
 
 
   Writing '\n' to LogStream produces stack overflow
   -
  
   Key: HARMONY-1271
   URL: http://issues.apache.org/jira/browse/HARMONY-1271
   Project: Harmony
Issue Type: Bug
Components: Classlib
  Reporter: Alexey Petrenko
   Assigned To: Mark Hindess
   Attachments: HARMONY-1271.diff
  
  
   The following test case fails on Harmony with stack overflow.
   import java.rmi.server.*;
   import java.io.*;
   public class HarmonyLogStreamTest {
   public static void main(String [] args) {
   try {
   LogStream ls = LogStream.log(tst);
   System.out.println(ls);
   ls.write((int)'\n');
   System.out.println(Test passed);
   } catch (Throwable e) {
   System.out.println(unexpected error:  + e);
  //e.printStackTrace();
   }
   }
   }
 
  --
  This message is automatically generated by JIRA.
  -
  If you think it was sent incorrectly contact one of the administrators: htt
 p://issues.apache.org/jira/secure/Administrators.jspa
  -
  For more information on JIRA, see: http://www.atlassian.com/software/jira
 
 
 


 --
 Alexey A. Petrenko
 Intel Middleware Products Division

 -
 Terms of use : http://incubator.apache.org/harmony/mailing.html
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]



-
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
Alexey A. Petrenko
Intel Middleware Products Division

-
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[classlib] HARMONY-790 is not reproducible

2006-08-25 Thread Alexey Petrenko

Committers,

can anybody of you close HARMONY-790 issue please. Since it is not
reproducible on current build.

We got a huge number of open JIRA issues which are has patches or not
reproducible...

SY, Alexey

--
Alexey A. Petrenko
Intel Middleware Products Division

-
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [DRLVM][VM] -- which header bits are available for GC mark and GC forwarding use?

2006-08-25 Thread Andrey Chernyshev

On 8/25/06, Weldon Washburn [EMAIL PROTECTED] wrote:

On 8/24/06, Salikh Zakirov [EMAIL PROTECTED] wrote:
 In any way, currently there is no single header file in the system,
 which would describe the object structure. Rather, DRLVM uses some
 static assumptions about object header, which are not enforced by any
 common include file. This would be a nice thing to solve...

Good point.  There needs to be a discussion on harmony-dev regarding
how the object header bits are sliced and diced.  From talking to
the MMTk guys (Steve Blackburn) it seems MMTk wants to have one byte
of object header for private use.  Its unclear to me if this will be a
performance problem for a product JVM.  I think the hashCode can be
reduced to one bit plus the object's current address at first
HashCode() invocation.  I'd put this hash bit in the GC byte.  And


OK, then what this one bit will be used for? Where do we keep the hash
code after the object is moved and it's address is changed? Perhaps
I'm not getting the idea...


make the GC byte the lowest byte in the header word.  The remaining
3bytes could be used for fat/thin locks.  Are there any remaining


I think this is a good idea to use the different bytes for GC and
Object's monitor purposes. It can help monitor's and GC's algorithms
to work independently and avoid extensive atomic operations whenever
it is possible.

Thanks,
Andrey.



fields unaccounted for?  Thoughts?

--
Weldon Washburn
Intel Middleware Products Division

-
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
Andrey Chernyshev
Intel Middleware Products Division

-
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: [jira] Updated: (HARMONY-1137) [classlib][swing/text] unit test AbstractDocument_DefaultDocumentEventTest fails

2006-08-25 Thread Ivanov, Alexey A
Hello,

Can someone take a look and apply patches from HARMONY-1137 [1]?

There's also a patch to un-exclude the tests which stop failing after
applying the patch for HARMONY-1028 [2]. These tests are:
javax.swing.text.AbstractDocument_DefaultDocumentEventTest,
javax.swing.text.AbstractDocument_ElementEditTest,
javax.swing.text.AbstractDocument_UpdateTest.

Thanks,
Alexey.

[1] https://issues.apache.org/jira/browse/HARMONY-1137
[2] https://issues.apache.org/jira/browse/HARMONY-1028

--
Alexey A. Ivanov
Intel Middleware Product Division


-Original Message-
From: Alexey A. Ivanov (JIRA) [mailto:[EMAIL PROTECTED]
Sent: Friday, August 25, 2006 4:59 PM
To: Ivanov, Alexey A
Subject: [jira] Updated: (HARMONY-1137) [classlib][swing/text] unit
test
AbstractDocument_DefaultDocumentEventTest fails

 [ http://issues.apache.org/jira/browse/HARMONY-1137?page=all ]

Alexey A. Ivanov updated HARMONY-1137:
--

Attachment: swing-build-unexclude-tests.patch

After fixing the issue HARMONY-1028, the AbstractDocument_ tests
excluded
from run have stopped failing.
After applying patches from this issue, no test case should fail in the
AD_DefaultDocumentEventTest too.

So swing-build-unexclude-tests.patch removes such tests from the
exclude
section.

 [classlib][swing/text] unit test
AbstractDocument_DefaultDocumentEventTest fails


-
---

 Key: HARMONY-1137
 URL:
http://issues.apache.org/jira/browse/HARMONY-1137
 Project: Harmony
  Issue Type: Bug
  Components: Classlib
Reporter: Alexey A. Ivanov
 Attachments: swing-build-unexclude-tests.patch,
UndoRedoNames_Src.patch, UndoRedoNames_Tests.patch


 The following tests fail becuase of incorrect tests:

testGetUndoPresentationName(javax.swing.text.AbstractDocument_DefaultDo
cume
ntEventTest)
 junit.framework.ComparisonFailure: expected:...addition but
was:...Text added
  at
javax.swing.text.AbstractDocument_DefaultDocumentEventTest.testGetUndoP
rese
ntationName(AbstractDocument_DefaultDocumentEventTest.java:241)

testGetRedoPresentationName(javax.swing.text.AbstractDocument_DefaultDo
cume
ntEventTest)
 junit.framework.ComparisonFailure: expected:...addition but
was:...Text added
  at
javax.swing.text.AbstractDocument_DefaultDocumentEventTest.testGetRedoP
rese
ntationName(AbstractDocument_DefaultDocumentEventTest.java:247)

testGetPresentationName(javax.swing.text.AbstractDocument_DefaultDocume
ntEv
entTest)
 junit.framework.ComparisonFailure: expected:addition but was:Text
added
  at
javax.swing.text.AbstractDocument_DefaultDocumentEventTest.testGetPrese
ntat
ionName(AbstractDocument_DefaultDocumentEventTest.java:253)
 The text to compare with should be fetched from the UIManager.

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira



-
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [classlib] HARMONY-790 is not reproducible

2006-08-25 Thread Mark Hindess

On 25 August 2006 at 15:47, Alexey Petrenko [EMAIL PROTECTED] wrote:
 Committers,
 
 can anybody of you close HARMONY-790 issue please. Since it is not
 reproducible on current build.

Is the regression test also obsolete - i.e. covered elsewhere?  If not,
then perhaps that should be integrated before we close the bug.

 We got a huge number of open JIRA issues which are has patches or not
 reproducible...

Thanks for helping by looking at these.  If you spot others and send
messages and/or add comments in JIRA I'll take a look at them.

Regards,
 Mark.



-
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[classlib][TestNG] groups of Harmony test

2006-08-25 Thread Richard Liang

Hello All,

Now let's talk about the TestNG groups. I have read the related threads 
which posted by George, Vladimir Ivanov and Alexei Zakharov. All of them 
are good discussion about TestNG groups.


IMHO, we may define Harmony test groups according the following 4 
dimensions:


1) [Platform] os.any, os.platform id
*os.any* - group of tests which pass on any platform. IMHO, most of our 
tests should be in this group.
*os.platform id* - group of tests which are designed for one specific 
platform. A test may be in more than one of the groups. e.g., 
@Test(groups={os.win.IA32, os.linux.IA32})


   ** os.any and os.platform id are mutually exclusive, that is, 
tests in os.any group should not be in os.win.IA32.


2) [Test state] state.broken, state.broken.platform id
*state.broken* - group of tests which fail on every platform, because 
of bugs of tests or implementation. We need to fix the bugs of tests or 
implementation to make them pass.
*state.broken.platform id* - groups of test which only fail on one 
specific platform. A test may be in more than one of the groups. e.g., 
@Test(groups={state.broken.linux.IA32, os.broken.linux.IA64})


**state.broken.platform id group may be used as a convenient way 
to indicate that a test is platform-specific. e.g., If we support 10 
platforms, and one test are designed for 9 platforms except for MacOS, 
instead of list 9 os.platform id, we can just use state.broken.MacOS


3) [Test type] type.api, type.impl
*type.api* - group of tests which are tests for APIs in the Java 
Specification
*type.impl* - groups of tests which are tests for Harmony-specific 
implementation


** type.api and type.impl are also mutually exclusive.

4) [Test Level] level.unit, level.integration, level.system, 
level.stress, etc. (Levels of Test refer to the increase in complexity 
as moving through test cycle. )

   ** A test may be in more than one of the groups.
   ** In fact, some tests such as System tests are the verification of 
the entire system.  Maybe we'll put them into a separate project. e.g., 
harmony/enhanced/SVT (System Verification Test).


If we want to run all the unit test for APIs on windows, we may use 
TestNG groups to select the tests:

   groups
   run
   include name=os.any /
   include name=type.api /
   include name=os.win.IA32 /
   exclude name=state.broken /
   exclude name=state.broken.win.IA32 /
   /run
   /groups


Well, I think our most of existing tests are in the groups of {os.any, 
type.api, level.unit}, and I have asked TestNG to add a new option 
-groups for its JUnitConverter which allow us to specify the test 
groups when migrate from JUnit test to TestNG test.


Thanks for reading so far, and I will highly appreciate your comments or 
suggestion.  ;-)


--
Richard Liang
China Software Development Lab, IBM 




-
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [DRLVM][VM] -- which header bits are available for GC mark and GC forwarding use?

2006-08-25 Thread Ivan Volosyuk

On 8/25/06, Andrey Chernyshev [EMAIL PROTECTED] wrote:

On 8/25/06, Weldon Washburn [EMAIL PROTECTED] wrote:
 On 8/24/06, Salikh Zakirov [EMAIL PROTECTED] wrote:
  In any way, currently there is no single header file in the system,
  which would describe the object structure. Rather, DRLVM uses some
  static assumptions about object header, which are not enforced by any
  common include file. This would be a nice thing to solve...

 Good point.  There needs to be a discussion on harmony-dev regarding
 how the object header bits are sliced and diced.  From talking to
 the MMTk guys (Steve Blackburn) it seems MMTk wants to have one byte
 of object header for private use.  Its unclear to me if this will be a
 performance problem for a product JVM.  I think the hashCode can be
 reduced to one bit plus the object's current address at first
 HashCode() invocation.  I'd put this hash bit in the GC byte.  And

OK, then what this one bit will be used for? Where do we keep the hash
code after the object is moved and it's address is changed? Perhaps
I'm not getting the idea...


Hashcode for the moved object can be allocated just after the end of
the object. This is done in GC v4.1 (HARMONY-1269). For more details
how it can be done, look at my previous posting in this thread.

The problem is, that changes required for existing algorithms to use
this approach. E.g. it is not so easy to do this in Gc_v4. So, use of
GC interface function gc_get_hashcode() can help. Some of algorithm
may store hashcode in object info bits, others can use more advanced
approaches.



 make the GC byte the lowest byte in the header word.  The remaining
 3bytes could be used for fat/thin locks.  Are there any remaining

I think this is a good idea to use the different bytes for GC and
Object's monitor purposes. It can help monitor's and GC's algorithms
to work independently and avoid extensive atomic operations whenever
it is possible.

Thanks,
Andrey.


-
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [DRLVM][GC] Goals for 2006/2007

2006-08-25 Thread Ivan Volosyuk

On 8/15/06, Robin Garner [EMAIL PROTECTED] wrote:

Weldon Washburn wrote:
 All,

 There is rough consensus that the immediate goal for Harmony JVM is to
 reliably run simple commercial workloads with acceptable performance.
 In regards to a garbage collector for a Harmony JVM in 2006 there are
 some data points worth noting.  1) A quick survey shows most basic
 commercial JVMs implement a generational collector. 2) While the
 existing drlvm garbage collector, gcv4, implements some interesting
 advanced concepts, it is not currently a generational collector.  3)
 The MMTk port to drlvm is not yet finished.  Even assuming MMTk's
 generational configuration is appropriate, it is still too early to
 put this garbage collector on the roadmap for a 2006 Harmony JVM.  It
 might be worth revisiting in 2007.  But it's too far away to debate at
 this time.

 Given the above data points, the following is a first stab at
 requirements for Harmony GCV5.  The intention is to set down some
 basic parameters.

 1)
 Generational Collector with mark/compacting mature object space
Why mark/compact specifically ?  The easiest approach would be to add a
copying nursery 'in front' of the exiting GCV4 mature space, and then
look at replacing/updating the implementation of the mature space.  This
could be achieved with virtually no change to the mature space collector.

As an aside, best performance with a generational collector also comes
from an Appel-style nursery, ie the nursery size is essentially
(heap-mature)/2.

The rest of the worklist seems uncontroversial to me, but I wonder how
much work it is to implement these vs getting MMTk working.


Good point, it seems that this is a way to go. One thing which bothers
me much is that the code of GCV4 is quite bloated. Some cleaning for
the code might be required before.

--
Regards,
Ivan

-
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[classlib] Sun compiler change?

2006-08-25 Thread Nathan Beyer
Is anyone else using the latest Sun JDK, v5.0 Update 8 on Windows?

 

I'm seeing a compilation error in the LUNI that I don't see with 5.0 Update
7. Here's the error I'm getting.

 

compile:

[mkdir] Created dir:
C:\dev\harmony\enhanced\classlib\trunk\build\classes

[javac] Compiling 3173 source files to
C:\dev\harmony\enhanced\classlib\trun

k\build\classes

[javac]
C:\dev\harmony\enhanced\classlib\trunk\modules\luni\src\main\java\ja

va\util\MiniEnumSet.java:78: inconvertible types

[javac] found   : java.util.Collectioncapture of ? extends E

[javac] required: java.util.EnumSetE

[javac] EnumSetE set = (EnumSetE) collection;

[javac]   ^

 

 

When I compile in Eclipse 3.2 there's no error.

 

-Nathan



Re: performance of drlvm

2006-08-25 Thread Ivan Volosyuk

On 8/25/06, Mikhail Fursov [EMAIL PROTECTED] wrote:

On 8/25/06, zouqiong [EMAIL PROTECTED] wrote:

...

This is the key problem. I hope I will have an opinion on it when I read all
of the articles you mentioned.
The only idea I have now is that using an address of an object is not a
problem. Once GC moves objects we can ask it to patch our references too.

And now I want to know the schedule for this project.  I expect to join it.
 But I am not
 familiar with GC and interface for profile in drlvm, can you give me some
 clue or
 suggestion to learn them as soon as possible. Thanks.


What is your question about the GC?
If you can use enumeratable GC references, they will be automatically
repointed by garbage collector. In your case it may be even better to
use weak roots and weak references, if you don't want to hold object
when having the last reference to it.
--
Ivan



I'm also not a guru in GC, but I think there are a lot of people here who
know the answers and can help in the area they are interested.
So the proposal is:
1) You make the schedule and lead this project. I can help you with dynamic
recompilation scenarios implementations and with JIT code generation and
optimizations.
2) Why do not to implement classic Chilimbi algorithm first and enhance it
with PMU data when it's tested?


-
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]