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/ia32/lithium-codegen-ia32.cc

Issue 19562003: Add support for IncrementCounter in Hydrogen. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Using HConstant, HLoadKeyed, HAdd and HStoreKeyed. Created 7 years, 5 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 1820 matching lines...) Expand 10 before | Expand all | Expand 10 after
1831 __ Set(temp, Immediate(lower)); 1831 __ Set(temp, Immediate(lower));
1832 __ movd(xmm0, Operand(temp)); 1832 __ movd(xmm0, Operand(temp));
1833 __ por(res, xmm0); 1833 __ por(res, xmm0);
1834 } 1834 }
1835 } 1835 }
1836 } 1836 }
1837 } 1837 }
1838 } 1838 }
1839 1839
1840 1840
1841 void LCodeGen::DoConstantE(LConstantE* instr) {
1842 __ lea(ToRegister(instr->result()), Operand::StaticVariable(instr->value()));
1843 }
1844
1845
1841 void LCodeGen::DoConstantT(LConstantT* instr) { 1846 void LCodeGen::DoConstantT(LConstantT* instr) {
1842 Register reg = ToRegister(instr->result()); 1847 Register reg = ToRegister(instr->result());
1843 Handle<Object> handle = instr->value(); 1848 Handle<Object> handle = instr->value();
1844 AllowDeferredHandleDereference smi_check; 1849 AllowDeferredHandleDereference smi_check;
1845 if (handle->IsHeapObject()) { 1850 if (handle->IsHeapObject()) {
1846 __ LoadHeapObject(reg, Handle<HeapObject>::cast(handle)); 1851 __ LoadHeapObject(reg, Handle<HeapObject>::cast(handle));
1847 } else { 1852 } else {
1848 __ Set(reg, Immediate(handle)); 1853 __ Set(reg, Immediate(handle));
1849 } 1854 }
1850 } 1855 }
(...skipping 4650 matching lines...) Expand 10 before | Expand all | Expand 10 after
6501 FixedArray::kHeaderSize - kPointerSize)); 6506 FixedArray::kHeaderSize - kPointerSize));
6502 __ bind(&done); 6507 __ bind(&done);
6503 } 6508 }
6504 6509
6505 6510
6506 #undef __ 6511 #undef __
6507 6512
6508 } } // namespace v8::internal 6513 } } // namespace v8::internal
6509 6514
6510 #endif // V8_TARGET_ARCH_IA32 6515 #endif // V8_TARGET_ARCH_IA32
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698