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

Side by Side Diff: src/arm/lithium-arm.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 1228 matching lines...) Expand 10 before | Expand all | Expand 10 after
1285 1286
1286 LOperand* value() { return inputs_[0]; } 1287 LOperand* value() { return inputs_[0]; }
1287 1288
1288 DECLARE_CONCRETE_INSTRUCTION(Branch, "branch") 1289 DECLARE_CONCRETE_INSTRUCTION(Branch, "branch")
1289 DECLARE_HYDROGEN_ACCESSOR(Branch) 1290 DECLARE_HYDROGEN_ACCESSOR(Branch)
1290 1291
1291 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; 1292 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE;
1292 }; 1293 };
1293 1294
1294 1295
1296 class LAndBranch V8_FINAL : public LControlInstruction<1, 0> {
1297 public:
1298 LAndBranch(LOperand* value, Token::Value op) : op_(op) {
1299 inputs_[0] = value;
1300 }
1301
1302 LOperand* value() { return inputs_[0]; }
1303 Token::Value op() { return op_; }
1304
1305 DECLARE_CONCRETE_INSTRUCTION(AndBranch, "and-branch")
1306 DECLARE_HYDROGEN_ACCESSOR(AndBranch)
1307
1308 private:
1309 Token::Value op_;
1310 };
1311
1312
1295 class LCmpMapAndBranch V8_FINAL : public LControlInstruction<1, 1> { 1313 class LCmpMapAndBranch V8_FINAL : public LControlInstruction<1, 1> {
1296 public: 1314 public:
1297 LCmpMapAndBranch(LOperand* value, LOperand* temp) { 1315 LCmpMapAndBranch(LOperand* value, LOperand* temp) {
1298 inputs_[0] = value; 1316 inputs_[0] = value;
1299 temps_[0] = temp; 1317 temps_[0] = temp;
1300 } 1318 }
1301 1319
1302 LOperand* value() { return inputs_[0]; } 1320 LOperand* value() { return inputs_[0]; }
1303 LOperand* temp() { return temps_[0]; } 1321 LOperand* temp() { return temps_[0]; }
1304 1322
(...skipping 1489 matching lines...) Expand 10 before | Expand all | Expand 10 after
2794 2812
2795 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2813 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2796 }; 2814 };
2797 2815
2798 #undef DECLARE_HYDROGEN_ACCESSOR 2816 #undef DECLARE_HYDROGEN_ACCESSOR
2799 #undef DECLARE_CONCRETE_INSTRUCTION 2817 #undef DECLARE_CONCRETE_INSTRUCTION
2800 2818
2801 } } // namespace v8::internal 2819 } } // namespace v8::internal
2802 2820
2803 #endif // V8_ARM_LITHIUM_ARM_H_ 2821 #endif // V8_ARM_LITHIUM_ARM_H_
OLDNEW
« no previous file with comments | « src/arm/full-codegen-arm.cc ('k') | src/arm/lithium-arm.cc » ('j') | src/hydrogen.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698