I am reading V8 sources for GC.
MemoryAllocator::AllocateChunk() explain MemoryChunk like below.
Is [Guard] for what?

  //
  // MemoryChunk layout:
  //
  //             Executable
  // +----------------------------+<- base aligned with 
MemoryChunk::kAlignment
  // |           Header           |
  // +----------------------------+<- base + CodePageGuardStartOffset
  // |           Guard            |
  // +----------------------------+<- area_start_
  // |           Area             |
  // +----------------------------+<- area_end_ (area_start + 
commit_area_size)
  // |   Committed but not used   |
  // +----------------------------+<- aligned at OS page boundary
  // | Reserved but not committed |
  // +----------------------------+<- aligned at OS page boundary
  // |           Guard            |
  // +----------------------------+<- base + chunk_size
  //
  //           Non-executable
  // +----------------------------+<- base aligned with 
MemoryChunk::kAlignment
  // |          Header            |
  // +----------------------------+<- area_start_ (base + 
kObjectStartOffset)
  // |           Area             |
  // +----------------------------+<- area_end_ (area_start + 
commit_area_size)
  // |  Committed but not used    |
  // +----------------------------+<- aligned at OS page boundary
  // | Reserved but not committed |
  // +----------------------------+<- base + chunk_size
  

Thank you.

-- 
-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to