Hi Todd,

In general if you see a division by SIZE_STACK_SLOT the values are in
terms of stack slots, if you see a division by sizeof(void *) they are
in terms of machine sized words, otherwise they are in bytes. For
FJIT_hdrInfo:

methodSize - bytes
methodFrame - machine word
methodArgsSize - bytes
methodJitGeneratedLocalsSize - bytes
prologSize - bytes
epilogSize - bytes

Thanks,

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 1:37 PM
To: [EMAIL PROTECTED]
Subject: Re: [DOTNET-ROTOR] FJIT_hdrInfo questions

What are the units for each of the fields.  Which are bytes and which
are in terms of "stack slots?"

Todd

> -----Original Message-----
> From: Discussion of the Rotor Shared Source CLI implementation
> [mailto:[EMAIL PROTECTED] Behalf Of Vladimir Fedorov
> Sent: Tuesday, November 18, 2003 12:53 PM
> To: [EMAIL PROTECTED]
> Subject: Re: [DOTNET-ROTOR] FJIT_hdrInfo questions
> 
> 
> 
> 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(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(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

Reply via email to