OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 srandom(static_cast<unsigned int>(seed)); | 81 srandom(static_cast<unsigned int>(seed)); |
82 } | 82 } |
83 | 83 |
84 | 84 |
85 double OS::nan_value() { | 85 double OS::nan_value() { |
86 return NAN; | 86 return NAN; |
87 } | 87 } |
88 | 88 |
89 | 89 |
90 int OS::ActivationFrameAlignment() { | 90 int OS::ActivationFrameAlignment() { |
91 // Floating point code runs faster if the stack is 8-byte aligned. | 91 #ifdef V8_TARGET_ARCH_ARM |
92 // On EABI ARM targets this is required for fp correctness in the | 92 // On EABI ARM targets this is required for fp correctness in the |
93 // runtime system. | 93 // runtime system. |
94 return 8; | 94 return 8; |
| 95 #else |
| 96 // With gcc 4.4 the tree vectorization optimiser can generate code |
| 97 // that requires 16 byte alignment such as movdqa on x86. |
| 98 return 16; |
| 99 #endif |
95 } | 100 } |
96 | 101 |
97 | 102 |
98 // We keep the lowest and highest addresses mapped as a quick way of | 103 // We keep the lowest and highest addresses mapped as a quick way of |
99 // determining that pointers are outside the heap (used mostly in assertions | 104 // determining that pointers are outside the heap (used mostly in assertions |
100 // and verification). The estimate is conservative, ie, not all addresses in | 105 // and verification). The estimate is conservative, ie, not all addresses in |
101 // 'allocated' space are actually allocated to our heap. The range is | 106 // 'allocated' space are actually allocated to our heap. The range is |
102 // [lowest, highest), inclusive on the low and and exclusive on the high end. | 107 // [lowest, highest), inclusive on the low and and exclusive on the high end. |
103 static void* lowest_ever_allocated = reinterpret_cast<void*>(-1); | 108 static void* lowest_ever_allocated = reinterpret_cast<void*>(-1); |
104 static void* highest_ever_allocated = reinterpret_cast<void*>(0); | 109 static void* highest_ever_allocated = reinterpret_cast<void*>(0); |
(...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
691 } | 696 } |
692 | 697 |
693 // This sampler is no longer the active sampler. | 698 // This sampler is no longer the active sampler. |
694 active_sampler_ = NULL; | 699 active_sampler_ = NULL; |
695 active_ = false; | 700 active_ = false; |
696 } | 701 } |
697 | 702 |
698 #endif // ENABLE_LOGGING_AND_PROFILING | 703 #endif // ENABLE_LOGGING_AND_PROFILING |
699 | 704 |
700 } } // namespace v8::internal | 705 } } // namespace v8::internal |
OLD | NEW |