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