Re: New IBM VME available soon

2006-08-24 Thread Chris Gray
Olivier dixit:

 ok, I just tested myself on Windows and it seems that the RI ignores
 environment variable changes, so I guess it's fine if we stick with what
 we have in Harmony.

Now that I think about it, I remember someone complaining once on a Java 
newsgroup that changing the CLASSPATH environment variable had no effect on a 
running JVM. He got an education in Java class loading. :-)

Chris

-- 
Chris Gray/k/ Embedded Java Solutions  BE0503765045
Embedded  Mobile Java, OSGihttp://www.k-embedded-java.com/
[EMAIL PROTECTED] +32 3 216 0369


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



RE: New IBM VME available soon

2006-08-24 Thread Jeroen Frijters
Chris Gray wrote:
 Olivier dixit:
 
  ok, I just tested myself on Windows and it seems that the RI ignores
  environment variable changes, so I guess it's fine if we 
 stick with what
  we have in Harmony.
 
 Now that I think about it, I remember someone complaining 
 once on a Java newsgroup that changing the CLASSPATH environment
 variable had no effect on a running JVM. He got an education in
 Java class loading. :-)

On Windows at least this actually has nothing to do with class loading.
You simply cannot modify an environment variable of a running process
(at least not from outside that process). Every process has its own
copy, so changing the parent process' environment makes no difference,
nor does changing the environment of a child process.

Regards,
Jeroen

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



Re: Bringing License arguments to Sun

2006-08-24 Thread Chris Gray
On Wednesday 23 August 2006 13:22, Leo Simons wrote:

 Licensing
 -
 On Sat, Aug 19, 2006 at 07:38:36PM -0700, Stefano Mazzocchi wrote:
 [what license should Sun use to open source java]

  I'll bite: the MIT license.

 +1, for all the reasons Stefano described. Along with the neccessary,
 explicit, relevant patent grants, preferably with GPL-compatible terms
 (eg non-reciprocical; would probably automatically meet requirements
 off standards bodies and open source orgs worldwide).

Typically standards orgs have a patent policy already in place, see e.g. [1], 
[2]. These are probably the result of quite a lot of thought and discussion, 
so they should be read not just as something with which a proposed patent 
grant needs to be compatible but also as prior art in this field.

[1] http://www.ecma-international.org/memento/codeofconduct.htm
[2] http://www.niso.org/committees/OpenURL/PATPOL.pdf

-- 
Chris Gray/k/ Embedded Java Solutions  BE0503765045
Embedded  Mobile Java, OSGihttp://www.k-embedded-java.com/
[EMAIL PROTECTED] +32 3 216 0369


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



[classlib][rmi] javax.rmi.PortableRemoteObject

2006-08-24 Thread Igor Stolyarov

Does anybody know when will be implemented javax.rmi.PortableRemoteObject?

--
Igor V. Stolyarov
Intel Middleware Products Division


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

2006-08-24 Thread Jimmy, Jing Lv

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?


 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?


--

Best Regards!

Jimmy, Jing Lv
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: [classlib][rmi] javax.rmi.PortableRemoteObject

2006-08-24 Thread Alexey Petrenko

It will be implemented when somebody will implement it :)

Do you need it for some specific reason? Application?

SY, Alexey

2006/8/24, Igor Stolyarov [EMAIL PROTECTED]:

Does anybody know when will be implemented javax.rmi.PortableRemoteObject?

--
Igor V. Stolyarov
Intel Middleware Products Division





--
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: [classlib][rmi] javax.rmi.PortableRemoteObject

2006-08-24 Thread Igor Stolyarov

Yes, this class is necessary for work of Java Web Applications

Igor


2006/8/24, Alexey Petrenko [EMAIL PROTECTED]:


It will be implemented when somebody will implement it :)

Do you need it for some specific reason? Application?

SY, Alexey

2006/8/24, Igor Stolyarov [EMAIL PROTECTED]:
 Does anybody know when will be implemented
javax.rmi.PortableRemoteObject?

 --
 Igor V. Stolyarov
 Intel Middleware Products Division




--
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]





--
Igor V. Stolyarov
Intel Middleware Products Division


Re: [vm] ArgoUML application crashes IBM VME

2006-08-24 Thread Vladimir Gorr

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.

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:


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: [EMAIL PROTECTED]




Re: [classlib][rmi] javax.rmi.PortableRemoteObject

2006-08-24 Thread Igor Stolyarov

I've tried to launch JBoss's bank example application on JBoss and didn't
can do it, because javax.rmi.PortableRemoteObject doesn't exist.

Igor.


2006/8/24, Igor Stolyarov [EMAIL PROTECTED]:


 Yes, this class is necessary for work of Java Web Applications

Igor


2006/8/24, Alexey Petrenko [EMAIL PROTECTED]:

 It will be implemented when somebody will implement it :)

 Do you need it for some specific reason? Application?

 SY, Alexey

 2006/8/24, Igor Stolyarov [EMAIL PROTECTED]:
  Does anybody know when will be implemented
 javax.rmi.PortableRemoteObject?
 
  --
  Igor V. Stolyarov
  Intel Middleware Products Division
 
 


 --
 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]




--

Igor V. Stolyarov
Intel Middleware Products Division





--
Igor V. Stolyarov
Intel Middleware Products Division


Re: [general][DGC] Java Distributed Garbage Collection in RMI

2006-08-24 Thread Mikhail Markov
[let's add prefix to the subject line]

Hi Vikram,

I've attached test.txt file containing all necessary java sources as well as test output on Harmony (actually, it's the same on RMI also).

Regards,
Mikhail
On 8/23/06, FaeLLe [EMAIL PROTECTED] wrote:
Hello Mikhail,Thanks for the reply !However your email only contained the attachement of the output do not see
the modified sources. If you could reply with them it would be nice.Thanks,- Vikram MohanOn 8/23/06, Mikhail Markov [EMAIL PROTECTED]
 wrote: Hi Vikram, First of all, what rmi module are you using: rmi or rmi2? rmi module does not support sun.* properties. Instead it supports a parallel structure of harmony.* ones.
 About your question about DGC (i'll use rmi module as an example): Remote object (on server side!) could be collected if all the conditions below are met: 1) (Of course) no hard references in local VM
 2) no remote references from from other VMs 3) no in-progress remoted calls Here is one of the simplest test scenarious showing how to check these conditions: - run rmi-registry in separate VM
 - export remote object, register it in the registry and remove hard references to this object - kill rmi-registry VM - wait for a period of time longer than the one specified by 
 java.rmi.dgc.leaseValue property (the default is 10 min) - if remote object implements Unreferenced then it's unreferenced() method should be called here - run GC - the object should be collected and it's finalize() method
 should be called I think your code is doing a lot of extra staff so i've modified it to implement this test scenarious (see attachment). I did not use ProcessBuilder class as Harmony does not have it yet. The
 output of the test is also attached. Hope this helps. Regards, Mikhail Intel MIddleware Products Division  Been experimenting with the DGC interface of Java RMI and as far as I
  have understood there is no way to make a remote object be garbage collected  other than invoke System.gc() and let it be collected over time. I however notice that the internal calls can be tracked by setting the
  following system properties, System.setProperty(java.rmi.server.logCalls, true);   System.setProperty (sun.rmi.dgc.logLevel
, VERBOSE);   System.setProperty(sun.rmi.dgc.logCalls, true); What I was wondering is if you had any suggestions on how to actually
  ensure that the remote object has been collected. I tried placing  System.out.println() statements in the finalize() and unreferenced()  methods (the client also implements the Unreferenced interface) however it
  seems to generate no such output. Neither do the internal rmi logs that should be displayed in output in  verbose mode show any indication of this happening.
 I have attached the code if you would be willing to examine it and let  me know what I am not doing correctly. Ps. I have included them in zip  format and as Java sources whichever is convinient for you.
 TestDistributedGarbageCollection.java is the RMI server and the  EchoClient.java is the RMI client. Regards, - Vikram Mohan
  - Terms of use : http://incubator.apache.org/harmony/mailing.html
 To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: 
[EMAIL PROTECTED]--www.FaeLLe.comwww.VikramMohan.com

