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

Side by Side Diff: src/arm/assembler-arm.h

Issue 258993002: Simplified CPU/CpuFeatures a bit. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 7 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 | « no previous file | src/arm/assembler-arm.cc » ('j') | src/arm/assembler-arm.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. 1 // Copyright (c) 1994-2006 Sun Microsystems Inc.
2 // All Rights Reserved. 2 // All Rights Reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions 5 // modification, are permitted provided that the following conditions
6 // are met: 6 // are met:
7 // 7 //
8 // - Redistributions of source code must retain the above copyright notice, 8 // - Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer. 9 // this list of conditions and the following disclaimer.
10 // 10 //
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 49
50 namespace v8 { 50 namespace v8 {
51 namespace internal { 51 namespace internal {
52 52
53 // CpuFeatures keeps track of which features are supported by the target CPU. 53 // CpuFeatures keeps track of which features are supported by the target CPU.
54 // Supported features must be enabled by a CpuFeatureScope before use. 54 // Supported features must be enabled by a CpuFeatureScope before use.
55 class CpuFeatures : public AllStatic { 55 class CpuFeatures : public AllStatic {
56 public: 56 public:
57 // Detect features of the target CPU. Set safe defaults if the serializer 57 // Detect features of the target CPU. Set safe defaults if the serializer
58 // is enabled (snapshots must be portable). 58 // is enabled (snapshots must be portable).
59 static void Probe(); 59 static void Probe(bool serializer_enabled);
60
61 // A special case for printing target and features, which we want to do
62 // before initializing the isolate
63 static void SetHintCreatingSnapshot();
64 static void ProbeWithoutIsolate();
65 60
66 // Display target use when compiling. 61 // Display target use when compiling.
67 static void PrintTarget(); 62 static void PrintTarget();
68 63
69 // Display features. 64 // Display features.
70 static void PrintFeatures(); 65 static void PrintFeatures();
71 66
72 // Check whether a feature is supported by the target CPU. 67 // Check whether a feature is supported by the target CPU.
73 static bool IsSupported(CpuFeature f) { 68 static bool IsSupported(CpuFeature f) {
74 ASSERT(initialized_); 69 ASSERT(initialized_);
(...skipping 16 matching lines...) Expand all
91 static bool VerifyCrossCompiling() { 86 static bool VerifyCrossCompiling() {
92 return cross_compile_ == 0; 87 return cross_compile_ == 0;
93 } 88 }
94 89
95 static bool VerifyCrossCompiling(CpuFeature f) { 90 static bool VerifyCrossCompiling(CpuFeature f) {
96 unsigned mask = flag2set(f); 91 unsigned mask = flag2set(f);
97 return cross_compile_ == 0 || 92 return cross_compile_ == 0 ||
98 (cross_compile_ & mask) == mask; 93 (cross_compile_ & mask) == mask;
99 } 94 }
100 95
96 static bool SupportsCrankshaft() { return CpuFeatures::IsSupported(VFP3); }
97
101 private: 98 private:
102 static void Probe(bool serializer_enabled);
103 static bool hint_creating_snapshot_;
104
105 static bool Check(CpuFeature f, unsigned set) { 99 static bool Check(CpuFeature f, unsigned set) {
106 return (set & flag2set(f)) != 0; 100 return (set & flag2set(f)) != 0;
107 } 101 }
108 102
109 static unsigned flag2set(CpuFeature f) { 103 static unsigned flag2set(CpuFeature f) {
110 return 1u << f; 104 return 1u << f;
111 } 105 }
112 106
113 #ifdef DEBUG 107 #ifdef DEBUG
114 static bool initialized_; 108 static bool initialized_;
(...skipping 1582 matching lines...) Expand 10 before | Expand all | Expand 10 after
1697 public: 1691 public:
1698 explicit EnsureSpace(Assembler* assembler) { 1692 explicit EnsureSpace(Assembler* assembler) {
1699 assembler->CheckBuffer(); 1693 assembler->CheckBuffer();
1700 } 1694 }
1701 }; 1695 };
1702 1696
1703 1697
1704 } } // namespace v8::internal 1698 } } // namespace v8::internal
1705 1699
1706 #endif // V8_ARM_ASSEMBLER_ARM_H_ 1700 #endif // V8_ARM_ASSEMBLER_ARM_H_
OLDNEW
« no previous file with comments | « no previous file | src/arm/assembler-arm.cc » ('j') | src/arm/assembler-arm.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698