PlanetJava
Custom Search

java-jikes-rvm-devel
[Top] [All Lists]

subroutine call from IA32 assembler (fwd)

Subject: subroutine call from IA32 assembler (fwd)
Date: Tue, 30 Jul 2002 10:41:19 +0300 (IDT)
I'm forwarding this question again, as I didn't get any reply for it and
it's important for the performance of my write barrier implementation.
--Hezi.
---------- Forwarded message ----------
Date: Wed, 24 Jul 2002 09:36:47 +0300 (IDT)
From: Hezi Azatchi <[email protected]>
Reply-To: [email protected]
To: [email protected]
Subject: [Jikesrvm-researchers] subroutine call from IA32 assembler
I wrote a write barrier in IA32 assembler which looks similar to that:
...
 if T0==0
    jmp A
 else
    jmp END
 A:
(relatively length) PIECE OF CODE
END:
My Problem: The whole above code is emitted in every aastore that appears
in the compiled code although only part of the cases need to execute the
relatively lengthy "PIECE OF CODE" (these cases will be known only in runtime 
of course).
Can I save part of the code emission at compile time by using jump to
assembler subroutine construct?
How can I calculate the address of the bytecode I want to jump without
emitting it?, i.e., How can I calculate the immediate that represent the
address of the bytecode I should jump to.
(I saw the bTarget/mTarget construct in the VM_Compiler, but still didn't
understand how to use it).
msgmiddle
<Prev in Thread] Current Thread [Next in Thread>
  • subroutine call from IA32 assembler (fwd),
Current Sitemap | © 2012 planetjava | Contact | Privacy Policy