EchoInterface.java:
--

import java.rmi.Remote;
import java.rmi.RemoteException;

public interface EchoInterface extends Remote {
public String echo(String msg) throws RemoteException;
}

--

EchoObject.java:
---

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.rmi.server.Unreferenced;

public class EchoObject implements EchoInterface, Unreferenced {

public EchoObject() throws RemoteException {
UnicastRemoteObject.exportObject(this);
}

public String echo(String msg) throws RemoteException {
System.out.println(msg);
return this.getClass() +  - Have said:  + msg;
}

public void unreferenced() {
System.out.println(EchoObject unreferenced);
}

public void finalize() throws Throwable {
super.finalize();
System.out.println(EchoObject finalized);
}
}

--

RMIRegistryStarter.java:
---

import java.rmi.registry.LocateRegistry;

public class RMIRegistryStarter {
public static void main(String[] args) throws Exception {
// time to sleep after rmiregistry creation
//int sleepTime = args[0];

// create registry
LocateRegistry.createRegistry(1099);

// wait for 1 s and then exit
Thread.sleep(1000);
System.exit(0);
}
}

--

Test.java:
-

import java.rmi.Naming;
import 

Re: [app-bug] NIO problems when running Apache MINA examples

2006-08-24 Thread Alexey Petrenko

2006/8/24, Richard Liang [EMAIL PROTECTED]:



Sian January wrote:
 Hi Andrew,

 Thanks very much for looking at this.  I have synchronised and tried
 with a
 new build and those two examples are working now.  I will make sure I do
 everything with a fresh build in future!  Anyway it looks like we have
 some
 good results with MINA so I will update the Wiki page with the new
 information (http://wiki.apache.org/harmony/ClassLibrary).

 On a separate note I'm not sure how to close the bug report.  I'm used to
 Bugzilla where the person who raised the bug can close it, but maybe you
 have to be a committer to close a bug with JIRA.  Can anyone help me with
 this?

Hello Sian,

Please comment in JIRA to indicate the bug has been fixed, then
committers will help to close it. :-)

And mark it as duplicate of HARMONY-1186

SY, Alexey



Best regards,
Richard

 Thanks,

 Sian

 On 24/08/06, Andrew Zhang [EMAIL PROTECTED] wrote:

 Hi Sian,

 Thanks for reporting the error. But it works well on my machine when
 running
 org.apache.mina.examples.echoserver.Main. The error can not be
 reproduced
 in
 my machine with latest code.

 After looking the error statck trace, I noticed the bug is mostly
 possible
 the same as Harmony-1186 (
 http://issues.apache.org/jira/browse/HARMONY-1186).

 If I restore harmony code with early revision (before Harmony-1186,
 revision 431877), the error can be reproduced exactly the same as you
 reported. Harmony-1186 was fixed on Aug.16, but you built the
 snapshot on
 Aug.21...(So I'm not sure whether they are the same bug). So could you
 please check whether your source code is updated with latest
 revision, if
 you built the snapshot by yourself? Othewise, it may work if you
 download
 the snapshot from harmony website (I checked the snapshot was made on
 Aug.17).
 Or would anyone update the snapshot on the website?

 I hope it works. If you still fail to run mina examples, please let us
 know.
 Any information are highly appreciated!  Thank you!

 Best regards,
 Andrew

 On 8/23/06, Sian January [EMAIL PROTECTED] wrote:
 
  Hello,
 
  I have recently downloaded Apache MINA, which is a framework for
 writing
  network applications, and tried to run some of the examples with
 Harmony.
  There were some problems getting the examples to run and if anyone is
  interested in taking a look I think I have found an NIO bug -
  http://issues.apache.org/jira/browse/HARMONY-1270.
 
  Regards,
 
  Sian January
 
  IBM Java Technology Centre, UK
 
 


 --
 Andrew Zhang
 China Software Development Lab, IBM





--
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]





--
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: [general][DGC] Java Distributed Garbage Collection in RMI

2006-08-24 Thread Mikhail Markov

Wow - true DGC is really a cool thing!
And i agree with you that there is very few RMI DGC docs.
If your need some details about Harmony rmi dgc implementation - feel free
to ask.

Regards,
Mikhail

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


Yes I should have the implementation completed  by October by which time I
will produce performance testing statistics and code to the community.

At the moment the highly undocumented nature of the Java RMI dgc
interfaces
is proving to be a stumbling point hence I have turned to the Harmony
mailing list for expertise.

Regards,

- Vikram Mohan

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

 Vikram,
 I believe the right place to look for MMTk is on the JikesRVM web page
 at jikesrvm.sourceforge.net.  MMTk contains a bunch of different
 garbage collectors and is written in Java.  Its interesting what you
 are discovering in distributed GC.  Do you plan to do an Apache open
 source version of the correct algorithm?   :)


 On 8/23/06, FaeLLe [EMAIL PROTECTED] wrote:
  Hello Weldon,
 
  I am currently working on the DGC interface on a Java level so that it
 can
  work on top of the JVM. My modification is entirely is on the Java
 level.
 
  What I am working on the implementeation of a Distributed Reference
 Listing
  algorithm for RMI DGC. We have identified faults in the algorithm Sun
  currently uses and have explained them in the paper I mentioned
before.
 It
  is called a revised version of Birrell's algorithm.
 
  Not currently worked with MMTk but perhaps you can point me towards
the
  project page of the toolkit you are describing. I have only heard
about
 it
  before not exactly ventured into it.
 
  Regards,
 
  - Vikram Mohan
 
  On 8/23/06, Weldon Washburn [EMAIL PROTECTED] wrote:
  
   On 8/22/06, FaeLLe [EMAIL PROTECTED] wrote:
Forwarding message to Harmony list as it was rejected previously
as
 spam
probably due to ZIP attachement and links in body.
  
 From: FaeLLe [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, July 25, 2006 2:27 PM
 To: Morozova, Nadezhda
 Subject: Java Garbage Collection

 I obtained your email address from the Harmony mailing lists and
   noticed
the document you released on the Harmony mailing list about
plugging
 in
   a
custom GC implementation.

 The reason I am writing to you is that at the moment I am
 undergoing
   my
Msc project at the University of Kent with my supervisor being Dr.
   Richard
Jones and am working on an implementation of Birrell's distributed
   reference
listing algorithm.

 We have worked on a formalization of the algorithm (TOPLAS paper
)
 and
   my
task is the implementation of it.

 But I am confused as to what approach I would undertake towards
 the
implementation as to what part of the current Java code holds the
   current
algorithm etc. Is there any paper or resource you could point me
to
 for
garbage collector implementation.

 Your document talks about implementing a GC written in C but I
was
wondering would it not be possible for me to merely edit the JDK
 source
   code
under the JRL license for academic purposes and rewrite my own
code
   merely
editing the method content.

 Your cooperation in this matter would be most appreciated.
  
   Vikram,
   It would be great if you gave more details about what you are trying
   to do.  For example, do you need to modify the garbage collector
that
   is internal to a standard JVM?  Or will all your work be at Java API
   level?  In terms of what is in DRLVM, the GC is written in C.  I am
   currently working on porting MMTk to DRLVM.  Let me know if MMTk is
   interesting to you.
  

 Yours Sincierly,

 - Vikram Mohan
   Msc. Distributed Systems and Networks
   University of Kent
   Canterbury, Kent
   UK
   +44-(0)77-37592552


   
   
 -
Terms of use :
http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail:
[EMAIL PROTECTED]
For additional commands, e-mail:
[EMAIL PROTECTED]
   
   
   
  
  
   --
   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]
  
  
 
 
  --
  www.FaeLLe.com
  www.VikramMohan.com
 
 


 --
 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]




--
www.FaeLLe.com
www.VikramMohan.com




RE: [doc] Intrim solution

2006-08-24 Thread Morozova, Nadezhda
Geir, all,

This is the first step to creating a site-wide CSS. 

I've created a short version of the CSS file (see site.css) with the
major elements that a webpage might need. This is surely only a draft.
I'll need to work a bit more on table elements and also import
additional styles from drl.css to enable extended presentation
facilities for big docs that go with contribs. 

