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