212 |
ILNativeFloat nativeFloat; |
ILNativeFloat nativeFloat; |
213 |
CVMWord *words; |
CVMWord *words; |
214 |
ILUInt32 size; |
ILUInt32 size; |
|
CVMWord *ptr; |
|
215 |
|
|
216 |
/* Push the "this" pointer if necessary */ |
/* Push the "this" pointer if necessary */ |
217 |
if(ILType_HasThis(signature)) |
if(ILType_HasThis(signature)) |
239 |
words = params->words; |
words = params->words; |
240 |
for(paramNum = 1; paramNum <= numParams; ++paramNum) |
for(paramNum = 1; paramNum <= numParams; ++paramNum) |
241 |
{ |
{ |
242 |
|
void *ptr; |
243 |
|
|
244 |
type = ILTypeGetParam(signature, paramNum); |
type = ILTypeGetParam(signature, paramNum); |
245 |
if(type == ILType_Float32) |
if(type == ILType_Float32) |
246 |
{ |
{ |
247 |
nativeFloat = (ILNativeFloat)(*((ILFloat *)words)); |
nativeFloat = (ILNativeFloat)(*((ILFloat *)words)); |
248 |
ptr = (CVMWord *)&nativeFloat; |
ptr = (void *)&nativeFloat; |
249 |
size = CVM_WORDS_PER_NATIVE_FLOAT; |
size = CVM_WORDS_PER_NATIVE_FLOAT; |
250 |
} |
} |
251 |
else if(type == ILType_Float64) |
else if(type == ILType_Float64) |
252 |
{ |
{ |
253 |
nativeFloat = (ILNativeFloat)DelegateReadDouble(words); |
nativeFloat = (ILNativeFloat)DelegateReadDouble(words); |
254 |
ptr = (CVMWord *)&nativeFloat; |
ptr = (void *)&nativeFloat; |
255 |
size = CVM_WORDS_PER_NATIVE_FLOAT; |
size = CVM_WORDS_PER_NATIVE_FLOAT; |
256 |
} |
} |
257 |
else |
else |
258 |
{ |
{ |
259 |
ptr = words; |
ptr = (void *)words; |
260 |
size = ((ILSizeOfType(thread, type) + sizeof(CVMWord) - 1) |
size = ((ILSizeOfType(thread, type) + sizeof(CVMWord) - 1) |
261 |
/ sizeof(CVMWord)); |
/ sizeof(CVMWord)); |
262 |
} |
} |