I've also changed the .vsl accordingly (see patch attached). Most
changes concern removing redundant styles, assigning classes to specific
elements, etc. 

IMPORTANT NOTE: YOUR HELP NEEDED. The .vsl file now has the link to the
CSS hard-coded into the output HTML code so it only works for HTML page
of one level (currently, for those that are two folder-levels down from
the CSS). This bug can be fixed by adding a relative path variable
instead of the hard-coded path. However, I am new to VSL and not sure
I'll do it the right way. Perhaps, it would be much easier for you. 

Let me know what you think of this. I have some specific considerations
of how we could adjust the VSL file and the CSS styles set further, but
we should first decide whether we need it at all :) 

Again, any help welcomed!

Best regards, 
Nadya Morozova
 

-Original Message-
From: Geir Magnusson Jr. [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, August 23, 2006 4:29 PM
To: harmony-dev@incubator.apache.org
Subject: Re: [doc] Intrim solution

Morozova, Nadezhda wrote:
 Geir, 
 
 Thanks for your effort in migrating docs to a more stable state inside
 the website. I've been examining your solution, and here are my
 comments: 
 
 1) Nice and quick way to import new docs into the website without
 converting them into XML for internal processing. Never thought of it
:)
 
 2) Source of resulting file is not optimal because: 
   - Doctype declarations, metatags and head content are copied
 from the  imported document into the middle of the
 resulting HTML code
   - body of the page HTML has a nested body of imported
 document

Yep, but has there been any reported bad effects?


 3) Stylesheet referenced in resulting document is applied to the whole
 page, including the left navigation menu. 

Yep.

 
 This last point can be workarounded easily by making minor changes in
 the referenced stylesheet (I could do this and send you a patch).
 However, I don't like this solution and would rather vote for a common
 CSS for the whole website. 

Yep!

 
 A major obstacle to having one CSS for the Harmony website is that
 there's no such CSS at the moment! LF of page content is set in the
 .vsl file that Anakia uses. 
 I suggest that we move away from this by reducing .vsl to processing
 only and move out all presentation tags into a Harmony-wide CSS. This
 would help us: 
 - reduce file size (and consequently i-net traffic) for Harmony
website:
 you load only one file instead of loading the same styles for each
page
 - reduce effort of integrating more docs into the website: each doc
 references the same stylesheet and is displayed in the same way
 - simplify doc structure: no nested body and meta elements;
numerous
 font tags replaced with a hierarchical HTML tag and class structure
 - clarify website functioning mechanism: distinguish processing macros
 and presentation of resulting output  
 
 If the community agrees, I could try and implement this solution. 
 That would take a relatively significant amount of time as it would
 include: 
 1) Editing .vsl to remove presentation info and improving structure of
 resulting HTML code
 2) Creating a .css and testing it to fit existing files and new ones
 3) Going through all current XML files making up the website to make
 adjustments in body content per new CSS requirements (can be done by
a
 script or auto-replacement but still)

The last one I don't understand.  Rarely is there any LF info in the 
XML - that's the point of this approach - that the document content - 
the XML - is independent of the rendering.

 
 All in all, this seems like a serious effort. Help most welcomed! 
 

Sounds good - I wouldn't try to bite it all off at once - I'd start with

seeing what it takes to get a basic CSS applied in the .vsl and start 
looking at it from there.

Lets try to do this incrementally, so if we decide not to do it, the 
investment is as small as possible.

(IOW, go for it!)

geir

-
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
From 72957bcf0c39d6e1de8d985deb9e3c5a1b82e23d Mon Sep 17 00:00:00 2001
From: nmorozov [EMAIL PROTECTED]
Date: Thu, 24 Aug 2006 14:23:53 +0400
Subject: [PATCH] Removing presentation info from doc model
---
 xdocs/stylesheets/site.vsl |  114 +++-
 1 files changed, 48 insertions(+), 66 deletions(-)

diff --git a/xdocs/stylesheets/site.vsl 

[classlib][TestNG] How to handle bootclasspath tests

2006-08-24 Thread Richard Liang

Hello All,

I'm investigating the possibilities of migrating Harmony tests from 
JUnit/Directory layout to TestNG while reviewing all the related thread 
in mailing list. And I will try to answer the open issues. To make 
things simple, I will post the issues one by one. ;-)


Question: How to handle bootclasspath tests?

IMHO, I'm not sure whether it is a good idea to use TestNG groups to 
differentiate the bootclasspath tests and classpath tests.


If we put bootclasspath and classpath tests in the same directory, 
and use TestNG groups to differentiate them. When we want to run the 
bootclasspath tests, we have to put all tests in bootclasspath 
including the classpath tests. I don't think it's a good approach. And 
I cannot find any ways to compile the java sources from one directory 
into several different directories (ANT or Eclipse). So I suggest we put 
bootclasspath tests and classpath tests into different directories.


But if we think putting all tests into bootclasspath is not a problem,  
we may have a workaround: running bootclasspath and classpath tests in 
separate tasks. I mean:1)  Running bootclasspath  tests with all tests 
in bootclasspath 2) running all classpath tests with all tests in classpath


Please correct me if I'm wrong.

Here is sample of how to launch TestNG in ANT:

   testng outputDir=${testng.report.dir}
   sourcedir=${test.src.dir}
   haltOnfailure=true
   verbose=3
   jvm=${HarmonyVM}/bin/java
   
   bootclasspath
   pathelement path=../bin/tests.boot /
   /bootclasspath
  
   classpath

   pathelement path=../bin/tests /
   /classpath
   xmlfileset dir=. includes=suite.xml /
   /testng

Thanks for reading this far. ;-)

--
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: [classlib][html] Please evaluate proposed ASN.1 notation for HTML DTD

2006-08-24 Thread Stepan Mishura

On 8/24/06, Miguel Montes wrote:


Thanks Stepan. So, it should be

BDTD ::= SEQUENCE {
   name UTF8String,
   entity SET OF HTMLEntity,
   element SET OF HTMLElement
}

HTMLEntity ::= SEQUENCE {
   name UTF8String,
   value INTEGER,
   general [0] IMPLICIT BOOLEAN DEFAULT FALSE,
   parameter [1] IMPLICIT BOOLEAN DEFAULT FALSE,
   data UTF8String
}

HTMLElement ::= SEQUENCE {
   index INTEGER,
   name UTF8String,
   type INTEGER,
   oStart BOOLEAN,
   oEnd BOOLEAN,
   exclusions SET OF INTEGER,
   inclusions SET OF INTEGER,
   attributes SET OF HTMLElementAttributes OPTIONAL,
   contentModel HTMLContentModel
}

HTMLContentModel ::= SEQUENCE OF SEQUENCE {
   type INTEGER,
   index INTEGER
}

HTMLElementAttributes ::= SEQUENCE {
   name UTF8String,
   type INTEGER,
   modifier INTEGER,
   defaultValue UTF8String OPTIONAL,
   possibleValues SET OF UTF8String OPTIONAL
}


If we want exclusions and inclusions in HTMLElement to be optional, it
should be something like

HTMLElement ::= SEQUENCE {
   index INTEGER,
   name UTF8String,
   type INTEGER,
   oStart BOOLEAN,
   oEnd BOOLEAN,
   exclusions [0] IMPLICIT SET OF INTEGER OPTIONAL,
   inclusions [1] IMPLICIT SET OF INTEGER OPTIONAL,
   attributes SET OF HTMLElementAttributes OPTIONAL,
   contentModel HTMLContentModel
}

Is this right?



Yes, that is right.

- Stepan.

On 8/23/06, Stepan Mishura wrote:


 Hi Miguel,

 I've looked thought proposed ASN.1 notation and it looks OK for me. I
have
 only few comments.
 (However I don't know all details of DTD, i.e. I've not checked whether
 your
 notation correctly represents DTD so I'll comment only proposed
 ASN.1notation.)

 BTW, I've changed the subject if you don't mind.

 Common remark: a component of SEQUENCE(OF), SET(OF) should starts with a
 lower-case letter.

 Other comment see below.

 On 8/23/06, Miguel Montes wrote:

  Hi:
  We are working on the html parser, and need to have working DTD. The
  current
  implementation of DTD.read(), based on serialization, has some
