moved global state from inline_cache into vm
parent
498b1917dc
commit
839491a828
|
@ -19,7 +19,6 @@ void init_objects(image_header *h)
|
||||||
return vm->init_objects(h);
|
return vm->init_objects(h);
|
||||||
}
|
}
|
||||||
|
|
||||||
cell data_relocation_base;
|
|
||||||
|
|
||||||
void factorvm::load_data_heap(FILE *file, image_header *h, vm_parameters *p)
|
void factorvm::load_data_heap(FILE *file, image_header *h, vm_parameters *p)
|
||||||
{
|
{
|
||||||
|
@ -59,7 +58,6 @@ void load_data_heap(FILE *file, image_header *h, vm_parameters *p)
|
||||||
return vm->load_data_heap(file,h,p);
|
return vm->load_data_heap(file,h,p);
|
||||||
}
|
}
|
||||||
|
|
||||||
cell code_relocation_base;
|
|
||||||
|
|
||||||
void factorvm::load_code_heap(FILE *file, image_header *h, vm_parameters *p)
|
void factorvm::load_code_heap(FILE *file, image_header *h, vm_parameters *p)
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,14 +3,6 @@
|
||||||
namespace factor
|
namespace factor
|
||||||
{
|
{
|
||||||
|
|
||||||
cell max_pic_size;
|
|
||||||
|
|
||||||
cell cold_call_to_ic_transitions;
|
|
||||||
cell ic_to_pic_transitions;
|
|
||||||
cell pic_to_mega_transitions;
|
|
||||||
|
|
||||||
/* PIC_TAG, PIC_HI_TAG, PIC_TUPLE, PIC_HI_TAG_TUPLE */
|
|
||||||
cell pic_counts[4];
|
|
||||||
|
|
||||||
void factorvm::init_inline_caching(int max_size)
|
void factorvm::init_inline_caching(int max_size)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
namespace factor
|
namespace factor
|
||||||
{
|
{
|
||||||
|
|
||||||
extern cell max_pic_size;
|
|
||||||
|
|
||||||
void init_inline_caching(int max_size);
|
void init_inline_caching(int max_size);
|
||||||
|
|
||||||
PRIMITIVE(reset_inline_cache_stats);
|
PRIMITIVE(reset_inline_cache_stats);
|
||||||
|
|
|
@ -489,6 +489,8 @@ struct factorvm {
|
||||||
void compact_code_heap();
|
void compact_code_heap();
|
||||||
|
|
||||||
//image
|
//image
|
||||||
|
cell code_relocation_base;
|
||||||
|
cell data_relocation_base;
|
||||||
void init_objects(image_header *h);
|
void init_objects(image_header *h);
|
||||||
void load_data_heap(FILE *file, image_header *h, vm_parameters *p);
|
void load_data_heap(FILE *file, image_header *h, vm_parameters *p);
|
||||||
void load_code_heap(FILE *file, image_header *h, vm_parameters *p);
|
void load_code_heap(FILE *file, image_header *h, vm_parameters *p);
|
||||||
|
@ -578,6 +580,11 @@ struct factorvm {
|
||||||
inline void vmprim_dispatch_stats();
|
inline void vmprim_dispatch_stats();
|
||||||
|
|
||||||
//inline cache
|
//inline cache
|
||||||
|
cell max_pic_size;
|
||||||
|
cell cold_call_to_ic_transitions;
|
||||||
|
cell ic_to_pic_transitions;
|
||||||
|
cell pic_to_mega_transitions;
|
||||||
|
cell pic_counts[4]; /* PIC_TAG, PIC_HI_TAG, PIC_TUPLE, PIC_HI_TAG_TUPLE */
|
||||||
void init_inline_caching(int max_size);
|
void init_inline_caching(int max_size);
|
||||||
void deallocate_inline_cache(cell return_address);
|
void deallocate_inline_cache(cell return_address);
|
||||||
cell determine_inline_cache_type(array *cache_entries);
|
cell determine_inline_cache_type(array *cache_entries);
|
||||||
|
|
Loading…
Reference in New Issue