Mercurial > hg > graal-jvmci-8
comparison src/os/linux/vm/os_linux.cpp @ 5909:9eaf473fff9b
7142641: -Xshared:on fails on ARM
Summary: map read-only pages MAP_PRIVATE instead of MAP_SHARED
Reviewed-by: dcubed, dholmes
Contributed-by: dean.long@oracle.com
author | dlong |
---|---|
date | Wed, 29 Feb 2012 12:58:49 -0500 |
parents | de268c8a8075 |
children | cf956638b844 |
comparison
equal
deleted
inserted
replaced
4966:701a83c86f28 | 5909:9eaf473fff9b |
---|---|
4688 // Map a block of memory. | 4688 // Map a block of memory. |
4689 char* os::map_memory(int fd, const char* file_name, size_t file_offset, | 4689 char* os::map_memory(int fd, const char* file_name, size_t file_offset, |
4690 char *addr, size_t bytes, bool read_only, | 4690 char *addr, size_t bytes, bool read_only, |
4691 bool allow_exec) { | 4691 bool allow_exec) { |
4692 int prot; | 4692 int prot; |
4693 int flags; | 4693 int flags = MAP_PRIVATE; |
4694 | 4694 |
4695 if (read_only) { | 4695 if (read_only) { |
4696 prot = PROT_READ; | 4696 prot = PROT_READ; |
4697 flags = MAP_SHARED; | |
4698 } else { | 4697 } else { |
4699 prot = PROT_READ | PROT_WRITE; | 4698 prot = PROT_READ | PROT_WRITE; |
4700 flags = MAP_PRIVATE; | |
4701 } | 4699 } |
4702 | 4700 |
4703 if (allow_exec) { | 4701 if (allow_exec) { |
4704 prot |= PROT_EXEC; | 4702 prot |= PROT_EXEC; |
4705 } | 4703 } |