Opened 17 years ago

Closed 16 years ago

Last modified 48 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: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:

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 16 years ago by simonmar

Status: assignedclosed
Logged In: YES 
user_id=48280

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