Re: method calls and extra indirection

Rhys Weatherley <[email protected]>
Newsgroups gmane.comp.gnu.dotgnu.developer
Organization Southern Storm Software, Pty Ltd
Message-ID <[email protected]>
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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.