Re: FJIT_hdrInfo questions

Vladimir Fedorov <[email protected]>
Newsgroups gmane.comp.windows.devel.dotnet.rotor
Message-ID <B03C15E02DBE064B97200DE8A739ACE7D892D9@RED-MSG-32.redmond.corp.microsoft.com>
Hi Todd,

Here is a list of the members of FJIT_hdrInfo with short summaries. I
also attached a diagram which may help. It is actually a JPG file but I
had to change the extension to txt to get past the list filter.

size_t              methodSize;
>> Size of the method - includes all of the code generated for the
method

unsigned short      methodFrame; 
>> Size of the whole local method frame. It includes:

1) sizeof(prolog_data) (see IFJITCompiler.h)    
2) methodJitGeneratedLocalsSize(see below)
3) space for local variables
4) space for unaligned arguments

unsigned short      methodArgsSize; 
>> size of the arguments to the method. Depending on the calling
convention this amount may be popped of in the epilog.

unsigned short      methodJitGeneratedLocalsSize;
>> This the space used for storing the stack pointers of exception
handling frames. If there is no exception handling in the function this
space is just one dword for the sp if localloc (IL equivalent of alloca)
occurs. For more info see void FJit::setup()
    
unsigned char       prologSize;
>> All the code related to setting up the frame and zeroing the locals. 

unsigned char epilogSize;
>> All the code related to tearing down the frame.

The invariant is - if the following two conditions are true than the
code being executed maps to an IL opcode.

1) [current IP] > [base IP] + prologSize
2) [current IP] < [base IP] + methodSize - epilogSize

Vladimir

This posting is provided "AS IS" with no warranties, and confers no
rights.
-----Original Message-----
From: Discussion of the Rotor Shared Source CLI implementation
[mailto:[email protected]] On Behalf Of Anderson, Todd A
Sent: Tuesday, November 18, 2003 11:20 AM
To: [email protected]
Subject: [DOTNET-ROTOR] FJIT_hdrInfo questions

In the FJIT_hdrInfo structure, what are methodFrame
and methodJitGeneratedLocalsSize supposed to represent?
Also, is prologSize the code size of the prolog code
including reserving space for locals on the stack and
zeroing out that memory?

thanks,

Todd

===================================
This list is hosted by DevelopMentor(r)  http://www.develop.com
NEW! ASP.NET courses you may be interested in:

2 Days of ASP.NET, 29 Sept 2003, in Redmond
http://www.develop.com/courses/2daspdotnet

Guerrilla ASP.NET, 13 Oct 2003, in Boston
http://www.develop.com/courses/gaspdotnet

View archives and manage your subscription(s) at
http://discuss.develop.com

===================================
This list is hosted by DevelopMentor®  http://www.develop.com
NEW! ASP.NET courses you may be interested in:

2 Days of ASP.NET, 29 Sept 2003, in Redmond
http://www.develop.com/courses/2daspdotnet

Guerrilla ASP.NET, 13 Oct 2003, in Boston
http://www.develop.com/courses/gaspdotnet

View archives and manage your subscription(s) at http://discuss.develop.com
x86StackDiagramExt.txt (text/plain, 71.6 KB) - not displayed
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.