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

Side by Side Diff: src/assembler.cc

Issue 23523060: Add a mechanism to override the detected cpu features. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 3 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/assembler.h ('k') | src/ia32/assembler-ia32.h » ('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 (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 are 5 // modification, are permitted provided that the following conditions are
6 // met: 6 // 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 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 } 200 }
201 201
202 202
203 CpuFeatureScope::~CpuFeatureScope() { 203 CpuFeatureScope::~CpuFeatureScope() {
204 assembler_->set_enabled_cpu_features(old_enabled_); 204 assembler_->set_enabled_cpu_features(old_enabled_);
205 } 205 }
206 #endif 206 #endif
207 207
208 208
209 // ----------------------------------------------------------------------------- 209 // -----------------------------------------------------------------------------
210 // Implementation of PlatformFeatureScope
211
212 PlatformFeatureScope::PlatformFeatureScope(CpuFeature f)
213 : old_supported_(CpuFeatures::supported_),
214 old_found_by_runtime_probing_only_(
215 CpuFeatures::found_by_runtime_probing_only_) {
216 uint64_t mask = static_cast<uint64_t>(1) << f;
217 CpuFeatures::supported_ |= mask;
218 CpuFeatures::found_by_runtime_probing_only_ &= ~mask;
219 }
220
221
222 PlatformFeatureScope::~PlatformFeatureScope() {
223 CpuFeatures::supported_ = old_supported_;
224 CpuFeatures::found_by_runtime_probing_only_ =
225 old_found_by_runtime_probing_only_;
226 }
227
228
229 // -----------------------------------------------------------------------------
210 // Implementation of Label 230 // Implementation of Label
211 231
212 int Label::pos() const { 232 int Label::pos() const {
213 if (pos_ < 0) return -pos_ - 1; 233 if (pos_ < 0) return -pos_ - 1;
214 if (pos_ > 0) return pos_ - 1; 234 if (pos_ > 0) return pos_ - 1;
215 UNREACHABLE(); 235 UNREACHABLE();
216 return 0; 236 return 0;
217 } 237 }
218 238
219 239
(...skipping 1456 matching lines...) Expand 10 before | Expand all | Expand 10 after
1676 assembler_->RecordRelocInfo(RelocInfo::POSITION, state_.current_position); 1696 assembler_->RecordRelocInfo(RelocInfo::POSITION, state_.current_position);
1677 state_.written_position = state_.current_position; 1697 state_.written_position = state_.current_position;
1678 written = true; 1698 written = true;
1679 } 1699 }
1680 1700
1681 // Return whether something was written. 1701 // Return whether something was written.
1682 return written; 1702 return written;
1683 } 1703 }
1684 1704
1685 } } // namespace v8::internal 1705 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/assembler.h ('k') | src/ia32/assembler-ia32.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698