problems,
  and
  I think we should have a well defined binary format. I suggest the
  following
  ASN.1 format, and if there is consensus on it, we could contribute the
  code
  to read and write it.
  I would like to hear the opinion of Stepan and anyone who has worked
 with
  ASN.1 before.
 
  BDTD ::= SEQUENCE {
Name UTF8String,
Entity SET OF HTMLEntity,
Element SET OF HTMLElement
  }
 
  HTMLEntity ::= SEQUENCE {
Name UTF8String,
Value INTEGER,
General BOOLEAN DEFAULT FALSE,
Parameter BOOLEAN DEFAULT FALSE,
Data UTF8String
  }


 This won't work. I'll try to explain. We have 2 DEFAULT components here.
 If
 a component is declared as DEFAULT then it is also OPTIONAL and can be
 missed. A decoder can detect which component is missed only if a in
block
 of
 OPTIONAL components plus next mandatory component all elements are
 distinct.

 We have the next block:
 general BOOLEANDEFAULT FALSE
 parameterBOOLEANDEFAULT FALSE
 data  UTF8String

 So 1-st and 2-nd elements are not distinct. This can be fixed by tagging
 some elements. I'd use implicit tagging, for example:

 generalBOOLEANDEFAULT FALSE
 parameter[0]  IMPLICIT BOOLEANDEFAULT FALSE

 or

 general [0]  IMPLICIT BOOLEANDEFAULT FALSE
 parameter[1]  IMPLICIT BOOLEANDEFAULT FALSE

 Thanks,
 Stepan.

 P.S. I'll let you know if I have more corrections.





  HTMLElement ::= SEQUENCE {
Index INTEGER,
Name UTF8String,
Type INTEGER,
OStart BOOLEAN,
OEnd BOOLEAN,
Exclusions SET OF INTEGER,
Inclusions SET OF INTEGER,
Attributes SET OF HTMLElementAttributes OPTIONAL,
ContentModel HTMLContentModel,
  }
 
  HTMLContentModel ::= SEQUENCE OF SEQUENCE {
Type INTEGER,
Index INTEGER
  }
 
  HTMLElementAttributes ::= SEQUENCE {
Name UTF8String,
Type INTEGER,
Modifier INTEGER,
DefaultValue UTF8String OPTIONAL,
PossibleValues SET OF UTF8String OPTIONAL
  }
  --
  Miguel Montes
 



--
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][TestNG] How to handle bootclasspath tests

2006-08-24 Thread Oliver Deakin

Richard Liang wrote:

Hello All,

I'm investigating the possibilities of migrating Harmony tests from 
JUnit/Directory layout to TestNG while reviewing all the related 
thread in mailing list. And I will try to answer the open issues. To 
make things simple, I will post the issues one by one. ;-)


Question: How to handle bootclasspath tests?

IMHO, I'm not sure whether it is a good idea to use TestNG groups to 
differentiate the bootclasspath tests and classpath tests.


If we put bootclasspath and classpath tests in the same directory, 
and use TestNG groups to differentiate them. When we want to run the 
bootclasspath tests, we have to put all tests in bootclasspath 
including the classpath tests. I don't think it's a good approach. 
And I cannot find any ways to compile the java sources from one 
directory into several different directories (ANT or Eclipse). So I 
suggest we put bootclasspath tests and classpath tests into different 
directories.


Agreed - this is a fairly simple separation, and there is good reason to 
do it.

My vote's for keeping bootclasspath and classpath tests physically separate.

Regards,
Oliver



But if we think putting all tests into bootclasspath is not a 
problem,  we may have a workaround: running bootclasspath and 
classpath tests in separate tasks. I mean:1)  Running bootclasspath  
tests with all tests in bootclasspath 2) running all classpath tests 
with all tests in classpath


Please correct me if I'm wrong.

Here is sample of how to launch TestNG in ANT:

   testng outputDir=${testng.report.dir}
   sourcedir=${test.src.dir}
   haltOnfailure=true
   verbose=3
   jvm=${HarmonyVM}/bin/java
   
   bootclasspath
   pathelement path=../bin/tests.boot /
   /bootclasspath
 classpath
   pathelement path=../bin/tests /
   /classpath
   xmlfileset dir=. includes=suite.xml /
   /testng

Thanks for reading this far. ;-)



--
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: [vm] ArgoUML application crashes IBM VME

2006-08-24 Thread Oliver Deakin


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?

Is there somewhere you can put this on the wiki/website so that we
dont lose it? Looks like an interesting test app.

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: [EMAIL PROTECTED]






--
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: [classlib][rmi] javax.rmi.PortableRemoteObject

2006-08-24 Thread Mark Hindess

On 24 August 2006 at 13:11, Igor Stolyarov [EMAIL PROTECTED] wrote:

 I've tried to launch JBoss's bank example application on JBoss and didn't
 can do it, because javax.rmi.PortableRemoteObject doesn't exist.


FYI: It's also one of the three remaining classes which are required to
run Apache Geronimo.  The other two classes are:

  javax.rmi.CORBA.Util
  javax.rmi.CORBA.UtilDelegate

Regards,
 Mark.

 2006/8/24, Igor Stolyarov [EMAIL PROTECTED]:
 
   Yes, this class is necessary for work of Java Web Applications
 
  Igor
 
 
  2006/8/24, Alexey Petrenko [EMAIL PROTECTED]:
 
   It will be implemented when somebody will implement it :)
  
   Do you need it for some specific reason? Application?
  
   SY, Alexey
  
   2006/8/24, Igor Stolyarov [EMAIL PROTECTED]:
Does anybody know when will be implemented
   javax.rmi.PortableRemoteObject?
   
--
Igor V. Stolyarov
Intel Middleware Products Division
   
   
  
  
   --
   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]
  
  
 
 
  --
 
  Igor V. Stolyarov
  Intel Middleware Products Division
 
 
 
 
 -- 
 Igor V. Stolyarov
 Intel Middleware Products Division
 
 --=_Part_7252_6010442.1156410664142--



-
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][Instrument]Put tests to Harmony (and Support_Exec)

2006-08-24 Thread Oliver Deakin

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?



 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.

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: [classlib] [ldap] support for multiple VMs?

2006-08-24 Thread Alexey Varlamov

Oliver,

Please take a look at a HARMONY-1243 patch. I fixed all bugs noticed
and made parsing a bit more robust. Also, added a define for
org.apache.harmony.boot.class.path name to vmi.h - to enforce that
there is 2-sided contract for this property.

I still think that some of those functions may worth to be added to
the portlib, namely:
char * str_concat (HyPortLibrary * portLibrary, ...);
int props_read_from_file(HyPortLibrary * portLibrary, const char *filename,
 key_value_pair** properties, U_32 *number);
void props_free(HyPortLibrary * portLibrary, key_value_pair * properties);

Justification: the same functionality is duplicated at least in
launcher/shared/main.c, and there are other property files to be read
by VM.

If nobody object, I will try to add these 3 functions to portlib.

--
Alexey

-
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-24 Thread Ivan Volosyuk

 It might also make sense to design in a write barrier verifier.  The
 concept is to verify that all the old-to-young pointers are properly
 handled.  One way of doing this is to force a full heap mark.  Then
 compare the full heap mark's old-to-young pointers to what the write
 barrier mechanism derived.

This needs more thinking. The old-to-yound pointers got in a full-heap
marking have only live ones. But I think the idea to have some write
barrier verifier is interesting, e..g, the rememebered set has to be a
superset of live old-to-yound pointers.


IMHO, write barrier verifier is a _must_ to have feature for us. The
same applies to full heap tracing-validation. As VM and JIT code are
subject of changes, it should be the way to isolate bugs introduced by
GC and the ones coming from VM/JIT.
--
Ivan



Thanks,
xiaofeng


-
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-24 Thread Ivan Volosyuk

Weldon, I have some information for this case.

There bit layout was the following before new thread manager integration:
object info word contains:
0 bit - available for GC
1-6 bits - object hashcode
7 bit - contention bit unused by TM, but used by GC_V4
8-31 bits - other thread manager's data

