Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1190)

Side by Side Diff: src/platform-solaris.cc

Issue 153773002: A64: Synchronize with r16679. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/platform-posix.cc ('k') | src/platform-win32.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 97
98 98
99 void* OS::Allocate(const size_t requested, 99 void* OS::Allocate(const size_t requested,
100 size_t* allocated, 100 size_t* allocated,
101 bool is_executable) { 101 bool is_executable) {
102 const size_t msize = RoundUp(requested, getpagesize()); 102 const size_t msize = RoundUp(requested, getpagesize());
103 int prot = PROT_READ | PROT_WRITE | (is_executable ? PROT_EXEC : 0); 103 int prot = PROT_READ | PROT_WRITE | (is_executable ? PROT_EXEC : 0);
104 void* mbase = mmap(NULL, msize, prot, MAP_PRIVATE | MAP_ANON, -1, 0); 104 void* mbase = mmap(NULL, msize, prot, MAP_PRIVATE | MAP_ANON, -1, 0);
105 105
106 if (mbase == MAP_FAILED) { 106 if (mbase == MAP_FAILED) {
107 LOG(ISOLATE, StringEvent("OS::Allocate", "mmap failed")); 107 LOG(Isolate::Current(), StringEvent("OS::Allocate", "mmap failed"));
108 return NULL; 108 return NULL;
109 } 109 }
110 *allocated = msize; 110 *allocated = msize;
111 return mbase; 111 return mbase;
112 } 112 }
113 113
114 114
115 void OS::DumpBacktrace() { 115 void OS::DumpBacktrace() {
116 // Currently unsupported. 116 // Currently unsupported.
117 } 117 }
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 return new PosixMemoryMappedFile(file, memory, size); 158 return new PosixMemoryMappedFile(file, memory, size);
159 } 159 }
160 160
161 161
162 PosixMemoryMappedFile::~PosixMemoryMappedFile() { 162 PosixMemoryMappedFile::~PosixMemoryMappedFile() {
163 if (memory_) munmap(memory_, size_); 163 if (memory_) munmap(memory_, size_);
164 fclose(file_); 164 fclose(file_);
165 } 165 }
166 166
167 167
168 void OS::LogSharedLibraryAddresses() { 168 void OS::LogSharedLibraryAddresses(Isolate* isolate) {
169 } 169 }
170 170
171 171
172 void OS::SignalCodeMovingGC() { 172 void OS::SignalCodeMovingGC() {
173 } 173 }
174 174
175 175
176 struct StackWalker { 176 struct StackWalker {
177 Vector<OS::StackFrame>& frames; 177 Vector<OS::StackFrame>& frames;
178 int index; 178 int index;
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 bool VirtualMemory::ReleaseRegion(void* base, size_t size) { 354 bool VirtualMemory::ReleaseRegion(void* base, size_t size) {
355 return munmap(base, size) == 0; 355 return munmap(base, size) == 0;
356 } 356 }
357 357
358 358
359 bool VirtualMemory::HasLazyCommits() { 359 bool VirtualMemory::HasLazyCommits() {
360 // TODO(alph): implement for the platform. 360 // TODO(alph): implement for the platform.
361 return false; 361 return false;
362 } 362 }
363 363
364
365 void OS::SetUp() {
366 // Seed the random number generator.
367 // Convert the current time to a 64-bit integer first, before converting it
368 // to an unsigned. Going directly will cause an overflow and the seed to be
369 // set to all ones. The seed will be identical for different instances that
370 // call this setup code within the same millisecond.
371 uint64_t seed = static_cast<uint64_t>(TimeCurrentMillis());
372 srandom(static_cast<unsigned int>(seed));
373 }
374
375
376 } } // namespace v8::internal 364 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/platform-posix.cc ('k') | src/platform-win32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698