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

Side by Side Diff: src/trusted/validator_arm/actual_classes.h

Issue 10381030: Clean up testing of instructions. Allow testing to quit if test pattern tests (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: Created 8 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/trusted/validator_arm/actual_vs_baseline.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 /* 1 /*
2 * Copyright (c) 2012 The Native Client Authors. All rights reserved. 2 * Copyright (c) 2012 The Native Client Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be 3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file. 4 * found in the LICENSE file.
5 */ 5 */
6 6
7 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_ACTUAL_CLASSES_H_ 7 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_ACTUAL_CLASSES_H_
8 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_ACTUAL_CLASSES_H_ 8 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_ACTUAL_CLASSES_H_
9 9
10 #include "native_client/src/trusted/validator_arm/inst_classes.h" 10 #include "native_client/src/trusted/validator_arm/inst_classes.h"
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 253
254 // A special-case data processing instruction: the immediate BIC. We consider 254 // A special-case data processing instruction: the immediate BIC. We consider
255 // this the only instruction that reliably clears bits in its result, so we 255 // this the only instruction that reliably clears bits in its result, so we
256 // model it separately from other logic ops. 256 // model it separately from other logic ops.
257 class ImmediateBic : public DataProc { 257 class ImmediateBic : public DataProc {
258 public: 258 public:
259 static const Imm12Bits0To11Interface imm12; 259 static const Imm12Bits0To11Interface imm12;
260 inline ImmediateBic() {} 260 inline ImmediateBic() {}
261 virtual ~ImmediateBic() {} 261 virtual ~ImmediateBic() {}
262 262
263 // TODO(karl) Decide why we ever allowed this.
sehr (please use chromium) 2012/05/07 21:07:18 A little more specific comment, please. Determine
263 // ImmediateBic is exempted from the writes-r15 check. 264 // ImmediateBic is exempted from the writes-r15 check.
264 virtual SafetyLevel safety(Instruction i) const { 265 // virtual SafetyLevel safety(Instruction i) const {
265 UNREFERENCED_PARAMETER(i); 266 // UNREFERENCED_PARAMETER(i);
266 return MAY_BE_SAFE; 267 // return MAY_BE_SAFE;
267 } 268 // }
268 virtual bool clears_bits(Instruction i, uint32_t mask) const; 269 virtual bool clears_bits(Instruction i, uint32_t mask) const;
269 270
270 private: 271 private:
271 NACL_DISALLOW_COPY_AND_ASSIGN(ImmediateBic); 272 NACL_DISALLOW_COPY_AND_ASSIGN(ImmediateBic);
272 }; 273 };
273 274
274 // Models the Pack/Saturate/Reverse instructions, which 275 // Models the Pack/Saturate/Reverse instructions, which
275 // - Write a register identified by 15:12, 276 // - Write a register identified by 15:12,
276 // - Are not permitted to affect r15, 277 // - Are not permitted to affect r15,
277 // - Always set flags. 278 // - Always set flags.
(...skipping 618 matching lines...) Expand 10 before | Expand all | Expand 10 after
896 } 897 }
897 virtual int32_t branch_target_offset(Instruction i) const; 898 virtual int32_t branch_target_offset(Instruction i) const;
898 899
899 private: 900 private:
900 NACL_DISALLOW_COPY_AND_ASSIGN(Branch); 901 NACL_DISALLOW_COPY_AND_ASSIGN(Branch);
901 }; 902 };
902 903
903 } // namespace 904 } // namespace
904 905
905 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_ACTUAL_CLASSES_H_ 906 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_ACTUAL_CLASSES_H_
OLDNEW
« no previous file with comments | « no previous file | src/trusted/validator_arm/actual_vs_baseline.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698