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

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

Issue 500073002: Eliminate code duplication in lithium calls to vector-based LoadICs (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 4 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/arm64/lithium-codegen-arm64.cc ('k') | src/ia32/lithium-codegen-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_CODEGEN_IA32_H_ 5 #ifndef V8_IA32_LITHIUM_CODEGEN_IA32_H_
6 #define V8_IA32_LITHIUM_CODEGEN_IA32_H_ 6 #define V8_IA32_LITHIUM_CODEGEN_IA32_H_
7 7
8 #include "src/ia32/lithium-ia32.h" 8 #include "src/ia32/lithium-ia32.h"
9 9
10 #include "src/base/logging.h" 10 #include "src/base/logging.h"
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 AllocationSiteMode mode); 312 AllocationSiteMode mode);
313 313
314 void EnsureSpaceForLazyDeopt(int space_needed) V8_OVERRIDE; 314 void EnsureSpaceForLazyDeopt(int space_needed) V8_OVERRIDE;
315 void DoLoadKeyedExternalArray(LLoadKeyed* instr); 315 void DoLoadKeyedExternalArray(LLoadKeyed* instr);
316 void DoLoadKeyedFixedDoubleArray(LLoadKeyed* instr); 316 void DoLoadKeyedFixedDoubleArray(LLoadKeyed* instr);
317 void DoLoadKeyedFixedArray(LLoadKeyed* instr); 317 void DoLoadKeyedFixedArray(LLoadKeyed* instr);
318 void DoStoreKeyedExternalArray(LStoreKeyed* instr); 318 void DoStoreKeyedExternalArray(LStoreKeyed* instr);
319 void DoStoreKeyedFixedDoubleArray(LStoreKeyed* instr); 319 void DoStoreKeyedFixedDoubleArray(LStoreKeyed* instr);
320 void DoStoreKeyedFixedArray(LStoreKeyed* instr); 320 void DoStoreKeyedFixedArray(LStoreKeyed* instr);
321 321
322 template <class T>
323 void EmitVectorLoadICRegisters(T* instr);
324
322 void EmitReturn(LReturn* instr, bool dynamic_frame_alignment); 325 void EmitReturn(LReturn* instr, bool dynamic_frame_alignment);
323 326
324 // Emits code for pushing either a tagged constant, a (non-double) 327 // Emits code for pushing either a tagged constant, a (non-double)
325 // register, or a stack slot operand. 328 // register, or a stack slot operand.
326 void EmitPushTaggedOperand(LOperand* operand); 329 void EmitPushTaggedOperand(LOperand* operand);
327 330
328 friend class LGapResolver; 331 friend class LGapResolver;
329 332
330 #ifdef _MSC_VER 333 #ifdef _MSC_VER
331 // On windows, you may not access the stack more than one page below 334 // On windows, you may not access the stack more than one page below
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 Label entry_; 414 Label entry_;
412 Label exit_; 415 Label exit_;
413 Label* external_exit_; 416 Label* external_exit_;
414 Label done_; 417 Label done_;
415 int instruction_index_; 418 int instruction_index_;
416 }; 419 };
417 420
418 } } // namespace v8::internal 421 } } // namespace v8::internal
419 422
420 #endif // V8_IA32_LITHIUM_CODEGEN_IA32_H_ 423 #endif // V8_IA32_LITHIUM_CODEGEN_IA32_H_
OLDNEW
« no previous file with comments | « src/arm64/lithium-codegen-arm64.cc ('k') | src/ia32/lithium-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698