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

Side by Side Diff: src/ia32/lithium-ia32.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 1221 matching lines...) Expand 10 before | Expand all | Expand 10 after
1278 LOperand* value() { return inputs_[0]; } 1279 LOperand* value() { return inputs_[0]; }
1279 LOperand* temp() { return temps_[0]; } 1280 LOperand* temp() { return temps_[0]; }
1280 1281
1281 DECLARE_CONCRETE_INSTRUCTION(Branch, "branch") 1282 DECLARE_CONCRETE_INSTRUCTION(Branch, "branch")
1282 DECLARE_HYDROGEN_ACCESSOR(Branch) 1283 DECLARE_HYDROGEN_ACCESSOR(Branch)
1283 1284
1284 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; 1285 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE;
1285 }; 1286 };
1286 1287
1287 1288
1289 class LAndBranch V8_FINAL : public LControlInstruction<1, 0> {
1290 public:
1291 LAndBranch(LOperand* value, Token::Value op) : op_(op) {
1292 inputs_[0] = value;
1293 }
1294
1295 LOperand* value() { return inputs_[0]; }
1296 Token::Value op() { return op_; }
1297
1298 DECLARE_CONCRETE_INSTRUCTION(AndBranch, "and-branch")
1299 DECLARE_HYDROGEN_ACCESSOR(AndBranch)
1300
1301 private:
1302 Token::Value op_;
1303 };
1304
1305
1288 class LCmpMapAndBranch V8_FINAL : public LControlInstruction<1, 0> { 1306 class LCmpMapAndBranch V8_FINAL : public LControlInstruction<1, 0> {
1289 public: 1307 public:
1290 explicit LCmpMapAndBranch(LOperand* value) { 1308 explicit LCmpMapAndBranch(LOperand* value) {
1291 inputs_[0] = value; 1309 inputs_[0] = value;
1292 } 1310 }
1293 1311
1294 LOperand* value() { return inputs_[0]; } 1312 LOperand* value() { return inputs_[0]; }
1295 1313
1296 DECLARE_CONCRETE_INSTRUCTION(CmpMapAndBranch, "cmp-map-and-branch") 1314 DECLARE_CONCRETE_INSTRUCTION(CmpMapAndBranch, "cmp-map-and-branch")
1297 DECLARE_HYDROGEN_ACCESSOR(CompareMap) 1315 DECLARE_HYDROGEN_ACCESSOR(CompareMap)
(...skipping 1622 matching lines...) Expand 10 before | Expand all | Expand 10 after
2920 2938
2921 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2939 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2922 }; 2940 };
2923 2941
2924 #undef DECLARE_HYDROGEN_ACCESSOR 2942 #undef DECLARE_HYDROGEN_ACCESSOR
2925 #undef DECLARE_CONCRETE_INSTRUCTION 2943 #undef DECLARE_CONCRETE_INSTRUCTION
2926 2944
2927 } } // namespace v8::internal 2945 } } // namespace v8::internal
2928 2946
2929 #endif // V8_IA32_LITHIUM_IA32_H_ 2947 #endif // V8_IA32_LITHIUM_IA32_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698