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

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

Issue 11116011: Simulate and disasm NOP on ARM (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Go back to MOV for NOP instead of the actual NOP instruction: it doesn't actually have a perf benef… Created 8 years, 2 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/arm/assembler-arm.cc ('k') | src/arm/disasm-arm.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 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 673 matching lines...) Expand 10 before | Expand all | Expand 10 after
684 // Test for special encodings of type 0 instructions (extra loads and stores, 684 // Test for special encodings of type 0 instructions (extra loads and stores,
685 // as well as multiplications). 685 // as well as multiplications).
686 inline bool IsSpecialType0() const { return (Bit(7) == 1) && (Bit(4) == 1); } 686 inline bool IsSpecialType0() const { return (Bit(7) == 1) && (Bit(4) == 1); }
687 687
688 // Test for miscellaneous instructions encodings of type 0 instructions. 688 // Test for miscellaneous instructions encodings of type 0 instructions.
689 inline bool IsMiscType0() const { return (Bit(24) == 1) 689 inline bool IsMiscType0() const { return (Bit(24) == 1)
690 && (Bit(23) == 0) 690 && (Bit(23) == 0)
691 && (Bit(20) == 0) 691 && (Bit(20) == 0)
692 && ((Bit(7) == 0)); } 692 && ((Bit(7) == 0)); }
693 693
694 // Test for a nop instruction, which falls under type 1.
695 inline bool IsNopType1() const { return Bits(24, 0) == 0x0120F000; }
696
694 // Test for a stop instruction. 697 // Test for a stop instruction.
695 inline bool IsStop() const { 698 inline bool IsStop() const {
696 return (TypeValue() == 7) && (Bit(24) == 1) && (SvcValue() >= kStopCode); 699 return (TypeValue() == 7) && (Bit(24) == 1) && (SvcValue() >= kStopCode);
697 } 700 }
698 701
699 // Special accessors that test for existence of a value. 702 // Special accessors that test for existence of a value.
700 inline bool HasS() const { return SValue() == 1; } 703 inline bool HasS() const { return SValue() == 1; }
701 inline bool HasB() const { return BValue() == 1; } 704 inline bool HasB() const { return BValue() == 1; }
702 inline bool HasW() const { return WValue() == 1; } 705 inline bool HasW() const { return WValue() == 1; }
703 inline bool HasL() const { return LValue() == 1; } 706 inline bool HasL() const { return LValue() == 1; }
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
766 static int Number(const char* name, bool* is_double); 769 static int Number(const char* name, bool* is_double);
767 770
768 private: 771 private:
769 static const char* names_[kNumVFPRegisters]; 772 static const char* names_[kNumVFPRegisters];
770 }; 773 };
771 774
772 775
773 } } // namespace v8::internal 776 } } // namespace v8::internal
774 777
775 #endif // V8_ARM_CONSTANTS_ARM_H_ 778 #endif // V8_ARM_CONSTANTS_ARM_H_
OLDNEW
« no previous file with comments | « src/arm/assembler-arm.cc ('k') | src/arm/disasm-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698