Jeff Sturm wrote:

> For one thing, the gcj runtime doesn't distinguish native (CNI) and java
> code.  At the object level, they are the same.


OK.  Your point of view is really GCJ specific. My original point was 
effectively that CNI is not a "universal" native interface that could 
reasonably be expected from every "Classpath" compatible VM.

> ...
> The simplest thing to do (I'm guessing somewhat, nobody has written a
> copying collector for gcj that I'm aware of) is conservatively scan stacks
> and registers, pinning any objects that could possibly be referenced on
> the stack or by a register so they cannot be moved.


So, you're back suggesting to scan "conservatively" and pinning.  So, 
you agree that CNI is incompatible with precise collectors (at least, 
moving ones).

> It's a matter of portability.  Libgcj relies on help from the OS for
> threads, incremental GC, etc. so of course these features are not
> universally available.


Exactly my point.  CNI is GCJ specific.

I have nothing against CNI, or GCJ.  I am just trying to discuss the 
"real" goals of Classpath, and maybe put some pressure to resolve this 
important yet unresolved CNI/JNI issue.

It is my impression that by now, most people on this list, agree that 
this issue should be resolved simply keeping 2 separate native branches, 
one for JNI, and one for CNI.  Remains to decide if we want to put some 
rules on the synchronization of both trees.  Right?


Etienne

-- 
+--------------------------------------------------------------------+
| �tienne M. Gagnon                    mailto:[EMAIL PROTECTED] |
| Professeur adjoint            T�l�phone: (514) 987-3000 poste 8215 |
| Bureau: PK-4930                        T�l�copieur: (514) 987-8477 |
| D�partement d'informatique, UQ�M          http://www.info.uqam.ca/ |
| Auteur de SableVM                          http://www.sablevm.org/ |
| et de SableCC                              http://www.sablecc.org/ |
+--------------------------------------------------------------------+
| Etienne M. Gagnon                    mailto:[EMAIL PROTECTED] |
| Assistant Professor                Phone: (514) 987-3000 ext. 8215 |
| Office: PK-4930                                Fax: (514) 987-8477 |
| Department of Computer Science, UQAM      http://www.info.uqam.ca/ |
| Author of SableVM                          http://www.sablevm.org/ |
| and SableCC                                http://www.sablecc.org/ |
+--------------------------------------------------------------------+


_______________________________________________
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath

Reply via email to