I have some changes for this layout in the GC v4.1 patch. Patch
introduces new GC interface function:
   gc_get_hashcode()

If garbage collector exports that function it hash full management of
all bits in the lowest byte of object info word, but it should provide
implementation of identity hashcode for heap objects.
If garbage collector doesn't have this function, the previous
(described above) layout of bits will be used.
--
Ivan

On 8/24/06, Xiao-Feng Li [EMAIL PROTECTED] wrote:

Weldon, the bits your mentioned are for obj_info. Vtable can't have
its bits overloaded simply without special handling.

Thanks,
xiaofeng

On 8/24/06, Weldon Washburn [EMAIL PROTECTED] wrote:
 On 8/23/06, Xiao-Feng Li [EMAIL PROTECTED] wrote:
  Weldon, I experimented with last two bits for marking and forwarding
  without problem.

 I assume you are referring to the 2 lowest bits in the vtable pointer.
  The two lowest bits will step on the recursion mask in sync_bits.h...
 won't it?  I am confused.

 It turns out that MMTk keeps the mark bits around even between GCs.
 Leaving an LSB of the vtable ptr set and then resuming application
 execution will surely cause a failure.  Thus there needs to be a full
 time dedicated mark bit in the object header.  This is in addition to
 the need for a forwarding bit.


 
  The GC_OBJECT_MARK_BIT_MASK is for obj_info field, not the vt field. (
  So far as I experimented, it's only used for heap verification).
 
  Thanks,
  xiaofeng
 
  On 8/24/06, Weldon Washburn [EMAIL PROTECTED] wrote:
   Looking at drlvm/trunk, it looks like vmcore/include/sync_bits.h
   defines the use of  *(ref_ptr +4) for 32-bit environment.  Just
   guessing that #define BUSY_FORWARDING_OFFSET 0 is intended to tell
   the GC that it can use the least significant bit out of these four
   bytes.  Is this correct?  I would like to use this bit as an MMTk mark
   bit.  Will this work?  (Actually the name, BUSY_FORWARDING_OFFSET is
   probably not the best...)
  
   There is also a gc/src/gc_header.h file that contains, #define
   GC_OBJECT_MARK_BIT_MASK 0x80.  This seems to step on top of
   sync_bits.h use of this area???Can I assume gc_header.h is
   incorrect?
  
   --
   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]



Problems with JIRA notifications?

2006-08-24 Thread Alexey Petrenko

Is everything OK with JIRA notifications?
I have not received notifications today...

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: [classlib][TestNG] How to handle bootclasspath tests

2006-08-24 Thread Mark Hindess

On 24 August 2006 at 13:58, Oliver Deakin [EMAIL PROTECTED]
wrote:
 Richard Liang wrote:
  Hello All,
 
  I'm investigating the possibilities of migrating Harmony tests from 
  JUnit/Directory layout to TestNG while reviewing all the related 
  thread in mailing list. And I will try to answer the open issues. To 
  make things simple, I will post the issues one by one. ;-)
 
  Question: How to handle bootclasspath tests?
 
  IMHO, I'm not sure whether it is a good idea to use TestNG groups to 
  differentiate the bootclasspath tests and classpath tests.
 
  If we put bootclasspath and classpath tests in the same directory, 
  and use TestNG groups to differentiate them. When we want to run the 
  bootclasspath tests, we have to put all tests in bootclasspath 
  including the classpath tests. I don't think it's a good approach. 
  And I cannot find any ways to compile the java sources from one 
  directory into several different directories (ANT or Eclipse). So I 
  suggest we put bootclasspath tests and classpath tests into different 
  directories.
 
 Agreed - this is a fairly simple separation, and there is good reason to 
 do it.
 My vote's for keeping bootclasspath and classpath tests physically separate.

Yes, I think this is the best way to handle this distinction too.  

There are going to be more than enough groups.  I thought about some
more earlier while trying the awt tests... we should identify which
tests require a display to run and which may be run headless.

Regards,
 Mark.

  But if we think putting all tests into bootclasspath is not a 
  problem,  we may have a workaround: running bootclasspath and 
  classpath tests in separate tasks. I mean:1)  Running bootclasspath  
  tests with all tests in bootclasspath 2) running all classpath tests 
  with all tests in classpath
 
  Please correct me if I'm wrong.
 
  Here is sample of how to launch TestNG in ANT:
 
 testng outputDir=${testng.report.dir}
 sourcedir=${test.src.dir}
 haltOnfailure=true
 verbose=3
 jvm=${HarmonyVM}/bin/java
 
 bootclasspath
 pathelement path=../bin/tests.boot /
 /bootclasspath
   classpath
 pathelement path=../bin/tests /
 /classpath
 xmlfileset dir=. includes=suite.xml /
 /testng
 
  Thanks for reading this far. ;-)
 
 
 -- 
 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]



-
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][TestNG] How to handle bootclasspath tests

2006-08-24 Thread Richard Liang



Mark Hindess wrote:

On 24 August 2006 at 13:58, Oliver Deakin [EMAIL PROTECTED]
wrote:
  

Richard Liang wrote:


Hello All,

I'm investigating the possibilities of migrating Harmony tests from 
JUnit/Directory layout to TestNG while reviewing all the related 
thread in mailing list. And I will try to answer the open issues. To 
make things simple, I will post the issues one by one. ;-)


Question: How to handle bootclasspath tests?

IMHO, I'm not sure whether it is a good idea to use TestNG groups to 
differentiate the bootclasspath tests and classpath tests.


If we put bootclasspath and classpath tests in the same directory, 
and use TestNG groups to differentiate them. When we want to run the 
bootclasspath tests, we have to put all tests in bootclasspath 
including the classpath tests. I don't think it's a good approach. 
And I cannot find any ways to compile the java sources from one 
directory into several different directories (ANT or Eclipse). So I 
suggest we put bootclasspath tests and classpath tests into different 
directories.
  
Agreed - this is a fairly simple separation, and there is good reason to 
do it.

My vote's for keeping bootclasspath and classpath tests physically separate.



Yes, I think this is the best way to handle this distinction too.  


There are going to be more than enough groups.  I thought about some
more earlier while trying the awt tests... we should identify which
tests require a display to run and which may be run headless.

  
That's a good point, Mark. Just thinking about whether we could skip the 
tests which require a display when there is no display available. If 
someone try to run Harmony tests on a Linux server, the awt/swing tests 
shall be skipped. Any ideas?


I will open another thread to discuss TestNG groups :-)

Best regards,
Richard


Regards,
 Mark.

  
But if we think putting all tests into bootclasspath is not a 
problem,  we may have a workaround: running bootclasspath and 
classpath tests in separate tasks. I mean:1)  Running bootclasspath  
tests with all tests in bootclasspath 2) running all classpath tests 
with all tests in classpath


Please correct me if I'm wrong.

Here is sample of how to launch TestNG in ANT:

   testng outputDir=${testng.report.dir}
   sourcedir=${test.src.dir}
   haltOnfailure=true
   verbose=3
   jvm=${HarmonyVM}/bin/java
   
   bootclasspath
   pathelement path=../bin/tests.boot /
   /bootclasspath
 classpath
   pathelement path=../bin/tests /
   /classpath
   xmlfileset dir=. includes=suite.xml /
   /testng

Thanks for reading this far. ;-)

  

--
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]





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


  


--
Richard Liang
China Software Development Lab, IBM 



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

2006-08-24 Thread Artem Aliev

On 8/24/06, Ivan Volosyuk [EMAIL PROTECTED] wrote:

Weldon, I have some information for this case.

There bit layout was the following before new thread manager integration:
object info word contains:
0 bit - available for GC
1-6 bits - object hashcode
7 bit - contention bit unused by TM, but used by GC_V4
8-31 bits - other thread manager's data

I have some changes for this layout in the GC v4.1 patch. Patch
introduces new GC interface function:
   gc_get_hashcode()

If garbage collector exports that function it hash full management of
all bits in the lowest byte of object info word, but it should provide
implementation of identity hashcode for heap objects.
If garbage collector doesn't have this function, the previous
(described above) layout of bits will be used.
--
Ivan

