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

Side by Side Diff: src/crankshaft/ia32/lithium-ia32.h

Issue 2073123002: [builtins] Introduce proper Float64Cos and Float64Sin. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix missing breaks Created 4 years, 6 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
« no previous file with comments | « src/crankshaft/ia32/lithium-codegen-ia32.cc ('k') | src/crankshaft/ia32/lithium-ia32.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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_CRANKSHAFT_IA32_LITHIUM_IA32_H_ 5 #ifndef V8_CRANKSHAFT_IA32_LITHIUM_IA32_H_
6 #define V8_CRANKSHAFT_IA32_LITHIUM_IA32_H_ 6 #define V8_CRANKSHAFT_IA32_LITHIUM_IA32_H_
7 7
8 #include "src/crankshaft/hydrogen.h" 8 #include "src/crankshaft/hydrogen.h"
9 #include "src/crankshaft/lithium.h" 9 #include "src/crankshaft/lithium.h"
10 #include "src/crankshaft/lithium-allocator.h" 10 #include "src/crankshaft/lithium-allocator.h"
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 V(LoadFieldByIndex) \ 95 V(LoadFieldByIndex) \
96 V(LoadFunctionPrototype) \ 96 V(LoadFunctionPrototype) \
97 V(LoadGlobalGeneric) \ 97 V(LoadGlobalGeneric) \
98 V(LoadKeyed) \ 98 V(LoadKeyed) \
99 V(LoadKeyedGeneric) \ 99 V(LoadKeyedGeneric) \
100 V(LoadNamedField) \ 100 V(LoadNamedField) \
101 V(LoadNamedGeneric) \ 101 V(LoadNamedGeneric) \
102 V(LoadRoot) \ 102 V(LoadRoot) \
103 V(MathAbs) \ 103 V(MathAbs) \
104 V(MathClz32) \ 104 V(MathClz32) \
105 V(MathCos) \
105 V(MathExp) \ 106 V(MathExp) \
106 V(MathFloorD) \ 107 V(MathFloorD) \
107 V(MathFloorI) \ 108 V(MathFloorI) \
108 V(MathFround) \ 109 V(MathFround) \
109 V(MathLog) \ 110 V(MathLog) \
110 V(MathMinMax) \ 111 V(MathMinMax) \
111 V(MathPowHalf) \ 112 V(MathPowHalf) \
112 V(MathRoundD) \ 113 V(MathRoundD) \
113 V(MathRoundI) \ 114 V(MathRoundI) \
115 V(MathSin) \
114 V(MathSqrt) \ 116 V(MathSqrt) \
115 V(MaybeGrowElements) \ 117 V(MaybeGrowElements) \
116 V(ModByConstI) \ 118 V(ModByConstI) \
117 V(ModByPowerOf2I) \ 119 V(ModByPowerOf2I) \
118 V(ModI) \ 120 V(ModI) \
119 V(MulI) \ 121 V(MulI) \
120 V(NumberTagD) \ 122 V(NumberTagD) \
121 V(NumberTagI) \ 123 V(NumberTagI) \
122 V(NumberTagU) \ 124 V(NumberTagU) \
123 V(NumberUntagD) \ 125 V(NumberUntagD) \
(...skipping 781 matching lines...) Expand 10 before | Expand all | Expand 10 after
905 public: 907 public:
906 explicit LMathClz32(LOperand* value) { 908 explicit LMathClz32(LOperand* value) {
907 inputs_[0] = value; 909 inputs_[0] = value;
908 } 910 }
909 911
910 LOperand* value() { return inputs_[0]; } 912 LOperand* value() { return inputs_[0]; }
911 913
912 DECLARE_CONCRETE_INSTRUCTION(MathClz32, "math-clz32") 914 DECLARE_CONCRETE_INSTRUCTION(MathClz32, "math-clz32")
913 }; 915 };
914 916
917 class LMathCos final : public LTemplateInstruction<1, 1, 0> {
918 public:
919 explicit LMathCos(LOperand* value) { inputs_[0] = value; }
920
921 LOperand* value() { return inputs_[0]; }
922
923 DECLARE_CONCRETE_INSTRUCTION(MathCos, "math-cos")
924 };
925
926 class LMathSin final : public LTemplateInstruction<1, 1, 0> {
927 public:
928 explicit LMathSin(LOperand* value) { inputs_[0] = value; }
929
930 LOperand* value() { return inputs_[0]; }
931
932 DECLARE_CONCRETE_INSTRUCTION(MathSin, "math-sin")
933 };
934
915 class LMathExp final : public LTemplateInstruction<1, 1, 0> { 935 class LMathExp final : public LTemplateInstruction<1, 1, 0> {
916 public: 936 public:
917 explicit LMathExp(LOperand* value) { inputs_[0] = value; } 937 explicit LMathExp(LOperand* value) { inputs_[0] = value; }
918 938
919 LOperand* value() { return inputs_[0]; } 939 LOperand* value() { return inputs_[0]; }
920 940
921 DECLARE_CONCRETE_INSTRUCTION(MathExp, "math-exp") 941 DECLARE_CONCRETE_INSTRUCTION(MathExp, "math-exp")
922 }; 942 };
923 943
924 944
(...skipping 1610 matching lines...) Expand 10 before | Expand all | Expand 10 after
2535 // Declare methods that deal with the individual node types. 2555 // Declare methods that deal with the individual node types.
2536 #define DECLARE_DO(type) LInstruction* Do##type(H##type* node); 2556 #define DECLARE_DO(type) LInstruction* Do##type(H##type* node);
2537 HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO) 2557 HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO)
2538 #undef DECLARE_DO 2558 #undef DECLARE_DO
2539 2559
2540 LInstruction* DoMathFloor(HUnaryMathOperation* instr); 2560 LInstruction* DoMathFloor(HUnaryMathOperation* instr);
2541 LInstruction* DoMathRound(HUnaryMathOperation* instr); 2561 LInstruction* DoMathRound(HUnaryMathOperation* instr);
2542 LInstruction* DoMathFround(HUnaryMathOperation* instr); 2562 LInstruction* DoMathFround(HUnaryMathOperation* instr);
2543 LInstruction* DoMathAbs(HUnaryMathOperation* instr); 2563 LInstruction* DoMathAbs(HUnaryMathOperation* instr);
2544 LInstruction* DoMathLog(HUnaryMathOperation* instr); 2564 LInstruction* DoMathLog(HUnaryMathOperation* instr);
2565 LInstruction* DoMathCos(HUnaryMathOperation* instr);
2566 LInstruction* DoMathSin(HUnaryMathOperation* instr);
2545 LInstruction* DoMathExp(HUnaryMathOperation* instr); 2567 LInstruction* DoMathExp(HUnaryMathOperation* instr);
2546 LInstruction* DoMathSqrt(HUnaryMathOperation* instr); 2568 LInstruction* DoMathSqrt(HUnaryMathOperation* instr);
2547 LInstruction* DoMathPowHalf(HUnaryMathOperation* instr); 2569 LInstruction* DoMathPowHalf(HUnaryMathOperation* instr);
2548 LInstruction* DoMathClz32(HUnaryMathOperation* instr); 2570 LInstruction* DoMathClz32(HUnaryMathOperation* instr);
2549 LInstruction* DoDivByPowerOf2I(HDiv* instr); 2571 LInstruction* DoDivByPowerOf2I(HDiv* instr);
2550 LInstruction* DoDivByConstI(HDiv* instr); 2572 LInstruction* DoDivByConstI(HDiv* instr);
2551 LInstruction* DoDivI(HDiv* instr); 2573 LInstruction* DoDivI(HDiv* instr);
2552 LInstruction* DoModByPowerOf2I(HMod* instr); 2574 LInstruction* DoModByPowerOf2I(HMod* instr);
2553 LInstruction* DoModByConstI(HMod* instr); 2575 LInstruction* DoModByConstI(HMod* instr);
2554 LInstruction* DoModI(HMod* instr); 2576 LInstruction* DoModI(HMod* instr);
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
2660 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2682 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2661 }; 2683 };
2662 2684
2663 #undef DECLARE_HYDROGEN_ACCESSOR 2685 #undef DECLARE_HYDROGEN_ACCESSOR
2664 #undef DECLARE_CONCRETE_INSTRUCTION 2686 #undef DECLARE_CONCRETE_INSTRUCTION
2665 2687
2666 } // namespace internal 2688 } // namespace internal
2667 } // namespace v8 2689 } // namespace v8
2668 2690
2669 #endif // V8_CRANKSHAFT_IA32_LITHIUM_IA32_H_ 2691 #endif // V8_CRANKSHAFT_IA32_LITHIUM_IA32_H_
OLDNEW
« no previous file with comments | « src/crankshaft/ia32/lithium-codegen-ia32.cc ('k') | src/crankshaft/ia32/lithium-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698