Added vm passing to inline_cache_miss x86.32 asm

Phil Dawes 2009-09-04 21:11:13 +01:00
parent 644adc42b6
commit dd1cf25093
3 changed files with 8 additions and 6 deletions

View File

@ -49,13 +49,14 @@ DEF(long long,read_timestamp_counter,(void)):
rdtsc rdtsc
ret ret
DEF(void,primitive_inline_cache_miss,(void)): DEF(void,primitive_inline_cache_miss,(void *vm)):
mov (%esp),%ebx mov (%esp),%ebx
DEF(void,primitive_inline_cache_miss_tail,(void)): DEF(void,primitive_inline_cache_miss_tail,(void *vm)):
sub $8,%esp sub $8,%esp
push %eax /* push vm ptr */
push %ebx push %ebx
call MANGLE(inline_cache_miss) call MANGLE(inline_cache_miss)
add $12,%esp add $16,%esp
jmp *%eax jmp *%eax
DEF(void,get_sse_env,(void*)): DEF(void,get_sse_env,(void*)):

View File

@ -245,9 +245,10 @@ void *factorvm::inline_cache_miss(cell return_address)
return xt; return xt;
} }
VM_C_API void *inline_cache_miss(cell return_address) VM_C_API void *inline_cache_miss(cell return_address, factorvm *myvm)
{ {
return vm->inline_cache_miss(return_address); ASSERTVM();
return VM_PTR->inline_cache_miss(return_address);
} }

View File

@ -5,6 +5,6 @@ PRIMITIVE(inline_cache_stats);
PRIMITIVE(inline_cache_miss); PRIMITIVE(inline_cache_miss);
PRIMITIVE(inline_cache_miss_tail); PRIMITIVE(inline_cache_miss_tail);
VM_C_API void *inline_cache_miss(cell return_address); VM_C_API void *inline_cache_miss(cell return_address, factorvm *vm);
} }