On 8/24/06, Xiao-Feng Li [EMAIL PROTECTED] wrote:
 Weldon, the bits your mentioned are for obj_info. Vtable can't have
 its bits overloaded simply without special handling.

 Thanks,
 xiaofeng

 On 8/24/06, Weldon Washburn [EMAIL PROTECTED] wrote:
  On 8/23/06, Xiao-Feng Li [EMAIL PROTECTED] wrote:
   Weldon, I experimented with last two bits for marking and forwarding
   without problem.
 
  I assume you are referring to the 2 lowest bits in the vtable pointer.
   The two lowest bits will step on the recursion mask in sync_bits.h...
  won't it?  I am confused.
 
  It turns out that MMTk keeps the mark bits around even between GCs.
  Leaving an LSB of the vtable ptr set and then resuming application
  execution will surely cause a failure.  Thus there needs to be a full
  time dedicated mark bit in the object header.  This is in addition to
  the need for a forwarding bit.
 
 
  
   The GC_OBJECT_MARK_BIT_MASK is for obj_info field, not the vt field. (
   So far as I experimented, it's only used for heap verification).
  
   Thanks,
   xiaofeng
  
   On 8/24/06, Weldon Washburn [EMAIL PROTECTED] wrote:
Looking at drlvm/trunk, it looks like vmcore/include/sync_bits.h
defines the use of  *(ref_ptr +4) for 32-bit environment.  Just
guessing that #define BUSY_FORWARDING_OFFSET 0 is intended to tell
the GC that it can use the least significant bit out of these four
bytes.  Is this correct?  I would like to use this bit as an MMTk mark
bit.  Will this work?  (Actually the name, BUSY_FORWARDING_OFFSET is
probably not the best...)
   
There is also a gc/src/gc_header.h file that contains, #define
GC_OBJECT_MARK_BIT_MASK 0x80.  This seems to step on top of
sync_bits.h use of this area???Can I assume gc_header.h is
incorrect?
   
--
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]




-
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] [ldap] support for multiple VMs?

2006-08-24 Thread Oliver Deakin

Hi Alexey,

I have taken a look at the patch - generally it looks good to me, and if 
it all

works ok when you test it, it's fine by me.

I think if there are cases where some functionality is repeated many 
times, it

would be good to see it split out somewhere central. However, Im not sure
the port library is the right place for these functions - the port 
library is really a
generic front hiding platform specific operations. These functions do 
not really

fit into that category - perhaps they would be better placed in the common
library (luni/src/main/native/common)? This component provides a set of
helper functions required by many native modules, and seems like the right
place to put them.

Regards,
Oliver

Alexey Varlamov wrote:

Oliver,

Please take a look at a HARMONY-1243 patch. I fixed all bugs noticed
and made parsing a bit more robust. Also, added a define for
org.apache.harmony.boot.class.path name to vmi.h - to enforce that
there is 2-sided contract for this property.

I still think that some of those functions may worth to be added to
the portlib, namely:
char * str_concat (HyPortLibrary * portLibrary, ...);
int props_read_from_file(HyPortLibrary * portLibrary, const char 
*filename,

 key_value_pair** properties, U_32 *number);
void props_free(HyPortLibrary * portLibrary, key_value_pair * 
properties);


Justification: the same functionality is duplicated at least in
launcher/shared/main.c, and there are other property files to be read
by VM.

If nobody object, I will try to add these 3 functions to portlib.



--
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: [DRLVM][VM] -- which header bits are available for GC mark and GC forwarding use?

2006-08-24 Thread Artem Aliev

Weldon,


 There bit layout was the following before new thread manager integration:
 object info word contains:
 0 bit - available for GC
 1-6 bits - object hashcode
 7 bit - contention bit unused by TM, but used by GC_V4
 8-31 bits - other thread manager's data


The new Thread Manager use only 10-31 bit for its own data.
So you could also use 8-9 bits for GC purpose.

These bits could be read any time, but modified only at GC stop the
world phase, because they share a byte with a monitor recursion count
and other bits.
This byte is updated without a lock

Thanks
Artem

-
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-24 Thread Salikh Zakirov
Weldon Washburn wrote:
 Looking at drlvm/trunk, it looks like vmcore/include/sync_bits.h
 defines the use of  *(ref_ptr +4) for 32-bit environment.  Just
 guessing that #define BUSY_FORWARDING_OFFSET 0 is intended to tell
 the GC that it can use the least significant bit out of these four
 bytes.  Is this correct?

Yes. This is correct for the current GC (aka v4), see vm/gc/src/gc_header.h
 48 //
 49 // Use the contention bit of object header to lock stuff for now... Is 
this OKAY???
 50 //
 51 #define GC_OBJECT_MARK_BIT_MASK 0x0080
 52 #define FORWARDING_BIT_MASK 0x1

The comment is outdated. Bit 0x80 of the lockword has not been
used as a contention for quite some time.

GC v4 uses bit 0x80 for verification purpose.

 I would like to use this bit as an MMTk mark
 bit.  Will this work?  (Actually the name, BUSY_FORWARDING_OFFSET is
 probably not the best...)

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...

 There is also a gc/src/gc_header.h file that contains, #define
 GC_OBJECT_MARK_BIT_MASK 0x80.  This seems to step on top of
 sync_bits.h use of this area???Can I assume gc_header.h is
 incorrect?

No. 
gc_header.h is correct in stating that GC v4 uses bit 0x80.

However, other GC implementation have other assumptions, and Ivan
recently submitted a patch (along with GC v4.1) that abstracts hashcode,
and makes all lower 10 bits available for GC use, provided that GC
serves the hashcode.

RESUME: If a GC provides function gc_get_hashcode(),
GC has 10 lower bits of lockword at its disposal.
Otherwise, it can only use bits 0,7,8,9 (bits 1-6 are used by default hash 
implementation).

One more thing to take into account, that current thread manager
may access lockword in another thread (e.g. using 32 bit compare-and-swap 
operation
to unreserve a lock), so atomic operation needs to be used
when updating lockword while java threads are running.

For example, see how default hashcode is implemented in 
vm/vmcore/src/thread/object_generic.cpp:
 57 void set_hash_bits(ManagedObject *p_obj)
 58 {
 59 uint8 hb = (uint8) (((POINTER_SIZE_INT)p_obj  3)  HASH_MASK)  ;
 60 // lowest 3 bits are not random enough so get rid of them
 61 
 62 if (hb == 0)
 63 hb = (23  HASH_MASK);  // NO hash = zero allowed, thus hard 
map hb = 0 to a fixed prime number
 64 
 65 // don't care if the cmpxchg fails -- just means someone else 
already set the hash
 *** 66 port_atomic_cas8(P_HASH_CONTENTION_BYTE(p_obj),hb, 0);
 67 }


-
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] Assigned: (HARMONY-1208) Bug fixing and cosmetics for Harmony 935

2006-08-24 Thread Daniel Fridlender

On 8/23/06, Mikhail Loenko [EMAIL PROTECTED] wrote:

Hi Daniel,

I've tried the patch. 4 math tests failed. Could you please take a look?

Thanks,
Mikhail



Hi Mikhail,

You are right.  Two of these four tests are due to typos in the
exception messages:

1)org.apache.harmony.tests.java.math.BigDecimalConstructorsTest.testConstrStringExponentIntegerMin(
BigDecimalConstructorsTest.java:497)
expectedScale out of range. but was Scale out of range

2)org.apache.harmony.tests.java.math.BigDecimalScaleOperationsTest.testMovePointRightException(
BigDecimalScaleOperationsTest.java:335)
expectedUnderflow but was UnderFlow

We corrected them (and a similar problem with Overflow) with a new
patch typos.diff.zipĀ“ in H1208.

The other two failing tests require some discussion.

3)org.apache.harmony.tests.java.math.BigDecimalConstructorsTest.testConstrBI(BigDecimalConstructorsTest.java:75)

I believe the test is wrong in this case since according to the API
specification the NullPointerException will actually be thrown before
the try block.  The test incorrectly expects it to be thrown in the
block.

