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

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

Issue 6566002: x64: Implement context stores and loads, unknown osr value, and osr (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 9 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
« no previous file with comments | « src/x64/lithium-codegen-x64.cc ('k') | src/x64/lithium-x64.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 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 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 V(Parameter) \ 134 V(Parameter) \
135 V(PixelArrayLength) \ 135 V(PixelArrayLength) \
136 V(Power) \ 136 V(Power) \
137 V(PushArgument) \ 137 V(PushArgument) \
138 V(RegExpLiteral) \ 138 V(RegExpLiteral) \
139 V(Return) \ 139 V(Return) \
140 V(ShiftI) \ 140 V(ShiftI) \
141 V(SmiTag) \ 141 V(SmiTag) \
142 V(SmiUntag) \ 142 V(SmiUntag) \
143 V(StackCheck) \ 143 V(StackCheck) \
144 V(StoreContextSlot) \
144 V(StoreGlobal) \ 145 V(StoreGlobal) \
145 V(StoreKeyedFastElement) \ 146 V(StoreKeyedFastElement) \
146 V(StoreKeyedGeneric) \ 147 V(StoreKeyedGeneric) \
147 V(StoreNamedField) \ 148 V(StoreNamedField) \
148 V(StoreNamedGeneric) \ 149 V(StoreNamedGeneric) \
149 V(StorePixelArrayElement) \ 150 V(StorePixelArrayElement) \
150 V(StringCharCodeAt) \ 151 V(StringCharCodeAt) \
151 V(StringLength) \ 152 V(StringLength) \
152 V(SubI) \ 153 V(SubI) \
153 V(TaggedToI) \ 154 V(TaggedToI) \
(...skipping 1085 matching lines...) Expand 10 before | Expand all | Expand 10 after
1239 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot") 1240 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot")
1240 DECLARE_HYDROGEN_ACCESSOR(LoadContextSlot) 1241 DECLARE_HYDROGEN_ACCESSOR(LoadContextSlot)
1241 1242
1242 LOperand* context() { return InputAt(0); } 1243 LOperand* context() { return InputAt(0); }
1243 int slot_index() { return hydrogen()->slot_index(); } 1244 int slot_index() { return hydrogen()->slot_index(); }
1244 1245
1245 virtual void PrintDataTo(StringStream* stream); 1246 virtual void PrintDataTo(StringStream* stream);
1246 }; 1247 };
1247 1248
1248 1249
1250 class LStoreContextSlot: public LTemplateInstruction<0, 2, 0> {
1251 public:
1252 LStoreContextSlot(LOperand* context, LOperand* value) {
1253 inputs_[0] = context;
1254 inputs_[1] = value;
1255 }
1256
1257 DECLARE_CONCRETE_INSTRUCTION(StoreContextSlot, "store-context-slot")
1258 DECLARE_HYDROGEN_ACCESSOR(StoreContextSlot)
1259
1260 LOperand* context() { return InputAt(0); }
1261 LOperand* value() { return InputAt(1); }
1262 int slot_index() { return hydrogen()->slot_index(); }
1263 int needs_write_barrier() { return hydrogen()->NeedsWriteBarrier(); }
1264
1265 virtual void PrintDataTo(StringStream* stream);
1266 };
1267
1268
1249 class LPushArgument: public LTemplateInstruction<0, 1, 0> { 1269 class LPushArgument: public LTemplateInstruction<0, 1, 0> {
1250 public: 1270 public:
1251 explicit LPushArgument(LOperand* value) { 1271 explicit LPushArgument(LOperand* value) {
1252 inputs_[0] = value; 1272 inputs_[0] = value;
1253 } 1273 }
1254 1274
1255 DECLARE_CONCRETE_INSTRUCTION(PushArgument, "push-argument") 1275 DECLARE_CONCRETE_INSTRUCTION(PushArgument, "push-argument")
1256 }; 1276 };
1257 1277
1258 1278
(...skipping 756 matching lines...) Expand 10 before | Expand all | Expand 10 after
2015 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2035 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2016 }; 2036 };
2017 2037
2018 #undef DECLARE_HYDROGEN_ACCESSOR 2038 #undef DECLARE_HYDROGEN_ACCESSOR
2019 #undef DECLARE_INSTRUCTION 2039 #undef DECLARE_INSTRUCTION
2020 #undef DECLARE_CONCRETE_INSTRUCTION 2040 #undef DECLARE_CONCRETE_INSTRUCTION
2021 2041
2022 } } // namespace v8::int 2042 } } // namespace v8::int
2023 2043
2024 #endif // V8_X64_LITHIUM_X64_H_ 2044 #endif // V8_X64_LITHIUM_X64_H_
OLDNEW
« no previous file with comments | « src/x64/lithium-codegen-x64.cc ('k') | src/x64/lithium-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698