!IF DEFINED(PLATFORM)
LINK_FLAGS = /nologo shell32.lib
-CL_FLAGS = /nologo /O2 /W3 /D_CRT_SECURE_NO_WARNINGS
+CL_FLAGS = /nologo /O2 /WX /W3 /D_CRT_SECURE_NO_WARNINGS
!IF DEFINED(DEBUG)
LINK_FLAGS = $(LINK_FLAGS) /DEBUG
USING: tools.disassembler.udis tools.test alien.c-types system combinators kernel ;
{
- { [ cpu x86.32? ] [ [ 604 ] [ ud heap-size ] unit-test ] }
+ {
+ [ cpu x86.32? ]
+ [
+ os windows?
+ [ [ 624 ] [ ud heap-size ] unit-test ]
+ [ [ 604 ] [ ud heap-size ] unit-test ] if
+ ]
+ }
{ [ cpu x86.64? ] [ [ 672 ] [ ud heap-size ] unit-test ] }
[ ]
} cond
\ No newline at end of file
{
cell base = info->scrub_d_base(index);
- for(cell loc = 0; loc < info->scrub_d_count; loc++)
+ for(int loc = 0; loc < info->scrub_d_count; loc++)
{
if(bitmap_p(bitmap,base + loc))
{
#ifdef DEBUG_GC_MAPS
std::cout << "scrubbing datastack location " << loc << std::endl;
#endif
- ((cell *)datastack)[-loc] = 0;
+ *((cell *)datastack - loc) = 0;
}
}
}
{
cell base = info->scrub_r_base(index);
- for(cell loc = 0; loc < info->scrub_r_count; loc++)
+ for(int loc = 0; loc < info->scrub_r_count; loc++)
{
if(bitmap_p(bitmap,base + loc))
{
#ifdef DEBUG_GC_MAPS
std::cout << "scrubbing retainstack location " << loc << std::endl;
#endif
- ((cell *)retainstack)[-loc] = 0;
+ *((cell *)retainstack - loc) = 0;
}
}
}
{
u32 *return_address_array = return_addresses();
- for(cell i = 0; i < return_address_count; i++)
+ for(int i = 0; i < return_address_count; i++)
{
if(return_address == return_address_array[i])
return i;
{
struct gc_info {
- u32 scrub_d_count;
- u32 scrub_r_count;
- u32 gc_root_count;
- u32 return_address_count;
+ int scrub_d_count;
+ int scrub_r_count;
+ int gc_root_count;
+ int return_address_count;
cell total_bitmap_size()
{
cell base = info->spill_slot_base(index);
cell *stack_pointer = (cell *)(parent->frame_successor(frame) + 1);
- for(cell spill_slot = 0; spill_slot < info->gc_root_count; spill_slot++)
+ for(int spill_slot = 0; spill_slot < info->gc_root_count; spill_slot++)
{
if(bitmap_p(bitmap,base + spill_slot))
{
#ifdef DEBUG_GC_MAPS
std::cout << "visiting spill slot " << spill_slot << std::endl;
#endif
- visitor->visit_handle(&stack_pointer[spill_slot]);
+ visitor->visit_handle(stack_pointer + spill_slot);
}
}
}