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

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

Issue 6711027: [Isolates] Merge 7201:7258 from bleeding_edge to isolates. (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/isolates/
Patch Set: Created 9 years, 9 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 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 V(CallGlobal) \ 63 V(CallGlobal) \
64 V(CallKeyed) \ 64 V(CallKeyed) \
65 V(CallKnownGlobal) \ 65 V(CallKnownGlobal) \
66 V(CallNamed) \ 66 V(CallNamed) \
67 V(CallNew) \ 67 V(CallNew) \
68 V(CallRuntime) \ 68 V(CallRuntime) \
69 V(CallStub) \ 69 V(CallStub) \
70 V(CheckFunction) \ 70 V(CheckFunction) \
71 V(CheckInstanceType) \ 71 V(CheckInstanceType) \
72 V(CheckMap) \ 72 V(CheckMap) \
73 V(CheckNonSmi) \
73 V(CheckPrototypeMaps) \ 74 V(CheckPrototypeMaps) \
74 V(CheckSmi) \ 75 V(CheckSmi) \
75 V(ClassOfTest) \ 76 V(ClassOfTest) \
76 V(ClassOfTestAndBranch) \ 77 V(ClassOfTestAndBranch) \
77 V(CmpID) \ 78 V(CmpID) \
78 V(CmpIDAndBranch) \ 79 V(CmpIDAndBranch) \
79 V(CmpJSObjectEq) \ 80 V(CmpJSObjectEq) \
80 V(CmpJSObjectEqAndBranch) \ 81 V(CmpJSObjectEqAndBranch) \
81 V(CmpMapAndBranch) \ 82 V(CmpMapAndBranch) \
82 V(CmpT) \ 83 V(CmpT) \
(...skipping 1224 matching lines...) Expand 10 before | Expand all | Expand 10 after
1307 LOperand* context() { return InputAt(0); } 1308 LOperand* context() { return InputAt(0); }
1308 }; 1309 };
1309 1310
1310 1311
1311 class LGlobalObject: public LTemplateInstruction<1, 0, 0> { 1312 class LGlobalObject: public LTemplateInstruction<1, 0, 0> {
1312 public: 1313 public:
1313 DECLARE_CONCRETE_INSTRUCTION(GlobalObject, "global-object") 1314 DECLARE_CONCRETE_INSTRUCTION(GlobalObject, "global-object")
1314 }; 1315 };
1315 1316
1316 1317
1317 class LGlobalReceiver: public LTemplateInstruction<1, 0, 0> { 1318 class LGlobalReceiver: public LTemplateInstruction<1, 1, 0> {
1318 public: 1319 public:
1320 explicit LGlobalReceiver(LOperand* global_object) {
1321 inputs_[0] = global_object;
1322 }
1323
1319 DECLARE_CONCRETE_INSTRUCTION(GlobalReceiver, "global-receiver") 1324 DECLARE_CONCRETE_INSTRUCTION(GlobalReceiver, "global-receiver")
1325
1326 LOperand* global() { return InputAt(0); }
1320 }; 1327 };
1321 1328
1322 1329
1323 class LCallConstantFunction: public LTemplateInstruction<1, 0, 0> { 1330 class LCallConstantFunction: public LTemplateInstruction<1, 0, 0> {
1324 public: 1331 public:
1325 DECLARE_CONCRETE_INSTRUCTION(CallConstantFunction, "call-constant-function") 1332 DECLARE_CONCRETE_INSTRUCTION(CallConstantFunction, "call-constant-function")
1326 DECLARE_HYDROGEN_ACCESSOR(CallConstantFunction) 1333 DECLARE_HYDROGEN_ACCESSOR(CallConstantFunction)
1327 1334
1328 virtual void PrintDataTo(StringStream* stream); 1335 virtual void PrintDataTo(StringStream* stream);
1329 1336
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after
1700 DECLARE_CONCRETE_INSTRUCTION(CheckPrototypeMaps, "check-prototype-maps") 1707 DECLARE_CONCRETE_INSTRUCTION(CheckPrototypeMaps, "check-prototype-maps")
1701 DECLARE_HYDROGEN_ACCESSOR(CheckPrototypeMaps) 1708 DECLARE_HYDROGEN_ACCESSOR(CheckPrototypeMaps)
1702 1709
1703 Handle<JSObject> prototype() const { return hydrogen()->prototype(); } 1710 Handle<JSObject> prototype() const { return hydrogen()->prototype(); }
1704 Handle<JSObject> holder() const { return hydrogen()->holder(); } 1711 Handle<JSObject> holder() const { return hydrogen()->holder(); }
1705 }; 1712 };
1706 1713
1707 1714
1708 class LCheckSmi: public LTemplateInstruction<0, 1, 0> { 1715 class LCheckSmi: public LTemplateInstruction<0, 1, 0> {
1709 public: 1716 public:
1710 LCheckSmi(LOperand* value, Condition condition) 1717 explicit LCheckSmi(LOperand* value) {
1711 : condition_(condition) {
1712 inputs_[0] = value; 1718 inputs_[0] = value;
1713 } 1719 }
1714 1720
1715 Condition condition() const { return condition_; } 1721 DECLARE_CONCRETE_INSTRUCTION(CheckSmi, "check-smi")
1716
1717 virtual void CompileToNative(LCodeGen* generator);
1718 virtual const char* Mnemonic() const {
1719 return (condition_ == zero) ? "check-non-smi" : "check-smi";
1720 }
1721
1722 private:
1723 Condition condition_;
1724 }; 1722 };
1725 1723
1726 1724
1725 class LCheckNonSmi: public LTemplateInstruction<0, 1, 0> {
1726 public:
1727 explicit LCheckNonSmi(LOperand* value) {
1728 inputs_[0] = value;
1729 }
1730
1731 DECLARE_CONCRETE_INSTRUCTION(CheckNonSmi, "check-non-smi")
1732 };
1733
1734
1727 class LArrayLiteral: public LTemplateInstruction<1, 0, 0> { 1735 class LArrayLiteral: public LTemplateInstruction<1, 0, 0> {
1728 public: 1736 public:
1729 DECLARE_CONCRETE_INSTRUCTION(ArrayLiteral, "array-literal") 1737 DECLARE_CONCRETE_INSTRUCTION(ArrayLiteral, "array-literal")
1730 DECLARE_HYDROGEN_ACCESSOR(ArrayLiteral) 1738 DECLARE_HYDROGEN_ACCESSOR(ArrayLiteral)
1731 }; 1739 };
1732 1740
1733 1741
1734 class LObjectLiteral: public LTemplateInstruction<1, 0, 0> { 1742 class LObjectLiteral: public LTemplateInstruction<1, 0, 0> {
1735 public: 1743 public:
1736 DECLARE_CONCRETE_INSTRUCTION(ObjectLiteral, "object-literal") 1744 DECLARE_CONCRETE_INSTRUCTION(ObjectLiteral, "object-literal")
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after
2077 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2085 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2078 }; 2086 };
2079 2087
2080 #undef DECLARE_HYDROGEN_ACCESSOR 2088 #undef DECLARE_HYDROGEN_ACCESSOR
2081 #undef DECLARE_INSTRUCTION 2089 #undef DECLARE_INSTRUCTION
2082 #undef DECLARE_CONCRETE_INSTRUCTION 2090 #undef DECLARE_CONCRETE_INSTRUCTION
2083 2091
2084 } } // namespace v8::int 2092 } } // namespace v8::int
2085 2093
2086 #endif // V8_X64_LITHIUM_X64_H_ 2094 #endif // V8_X64_LITHIUM_X64_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698