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/x64/lithium-x64.h

Issue 9304001: Implement inlining of constructor calls. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Ported deoptimizer to x64 and ARM. Created 8 years, 10 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 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 42
43 #define LITHIUM_ALL_INSTRUCTION_LIST(V) \ 43 #define LITHIUM_ALL_INSTRUCTION_LIST(V) \
44 V(ControlInstruction) \ 44 V(ControlInstruction) \
45 V(Call) \ 45 V(Call) \
46 LITHIUM_CONCRETE_INSTRUCTION_LIST(V) 46 LITHIUM_CONCRETE_INSTRUCTION_LIST(V)
47 47
48 48
49 #define LITHIUM_CONCRETE_INSTRUCTION_LIST(V) \ 49 #define LITHIUM_CONCRETE_INSTRUCTION_LIST(V) \
50 V(AccessArgumentsAt) \ 50 V(AccessArgumentsAt) \
51 V(AddI) \ 51 V(AddI) \
52 V(AllocateObject) \
52 V(ApplyArguments) \ 53 V(ApplyArguments) \
53 V(ArgumentsElements) \ 54 V(ArgumentsElements) \
54 V(ArgumentsLength) \ 55 V(ArgumentsLength) \
55 V(ArithmeticD) \ 56 V(ArithmeticD) \
56 V(ArithmeticT) \ 57 V(ArithmeticT) \
57 V(ArrayLiteral) \ 58 V(ArrayLiteral) \
58 V(BitI) \ 59 V(BitI) \
59 V(BitNotI) \ 60 V(BitNotI) \
60 V(BoundsCheck) \ 61 V(BoundsCheck) \
61 V(Branch) \ 62 V(Branch) \
(...skipping 1829 matching lines...) Expand 10 before | Expand all | Expand 10 after
1891 class LCheckNonSmi: public LTemplateInstruction<0, 1, 0> { 1892 class LCheckNonSmi: public LTemplateInstruction<0, 1, 0> {
1892 public: 1893 public:
1893 explicit LCheckNonSmi(LOperand* value) { 1894 explicit LCheckNonSmi(LOperand* value) {
1894 inputs_[0] = value; 1895 inputs_[0] = value;
1895 } 1896 }
1896 1897
1897 DECLARE_CONCRETE_INSTRUCTION(CheckNonSmi, "check-non-smi") 1898 DECLARE_CONCRETE_INSTRUCTION(CheckNonSmi, "check-non-smi")
1898 }; 1899 };
1899 1900
1900 1901
1902 class LAllocateObject: public LTemplateInstruction<1, 1, 0> {
1903 public:
1904 explicit LAllocateObject(LOperand* function) {
1905 inputs_[0] = function;
1906 }
1907
1908 DECLARE_CONCRETE_INSTRUCTION(AllocateObject, "allocate-object")
1909 DECLARE_HYDROGEN_ACCESSOR(AllocateObject)
1910
1911 LOperand* function() { return inputs_[0]; }
1912 };
1913
1914
1901 class LArrayLiteral: public LTemplateInstruction<1, 0, 0> { 1915 class LArrayLiteral: public LTemplateInstruction<1, 0, 0> {
1902 public: 1916 public:
1903 DECLARE_CONCRETE_INSTRUCTION(ArrayLiteral, "array-literal") 1917 DECLARE_CONCRETE_INSTRUCTION(ArrayLiteral, "array-literal")
1904 DECLARE_HYDROGEN_ACCESSOR(ArrayLiteral) 1918 DECLARE_HYDROGEN_ACCESSOR(ArrayLiteral)
1905 }; 1919 };
1906 1920
1907 1921
1908 class LObjectLiteralFast: public LTemplateInstruction<1, 0, 0> { 1922 class LObjectLiteralFast: public LTemplateInstruction<1, 0, 0> {
1909 public: 1923 public:
1910 DECLARE_CONCRETE_INSTRUCTION(ObjectLiteralFast, "object-literal-fast") 1924 DECLARE_CONCRETE_INSTRUCTION(ObjectLiteralFast, "object-literal-fast")
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after
2256 2270
2257 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2271 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2258 }; 2272 };
2259 2273
2260 #undef DECLARE_HYDROGEN_ACCESSOR 2274 #undef DECLARE_HYDROGEN_ACCESSOR
2261 #undef DECLARE_CONCRETE_INSTRUCTION 2275 #undef DECLARE_CONCRETE_INSTRUCTION
2262 2276
2263 } } // namespace v8::int 2277 } } // namespace v8::int
2264 2278
2265 #endif // V8_X64_LITHIUM_X64_H_ 2279 #endif // V8_X64_LITHIUM_X64_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698