Opened 13 years ago

Closed 13 years ago

#37 closed enhancement (fixed)

Implement MAP_32BIT

Reported by: john Owned by: john
Priority: major Component: kernel
Version: Keywords: vm
Cc: Blocked By:
Blocking: Parent Tickets:
P4 Branch: GIT Branch:
FreeBSD PR: Due Date:

Description

On 14 Aug 2013, at 13:21, John Baldwin <jhb@freebsd.org> wrote:

> On Wednesday, August 14, 2013 4:23:11 am David Chisnall wrote:
>> On 13 Aug 2013, at 21:57, Jilles Tjoelker <jilles@stack.nl> wrote:
>> 
>>> Given that JIT is for performance and larger addresses increase code
>>> size and register pressure, the mmap() flag is probably useful.
>>> Alternatively, all the JITted code could be placed in one block and use
>>> relative addressing.
>> 
>> This would be a good thing to have in for 10.0, as the LLVM 3.4 JIT will
>> require it unless someone wants to contribute support for the large code
>> model...
> 
> So you just need a flag to cap the virtual address at 2GB?  Do you think we
> need an arbitrary address flag for this, or is a hardcoded 2GB flag ok?
> 
> Linux has a MAP_32BIT that does what you want I think.

Yes, MAP_32BIT is used on Linux to solve this.

David

Change History (3)

comment:1 Changed 13 years ago by john

  • Owner set to john
  • Status changed from new to accepted

comment:2 Changed 13 years ago by john

Sent a simple proof of concept to Alan that he ok'd, now need to clean it up and test it.

comment:3 Changed 13 years ago by john

  • Resolution set to fixed
  • Status changed from accepted to closed

Changes committed in r255426

Note: See TracTickets for help on using tickets.