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

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

Issue 293363005: LoadUint32() doesn't need a scratch register. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Compile fix Created 6 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 | Annotate | Revision Log
« no previous file with comments | « src/ia32/lithium-codegen-ia32.cc ('k') | src/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_IA32_LITHIUM_IA32_H_ 5 #ifndef V8_IA32_LITHIUM_IA32_H_
6 #define V8_IA32_LITHIUM_IA32_H_ 6 #define V8_IA32_LITHIUM_IA32_H_
7 7
8 #include "hydrogen.h" 8 #include "hydrogen.h"
9 #include "lithium-allocator.h" 9 #include "lithium-allocator.h"
10 #include "lithium.h" 10 #include "lithium.h"
(...skipping 1979 matching lines...) Expand 10 before | Expand all | Expand 10 after
1990 explicit LInteger32ToDouble(LOperand* value) { 1990 explicit LInteger32ToDouble(LOperand* value) {
1991 inputs_[0] = value; 1991 inputs_[0] = value;
1992 } 1992 }
1993 1993
1994 LOperand* value() { return inputs_[0]; } 1994 LOperand* value() { return inputs_[0]; }
1995 1995
1996 DECLARE_CONCRETE_INSTRUCTION(Integer32ToDouble, "int32-to-double") 1996 DECLARE_CONCRETE_INSTRUCTION(Integer32ToDouble, "int32-to-double")
1997 }; 1997 };
1998 1998
1999 1999
2000 class LUint32ToDouble V8_FINAL : public LTemplateInstruction<1, 1, 1> { 2000 class LUint32ToDouble V8_FINAL : public LTemplateInstruction<1, 1, 0> {
2001 public: 2001 public:
2002 explicit LUint32ToDouble(LOperand* value, LOperand* temp) { 2002 explicit LUint32ToDouble(LOperand* value) {
2003 inputs_[0] = value; 2003 inputs_[0] = value;
2004 temps_[0] = temp;
2005 } 2004 }
2006 2005
2007 LOperand* value() { return inputs_[0]; } 2006 LOperand* value() { return inputs_[0]; }
2008 LOperand* temp() { return temps_[0]; }
2009 2007
2010 DECLARE_CONCRETE_INSTRUCTION(Uint32ToDouble, "uint32-to-double") 2008 DECLARE_CONCRETE_INSTRUCTION(Uint32ToDouble, "uint32-to-double")
2011 }; 2009 };
2012 2010
2013 2011
2014 class LNumberTagI V8_FINAL : public LTemplateInstruction<1, 1, 1> { 2012 class LNumberTagI V8_FINAL : public LTemplateInstruction<1, 1, 1> {
2015 public: 2013 public:
2016 LNumberTagI(LOperand* value, LOperand* temp) { 2014 LNumberTagI(LOperand* value, LOperand* temp) {
2017 inputs_[0] = value; 2015 inputs_[0] = value;
2018 temps_[0] = temp; 2016 temps_[0] = temp;
2019 } 2017 }
2020 2018
2021 LOperand* value() { return inputs_[0]; } 2019 LOperand* value() { return inputs_[0]; }
2022 LOperand* temp() { return temps_[0]; } 2020 LOperand* temp() { return temps_[0]; }
2023 2021
2024 DECLARE_CONCRETE_INSTRUCTION(NumberTagI, "number-tag-i") 2022 DECLARE_CONCRETE_INSTRUCTION(NumberTagI, "number-tag-i")
2025 }; 2023 };
2026 2024
2027 2025
2028 class LNumberTagU V8_FINAL : public LTemplateInstruction<1, 1, 2> { 2026 class LNumberTagU V8_FINAL : public LTemplateInstruction<1, 1, 1> {
2029 public: 2027 public:
2030 LNumberTagU(LOperand* value, LOperand* temp1, LOperand* temp2) { 2028 LNumberTagU(LOperand* value, LOperand* temp) {
2031 inputs_[0] = value; 2029 inputs_[0] = value;
2032 temps_[0] = temp1; 2030 temps_[0] = temp;
2033 temps_[1] = temp2;
2034 } 2031 }
2035 2032
2036 LOperand* value() { return inputs_[0]; } 2033 LOperand* value() { return inputs_[0]; }
2037 LOperand* temp1() { return temps_[0]; } 2034 LOperand* temp() { return temps_[0]; }
2038 LOperand* temp2() { return temps_[1]; }
2039 2035
2040 DECLARE_CONCRETE_INSTRUCTION(NumberTagU, "number-tag-u") 2036 DECLARE_CONCRETE_INSTRUCTION(NumberTagU, "number-tag-u")
2041 }; 2037 };
2042 2038
2043 2039
2044 class LNumberTagD V8_FINAL : public LTemplateInstruction<1, 1, 1> { 2040 class LNumberTagD V8_FINAL : public LTemplateInstruction<1, 1, 1> {
2045 public: 2041 public:
2046 LNumberTagD(LOperand* value, LOperand* temp) { 2042 LNumberTagD(LOperand* value, LOperand* temp) {
2047 inputs_[0] = value; 2043 inputs_[0] = value;
2048 temps_[0] = temp; 2044 temps_[0] = temp;
(...skipping 804 matching lines...) Expand 10 before | Expand all | Expand 10 after
2853 2849
2854 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2850 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2855 }; 2851 };
2856 2852
2857 #undef DECLARE_HYDROGEN_ACCESSOR 2853 #undef DECLARE_HYDROGEN_ACCESSOR
2858 #undef DECLARE_CONCRETE_INSTRUCTION 2854 #undef DECLARE_CONCRETE_INSTRUCTION
2859 2855
2860 } } // namespace v8::internal 2856 } } // namespace v8::internal
2861 2857
2862 #endif // V8_IA32_LITHIUM_IA32_H_ 2858 #endif // V8_IA32_LITHIUM_IA32_H_
OLDNEW
« no previous file with comments | « src/ia32/lithium-codegen-ia32.cc ('k') | src/ia32/lithium-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698