currentTime() on ultra-lame systems

Aaron Harsh ajh at
Mon Mar 9 03:21:45 PST 1998

I've started porting kaffe to our Sequent.  I guess that means you'll 
be hearing a lot from me in the near future.  Hopefully not every one 
of my questions will start a flame war.

Neither the interpreter nor the JIT (x86) run out of the box.  The 
interpreter looked easier to debug, so I'm tackling it first.  Please 
let me know if I'm just fooling myself about the JIT being difficult 
to debug.

Anyway, the first problem was that HelloWorldApp wouldn't run (javac 
wouldn't either, so I compiled on another machine).  I turned 
debugging on in machine.c and got output that looked something like 

  Call to method java/lang/System.<clinit>()V.
    ARG 0-1: 47
  Call to method
  ARG 0-1: 34 
  Call to native java/lang/System.currentTimeMillis()J.
  003: LCONST_0
  004: LCMP 
  - stack 0: long 0
  - stack 2: long 0 
  005: IFLE  
    ARG 0-1: 5 
  - stack 0: int 0  
  010: NEW 
    ARG 0-1: 11
  013: DUP 
    ARG 0-1: 19  
  - stack 0: ref 8F460 
  Call to method java/lang/NullPointerException.<init>()V.
  000: ALOAD_0

with things going downhill from here (eventually ending with an 
assertion failure and a core dump).

Our Sequent's pretty lame, and doesn't have any way that kaffe (or I) 
could figure out to get millisecond timing [1], so the currentTime 
function in support.c just returned 0.  Making currentTime return 1 
fixes this problem, but this begs a couple questions:

- Why is nullInputStream even checking this?

- Should currentTime return (time(0) * 1000) rather than 0 on 
ultra-lame systems?

- Why does this cause a null pointer exception in the first place? 
Does anyone have any thoughts off the top head?  In particular, is 
the NullPointerException the normal case (and my system's just 
handling exceptions improperly), or does it indicate some other 

[1] I should say that in COFF compatibility mode there's no way to 
get millisecond timing.  If I didn't want to link with third-party 
COFF libraries our Sequent would instantly lose it's ultra-lame 

Thanks in advance for your help

Aaron Harsh               ajh at                 (503)284-7581 x347
Las opiniones aqui expresadas son exclusivamente personales y no representan
las opiniones del Rentrak Home Entertainment, a menos que se especifique
explicitamente lo contrario.

More information about the kaffe mailing list