The RI also fails this test.

4)org.apache.harmony.tests.java.math.BigDecimalArithmeticTest.testDivideByZero(BigDecimalArithmeticTest.java:492)
expected BigInteger divide by zero but was Division by zero

This is not just a typo.  Both exception messages are used by the RI
in different BigDecimal.divide methods when dividing by
BigDecimal.ZERO.  There is at least a third message: / by zero.
Some methods seem to use different messages depending on the size of
the dividend.

So, I see two possibilities here:

a) use everywhere the message Division by zero.
b) try to find out when RI uses each of the different messages.

I would suggest a) rather than b) since from the point of view of the
programmer it is reasonable to obtain the same message when dividing
by BigDecimal.ZERO regardless the size (or internal representation) of
the dividend and the method invoked for the division.

In addition, doing b) may imply inspecting the behavior of RI a bit
too far.  I am reluctant to do this since different messages may
reveal when the unscaled value is implemented as a BigInteger and when
as a primitive integral value.

We submitted a new patch tests.diff.zip to H1208 correcting the test
mentioned in 3) and replacing the test in 4) by another invocation to
divide with the Division by zero message.

Both RI and our implementation pass the tests.

I think both patches should be applied.  In the meantime we may
discuss if the approach b) is preferred.

Regards,

   Daniel


2006/8/22, Daniel Fridlender [EMAIL PROTECTED]:
 Hi Mikhail,

 On 8/17/06, Mikhail Loenko [EMAIL PROTECTED] wrote:
  Hi Daniel,
 
  Please resubmit the patch with license granted to ASF

 done.

 
  Seems like the patch was generated against original H-935 contribution
  and does not take into account later changes. Could you please regenerate 
the
  patch?

 The new patch should be applied to the version of java.math currently
 in the svn repository.  It includes performance update from Vladimir
 (with bugs fixed) and other similar optimizations.  We tried to
 respect spacing and line breaking from the version of the repository
 (it often disagrees with the original H935).

 Thanks,

 Daniel

 
  Thanks,
  Mikhail
 
  2006/8/17, Mikhail Loenko (JIRA) [EMAIL PROTECTED]:
   [ http://issues.apache.org/jira/browse/HARMONY-1208?page=all ]
  
   Mikhail Loenko reassigned HARMONY-1208:
   ---
  
  Assignee: Mikhail Loenko
  
Bug fixing and cosmetics for Harmony 935

   
Key: HARMONY-1208
URL: http://issues.apache.org/jira/browse/HARMONY-1208
Project: Harmony
 Issue Type: Improvement
   Reporter: Daniel Fridlender
Assigned To: Mikhail Loenko
   Priority: Minor
Attachments: MathDiff.diff.zip
   
   
A patch to fix some bugs in Harmony 935, turn serialization compatible 
with RI and some cosmetics.
  
   --
   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]
 
 

 -
 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 : 

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

2006-08-24 Thread Weldon Washburn

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: [DRLVM][GC] high-level design proposal for GCV5

2006-08-24 Thread Xiao-Feng Li

Ivan, there is no disagreement on the importance of those
verifications (or validations) for Harmony GC. :-) What I was saying
is we need more thinking on the design than the rough idea, such as
when, how, what, etc.

Have you any good idea on the write barrier verfication design? Thanks,

-xiaofeng

On 8/24/06, Ivan Volosyuk [EMAIL PROTECTED] wrote:

  It might also make sense to design in a write barrier verifier.  The
  concept is to verify that all the old-to-young pointers are properly
  handled.  One way of doing this is to force a full heap mark.  Then
  compare the full heap mark's old-to-young pointers to what the write
  barrier mechanism derived.

 This needs more thinking. The old-to-yound pointers got in a full-heap
 marking have only live ones. But I think the idea to have some write
 barrier verifier is interesting, e..g, the rememebered set has to be a
 superset of live old-to-yound pointers.

IMHO, write barrier verifier is a _must_ to have feature for us. The
same applies to full heap tracing-validation. As VM and JIT code are
subject of changes, it should be the way to isolate bugs introduced by
GC and the ones coming from VM/JIT.
--
Ivan


 Thanks,
 xiaofeng

-
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: performance of drlvm

2006-08-24 Thread zouqiong

2006/8/24, zouqiong [EMAIL PROTECTED]:


Hi, Mikhail,

1. As for the list 2, Chilimbi acutally use GC moving objects to improve
the cache
localty [Profile-guided Proactive Garbage Collection for Locality
Optimization], but without
his algorithm. I will read the paper again. His algorithm mainly focus on
applications in C
or C++. Maybe we can make use of GC to imporve the effect of the
algorithm.

I made a mistake yesterday, Chilimbi actually investigate his algorithm

behavior when GC move
objects in memory. The paper Profile-guided Proactive Garbage Collection
for Locality Optimization
did so.
--
Best Regards,
Qiong,Zou


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

2006-08-24 Thread Jimmy, Jing Lv

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?



 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




--

Best Regards!

Jimmy, Jing Lv
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: [jira] Updated: (HARMONY-1208) Bug fixing and cosmetics for Harmony 935

2006-08-24 Thread Mikhail Loenko

2006/8/25, Daniel Fridlender (JIRA) [EMAIL PROTECTED]:

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

Daniel Fridlender updated HARMONY-1208:
---

   Attachment: tests.diff.zip

The patch tests.diff to fix test cases.


Hi Daniel,

These test cases pass on RI, so it's not tests that must ve fixed.

Thanks,
Mikhail






 Bug fixing and cosmetics for Harmony 935
 

 Key: HARMONY-1208
 URL: http://issues.apache.org/jira/browse/HARMONY-1208
 Project: Harmony
  Issue Type: Improvement
Reporter: Daniel Fridlender
 Assigned To: Mikhail Loenko
Priority: Minor
 Attachments: MathDiff.diff.zip, smallNrsOpt_BugFix.diff.zip, 
tests.diff.zip, typos.diff.zip


 A patch to fix some bugs in Harmony 935, turn serialization compatible with 
RI and some cosmetics.

--
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][TestNG] How to handle bootclasspath tests

2006-08-24 Thread Stepan Mishura

On 8/24/06, Richard Liang wrote:


Hello All,

I'm investigating the possibilities of migrating Harmony tests from
JUnit/Directory layout to TestNG while reviewing all the related thread
in mailing list. And I will try to answer the open issues. To make
things simple, I will post the issues one by one. ;-)

Question: How to handle bootclasspath tests?

IMHO, I'm not sure whether it is a good idea to use TestNG groups to
differentiate the bootclasspath tests and classpath tests.

If we put bootclasspath and classpath tests in the same directory,
and use TestNG groups to differentiate them. When we want to run the
bootclasspath tests, we have to put all tests in bootclasspath
including the classpath tests. I don't think it's a good approach. And
I cannot find any ways to compile the java sources from one directory
into several different directories (ANT or Eclipse). So I suggest we put
bootclasspath tests and classpath tests into different directories.



Yes, I agree.

This is a good example for mixed approach: directory layout + TestNG
annotations.

Thanks,
Stepan.

But if we think putting all tests into bootclasspath is not a problem,

we may have a workaround: running bootclasspath and classpath tests in
separate tasks. I mean:1)  Running bootclasspath  tests with all tests
in bootclasspath 2) running all classpath tests with all tests in
classpath

Please correct me if I'm wrong.

Here is sample of how to launch TestNG in ANT:

   testng outputDir=${testng.report.dir}
   sourcedir=${test.src.dir}
   haltOnfailure=true
   verbose=3
   jvm=${HarmonyVM}/bin/java
   
   bootclasspath
   pathelement path=../bin/tests.boot /
   /bootclasspath

   classpath
   pathelement path=../bin/tests /
   /classpath
   xmlfileset dir=. includes=suite.xml /
   /testng

Thanks for reading this far. ;-)

--
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: [jira] Assigned: (HARMONY-1208) Bug fixing and cosmetics for Harmony 935

2006-08-24 Thread Mikhail Loenko

Hi Daniel

2006/8/25, Daniel Fridlender [EMAIL PROTECTED]:

