Re: CVS write access

Date view Thread view Subject view Author view

From: Alexandre Oliva (oliva@dcc.unicamp.br)
Date: Tue Oct 27 1998 - 00:21:18 EST


Tim Wilkinson <tim@transvirtual.com> writes:

> CVSROOT=:pserver:oliva@cvs.transvirtual.com:/home/cvspublic

> Sorry, I assumed you had this setup for readonly access already.

I did, but I couldn't guess that /home/cvspublic was not used for
anonymous access only. It's working beautifully. Can I install the
attached patches I've submitted some time ago myself? What's the
policy for installing patches, should they be submitted to the mailing
list first for previous approval or something like that?

BTW, do you remember that suggestion of mine about unrolling loops in
order to try to avoid array access checks. When I came back to
Brazil, I saw we had received a bunch of new technical reports from
IBM, and one of them, related to that topic, seems quite interesting,
although I haven't read it yet:

Optimizing Array Reference Checking in Java Programs
Samuel P. Midkiff, José E. Moreira, Marc Snir (IBM)
{midkiff,moreira,snir}@watson.ibm.com
RC 21184 (94652) 05/18/98

Abstract: [sorry for the typos, I've just typed it] The Java language
specification requires that all array references be checked for
validity. If a reference is invalid, an exception must be thrown.
Furthermore, the environment at the time of the exception must be
preserved and made available to whatever code handles the exception.
Performing the checks at run-time incurs a large penalty in execution
time. In this document we describe a collection of transformations
that can dramatically reduce this overhead in the common case (when
the access is valid) while preserving the program state at the time of
an exception. The transformations allow trade-offs to be made in the
efficiency and size of the resulting code, and are fully compliant
with the Java language semantics. Preliminary evaluation of the
effectiveness of these transformations show that performance
improvements of 10 times and more can be achieved for array-intensive
Java programs.

While I'm at it, I'm taking a course on compilers, and the professor
suggested some research papers as a starting point for studies for a
presentation in the end of the semester. One of them sounded very
interesting for Kaffe:

Linear Scan Register Allocation
Vivek Sarkar <vivek@watson.ibm.com>, Massimiliano Poletto <maxp@lcs.mit.edu>
RC 21128 (94466) 12MAR98

Abstract: WE describe a new algorithm for fast global register
allocation called linear scan. this algorithm is not based on graph
coloring, but allocates registers to variables in a single linear-time
scan of the variables' live ranges. The linear scan algorithm is
several times faster than algorithms based on graph coloring, is
simple to implement, and results in code that is almost as efficient
as that obtained using more complex and itme-consuming register
allocators based on graph coloring. The linear scan algorithm is
therefore of interest in applications where compile time is a concern,
such as dynamic compilation systems, ``just-in-time'' compilers, and
interactive development environments.

Both papers are said to have been submitted for publication outside of
IBM and may be copyrighted if accepted for publication. However, some
may be available at
http://domino.watson.ibm.com/library/CyberDig.nsf/home

Paper copies may be requested from:

IBM T.J. Watson Research Center
Publications Office, 16-220
Post Office Box 218
Yorktown Heights, New York 10598

I'm a bit unsure about which of these I'm going to select for my
presentation, but I think there won't be time for input from you, as
I've got to make my choice in the next 8 hours :-)

-- 
Alexandre Oliva
mailto:oliva@dcc.unicamp.br mailto:oliva@gnu.org mailto:aoliva@acm.org
http://www.dcc.unicamp.br/~oliva
Universidade Estadual de Campinas, SP, Brasil



--DAA18524.909465686/grande.dcc.unicamp.br--


Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Sat Sep 23 2000 - 19:57:01 EDT