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

Side by Side Diff: src/x64/lithium-x64.h

Issue 24366004: Split HCompareGeneric in a test and a branch part. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 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
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 26 matching lines...) Expand all
37 namespace v8 { 37 namespace v8 {
38 namespace internal { 38 namespace internal {
39 39
40 // Forward declarations. 40 // Forward declarations.
41 class LCodeGen; 41 class LCodeGen;
42 42
43 #define LITHIUM_CONCRETE_INSTRUCTION_LIST(V) \ 43 #define LITHIUM_CONCRETE_INSTRUCTION_LIST(V) \
44 V(AccessArgumentsAt) \ 44 V(AccessArgumentsAt) \
45 V(AddI) \ 45 V(AddI) \
46 V(Allocate) \ 46 V(Allocate) \
47 V(AndBranch) \
47 V(ApplyArguments) \ 48 V(ApplyArguments) \
48 V(ArgumentsElements) \ 49 V(ArgumentsElements) \
49 V(ArgumentsLength) \ 50 V(ArgumentsLength) \
50 V(ArithmeticD) \ 51 V(ArithmeticD) \
51 V(ArithmeticT) \ 52 V(ArithmeticT) \
52 V(BitI) \ 53 V(BitI) \
53 V(BoundsCheck) \ 54 V(BoundsCheck) \
54 V(Branch) \ 55 V(Branch) \
55 V(CallConstantFunction) \ 56 V(CallConstantFunction) \
56 V(CallFunction) \ 57 V(CallFunction) \
(...skipping 1165 matching lines...) Expand 10 before | Expand all | Expand 10 after
1222 1223
1223 LOperand* value() { return inputs_[0]; } 1224 LOperand* value() { return inputs_[0]; }
1224 1225
1225 DECLARE_CONCRETE_INSTRUCTION(Branch, "branch") 1226 DECLARE_CONCRETE_INSTRUCTION(Branch, "branch")
1226 DECLARE_HYDROGEN_ACCESSOR(Branch) 1227 DECLARE_HYDROGEN_ACCESSOR(Branch)
1227 1228
1228 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; 1229 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE;
1229 }; 1230 };
1230 1231
1231 1232
1233 class LAndBranch V8_FINAL : public LControlInstruction<1, 0> {
1234 public:
1235 LAndBranch(LOperand* value, Token::Value op) : op_(op) {
1236 inputs_[0] = value;
1237 }
1238
1239 LOperand* value() { return inputs_[0]; }
1240 Token::Value op() { return op_; }
1241
1242 DECLARE_CONCRETE_INSTRUCTION(AndBranch, "and-branch")
1243 DECLARE_HYDROGEN_ACCESSOR(AndBranch)
1244
1245 private:
1246 Token::Value op_;
1247 };
1248
1249
1232 class LDebugBreak V8_FINAL : public LTemplateInstruction<0, 0, 0> { 1250 class LDebugBreak V8_FINAL : public LTemplateInstruction<0, 0, 0> {
1233 public: 1251 public:
1234 DECLARE_CONCRETE_INSTRUCTION(DebugBreak, "break") 1252 DECLARE_CONCRETE_INSTRUCTION(DebugBreak, "break")
1235 }; 1253 };
1236 1254
1237 1255
1238 class LCmpMapAndBranch V8_FINAL : public LControlInstruction<1, 0> { 1256 class LCmpMapAndBranch V8_FINAL : public LControlInstruction<1, 0> {
1239 public: 1257 public:
1240 explicit LCmpMapAndBranch(LOperand* value) { 1258 explicit LCmpMapAndBranch(LOperand* value) {
1241 inputs_[0] = value; 1259 inputs_[0] = value;
(...skipping 1475 matching lines...) Expand 10 before | Expand all | Expand 10 after
2717 2735
2718 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2736 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2719 }; 2737 };
2720 2738
2721 #undef DECLARE_HYDROGEN_ACCESSOR 2739 #undef DECLARE_HYDROGEN_ACCESSOR
2722 #undef DECLARE_CONCRETE_INSTRUCTION 2740 #undef DECLARE_CONCRETE_INSTRUCTION
2723 2741
2724 } } // namespace v8::int 2742 } } // namespace v8::int
2725 2743
2726 #endif // V8_X64_LITHIUM_X64_H_ 2744 #endif // V8_X64_LITHIUM_X64_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698