On 8/23/06, Mikhail Loenko [EMAIL PROTECTED] wrote:
 Hi Daniel,

 I've tried the patch. 4 math tests failed. Could you please take a look?

 Thanks,
 Mikhail


Hi Mikhail,

You are right.  Two of these four tests are due to typos in the
exception messages:

1)org.apache.harmony.tests.java.math.BigDecimalConstructorsTest.testConstrStringExponentIntegerMin(
BigDecimalConstructorsTest.java:497)
expectedScale out of range. but was Scale out of range

2)org.apache.harmony.tests.java.math.BigDecimalScaleOperationsTest.testMovePointRightException(
BigDecimalScaleOperationsTest.java:335)
expectedUnderflow but was UnderFlow

We corrected them (and a similar problem with Overflow) with a new
patch typos.diff.zipĀ“ in H1208.

The other two failing tests require some discussion.

3)org.apache.harmony.tests.java.math.BigDecimalConstructorsTest.testConstrBI(BigDecimalConstructorsTest.java:75)

I believe the test is wrong in this case since according to the API
specification the NullPointerException will actually be thrown before
the try block.  The test incorrectly expects it to be thrown in the
block.

The RI also fails this test.


I've just rerun it on RI and it passed. What RI version do you use?

I got the argument about the spec. It in a class description, right?



4)org.apache.harmony.tests.java.math.BigDecimalArithmeticTest.testDivideByZero(BigDecimalArithmeticTest.java:492)
expected BigInteger divide by zero but was Division by zero

This is not just a typo.  Both exception messages are used by the RI
in different BigDecimal.divide methods when dividing by
BigDecimal.ZERO.  There is at least a third message: / by zero.
Some methods seem to use different messages depending on the size of
the dividend.

So, I see two possibilities here:

a) use everywhere the message Division by zero.
b) try to find out when RI uses each of the different messages.

I would suggest a) rather than b) since from the point of view of the
programmer it is reasonable to obtain the same message when dividing
by BigDecimal.ZERO regardless the size (or internal representation) of
the dividend and the method invoked for the division.


In general if a programmer use only one method in their implementation where
RI throws BigInteger divide by zero, then they are not aware of
other exception
messages and they might hard code that BigInteger divide by zero one.

So I'd prefer to keep it look like RI as it is now. BUT, if this change implies
an undesirable design change then I'm OK with discrepancy in exception
messages

Thanks,
Mikhail




In addition, doing b) may imply inspecting the behavior of RI a bit
too far.  I am reluctant to do this since different messages may
reveal when the unscaled value is implemented as a BigInteger and when
as a primitive integral value.

We submitted a new patch tests.diff.zip to H1208 correcting the test
mentioned in 3) and replacing the test in 4) by another invocation to
divide with the Division by zero message.

Both RI and our implementation pass the tests.

I think both patches should be applied.  In the meantime we may
discuss if the approach b) is preferred.

Regards,

   Daniel

 2006/8/22, Daniel Fridlender [EMAIL PROTECTED]:
  Hi Mikhail,
 
  On 8/17/06, Mikhail Loenko [EMAIL PROTECTED] wrote:
   Hi Daniel,
  
   Please resubmit the patch with license granted to ASF
 
  done.
 
  
   Seems like the patch was generated against original H-935 contribution
   and does not take into account later changes. Could you please regenerate 
the
   patch?
 
  The new patch should be applied to the version of java.math currently
  in the svn repository.  It includes performance update from Vladimir
  (with bugs fixed) and other similar optimizations.  We tried to
  respect spacing and line breaking from the version of the repository
  (it often disagrees with the original H935).
 
  Thanks,
 
  Daniel
 
  
   Thanks,
   Mikhail
  
   2006/8/17, Mikhail Loenko (JIRA) [EMAIL PROTECTED]:
[ http://issues.apache.org/jira/browse/HARMONY-1208?page=all ]
   
Mikhail Loenko reassigned HARMONY-1208:
---
   
   Assignee: Mikhail Loenko
   
 Bug fixing and cosmetics for Harmony 935
 

 Key: HARMONY-1208
 URL: http://issues.apache.org/jira/browse/HARMONY-1208
 Project: Harmony
  Issue Type: Improvement
Reporter: Daniel Fridlender
 Assigned To: Mikhail Loenko
Priority: Minor
 Attachments: MathDiff.diff.zip


 A patch to fix some bugs in Harmony 935, turn serialization 
compatible with RI and some cosmetics.
   
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 

Re: [jira] Updated: (HARMONY-1208) Bug fixing and cosmetics for Harmony 935

2006-08-24 Thread Mikhail Loenko

Daniel

I've just noticed your message on the mailing list. Your arguments sound
reasonable, so I'll try to apply the patch

Thanks,
Mikhail

2006/8/25, Mikhail Loenko [EMAIL PROTECTED]:

2006/8/25, Daniel Fridlender (JIRA) [EMAIL PROTECTED]:
 [ http://issues.apache.org/jira/browse/HARMONY-1208?page=all ]

 Daniel Fridlender updated HARMONY-1208:
 ---

Attachment: tests.diff.zip

 The patch tests.diff to fix test cases.

Hi Daniel,

These test cases pass on RI, so it's not tests that must ve fixed.

Thanks,
Mikhail





  Bug fixing and cosmetics for Harmony 935
  
 
  Key: HARMONY-1208
  URL: http://issues.apache.org/jira/browse/HARMONY-1208
  Project: Harmony
   Issue Type: Improvement
 Reporter: Daniel Fridlender
  Assigned To: Mikhail Loenko
 Priority: Minor
  Attachments: MathDiff.diff.zip, smallNrsOpt_BugFix.diff.zip, 
tests.diff.zip, typos.diff.zip
 
 
  A patch to fix some bugs in Harmony 935, turn serialization compatible with 
RI and some cosmetics.

 --
 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: performance of drlvm

2006-08-24 Thread Mikhail Fursov

Qiong,
I think I need to read the whole bunch of articles of Chilimbi this
weekend before
to proceed with implementation.
What is the list of articles you can propose to read to anyone who want to
join this project?

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


2006/8/24, zouqiong [EMAIL PROTECTED]:

 Hi, Mikhail,

 1. As for the list 2, Chilimbi acutally use GC moving objects to improve
 the cache
 localty [Profile-guided Proactive Garbage Collection for Locality
 Optimization], but without
 his algorithm. I will read the paper again. His algorithm mainly focus
on
 applications in C
 or C++. Maybe we can make use of GC to imporve the effect of the
 algorithm.

 I made a mistake yesterday, Chilimbi actually investigate his algorithm
behavior when GC move
objects in memory. The paper Profile-guided Proactive Garbage Collection
for Locality Optimization
did so.
--
Best Regards,
Qiong,Zou





--
Mikhail Fursov


RE: svn commit: r436667 - /incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/SQLExceptionTest.java

2006-08-24 Thread Stepan Mishura

Can anybody explain me what is the problem with SQLExceptionTest.java?

I've updated it twice but there are no diffs in commit notifications. They
only say: Binary files /tmp/tmpn4i6Jh and /tmp/tmpCQUIda differ

The file has the following properties:
$svn proplist -v SQLExceptionTest.java
Properties on 'SQLExceptionTest.java':
 svn:eol-style : native

Thanks,
Stepan.



-Original Message-



From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]



Sent: Friday, August 25, 2006 12:33 PM



To: [EMAIL PROTECTED]



Subject: svn commit: r436667 -



/incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/ap



ache/harmony/sql/tests/java/sql/SQLExceptionTest.java







Author: smishura



Date: Thu Aug 24 22:32:55 2006



New Revision: 436667







URL: http://svn.apache.org/viewvc?rev=436667view=rev



Log:



Formatting







Modified:







incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apa



che/harmony/sql/tests/java/sql/SQLExceptionTest.java







Modified:



incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apa



che/harmony/sql/tests/java/sql/SQLExceptionTest.java



URL:



http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modu



les/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/SQLExceptionTes



t.java?rev=436667r1=43r2=436667view=diff



===



===



Binary files /tmp/tmpn4i6Jh and /tmp/tmpCQUIda differ


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