Opened 14 years ago

Closed 12 years ago

Last modified 44 years ago

#496 closed bug (Fixed)

Allocating more than BLOCK_SIZE bytes of memory fails

Reported by: simonmar Owned by: simonmar
Priority: normal Milestone:
Component: Runtime System Version: None
Keywords: Cc:
Operating System: Architecture:
Type of failure: Difficulty:
Test Case: Blocked By:
Blocking: Related Tickets:

Description

The compiler cannot generate code that allocates more than BLOCK_SIZE bytes in one go.  At the moment, the compiler will panic in the code generator if it finds itself trying to generate code with an oversized heap request in it.

There's no easy fix for this one: splitting up the allocation in the compiler is hard if not impossible (splitting up a recursive allocation can't be done).  Even if we allowed the thread to allocate into a large block, the garbage collector can't cope with large blocks containing small objects, and objects that don't start at the beginning of the large block.

Change History (1)

comment:1 Changed 12 years ago by simonmar

  • Status changed from assigned to closed
Logged In: YES 
user_id=48280

Fixed (finally!)
Note: See TracTickets for help on using tickets.