When FJIT generates the code for a call, FJIT appears to check whether the method has a value-type return value and if so checks to see which portions of the value type contain references (FJIT.cpp::2520 => jitInfo->getClassGClayout(sigInfo->retTypeClass,gcInfo)). FJIT then appears to use the contents of gcInfo to determine which parts of the return buffer to zero out so that the GC won't believe there is a valid reference there. My question is, why not just zero out the whole return buffer and save the work of determining where the pointers are? If for some reason I wanted to skip checking the location of the pointers and zero out the whole return buffer would this cause any correctness problems or is it purely a performance issue?
thanks, Todd =================================== 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