[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [DotGNU]method calls and extra indirection
From: |
Rhys Weatherley |
Subject: |
Re: [DotGNU]method calls and extra indirection |
Date: |
Thu, 1 Apr 2004 09:15:31 +1000 |
User-agent: |
KMail/1.4.3 |
On Thursday 01 April 2004 03:18 am, Gomi Kapoor wrote:
> While converting the CIL code of A to CVM, the calls
> to B and C would be converted to call_extern (since B
> and C are not yet translated into CVM).
The "call_extern" opcode hasn't been used since pnet 0.3.6 (released in May
2002). What version are you looking at? In version 0.3.8, "call" and
"call_extern" were collapsed into a single opcode named "call" and the
instruction was streamlined to reduce its overhead.
I think I did this because of threading: there is no thread-safe way to
back-patch a "call_extern" to turn it into "call", without running the risk
that another thread will get a corrupted instruction during the modification.
I have since avoided back-patching as a solution.
> And a general question:
> What are the tools you generally use to read the code?
> (Sorry, I am a relatively new to Linux and feeling a
> bit cumbersome to statically read through the code.
> I tried debugging but with lots of macros in pnet, it
> is becoming quite difficult to debug)
There are a number of IDE's and graphical debuggers around (search on
freshmeat.net). Every pnet developer uses a different one, so I suggest that
you try a few and see which one suits you best. The file
"pnet/engine/HACKING" also contains some tips on debugging the engine.
Cheers,
Rhys.