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

Side by Side Diff: src/compiler/ia32/code-generator-ia32.cc

Issue 1959763002: [turbofan] Rename floating point register / slot methods. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Unfix arm64. Created 4 years, 7 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
« no previous file with comments | « src/compiler/graph-visualizer.cc ('k') | src/compiler/instruction.h » ('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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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 #include "src/compiler/code-generator.h" 5 #include "src/compiler/code-generator.h"
6 6
7 #include "src/ast/scopes.h" 7 #include "src/ast/scopes.h"
8 #include "src/compiler/code-generator-impl.h" 8 #include "src/compiler/code-generator-impl.h"
9 #include "src/compiler/gap-resolver.h" 9 #include "src/compiler/gap-resolver.h"
10 #include "src/compiler/node-matchers.h" 10 #include "src/compiler/node-matchers.h"
(...skipping 26 matching lines...) Expand all
37 Immediate InputImmediate(size_t index) { 37 Immediate InputImmediate(size_t index) {
38 return ToImmediate(instr_->InputAt(index)); 38 return ToImmediate(instr_->InputAt(index));
39 } 39 }
40 40
41 Operand OutputOperand() { return ToOperand(instr_->Output()); } 41 Operand OutputOperand() { return ToOperand(instr_->Output()); }
42 42
43 Operand ToOperand(InstructionOperand* op, int extra = 0) { 43 Operand ToOperand(InstructionOperand* op, int extra = 0) {
44 if (op->IsRegister()) { 44 if (op->IsRegister()) {
45 DCHECK(extra == 0); 45 DCHECK(extra == 0);
46 return Operand(ToRegister(op)); 46 return Operand(ToRegister(op));
47 } else if (op->IsDoubleRegister()) { 47 } else if (op->IsFPRegister()) {
48 DCHECK(extra == 0); 48 DCHECK(extra == 0);
49 return Operand(ToDoubleRegister(op)); 49 return Operand(ToDoubleRegister(op));
50 } 50 }
51 DCHECK(op->IsStackSlot() || op->IsDoubleStackSlot()); 51 DCHECK(op->IsStackSlot() || op->IsFPStackSlot());
52 return SlotToOperand(AllocatedOperand::cast(op)->index(), extra); 52 return SlotToOperand(AllocatedOperand::cast(op)->index(), extra);
53 } 53 }
54 54
55 Operand SlotToOperand(int slot, int extra = 0) { 55 Operand SlotToOperand(int slot, int extra = 0) {
56 FrameOffset offset = frame_access_state()->GetFrameOffset(slot); 56 FrameOffset offset = frame_access_state()->GetFrameOffset(slot);
57 return Operand(offset.from_stack_pointer() ? esp : ebp, 57 return Operand(offset.from_stack_pointer() ? esp : ebp,
58 offset.offset() + extra); 58 offset.offset() + extra);
59 } 59 }
60 60
61 Operand HighOperand(InstructionOperand* op) { 61 Operand HighOperand(InstructionOperand* op) {
62 DCHECK(op->IsDoubleStackSlot()); 62 DCHECK(op->IsFPStackSlot());
63 return ToOperand(op, kPointerSize); 63 return ToOperand(op, kPointerSize);
64 } 64 }
65 65
66 Immediate ToImmediate(InstructionOperand* operand) { 66 Immediate ToImmediate(InstructionOperand* operand) {
67 Constant constant = ToConstant(operand); 67 Constant constant = ToConstant(operand);
68 if (constant.type() == Constant::kInt32 && 68 if (constant.type() == Constant::kInt32 &&
69 (constant.rmode() == RelocInfo::WASM_MEMORY_REFERENCE || 69 (constant.rmode() == RelocInfo::WASM_MEMORY_REFERENCE ||
70 constant.rmode() == RelocInfo::WASM_MEMORY_SIZE_REFERENCE)) { 70 constant.rmode() == RelocInfo::WASM_MEMORY_SIZE_REFERENCE)) {
71 return Immediate(reinterpret_cast<Address>(constant.ToInt32()), 71 return Immediate(reinterpret_cast<Address>(constant.ToInt32()),
72 constant.rmode()); 72 constant.rmode());
(...skipping 901 matching lines...) Expand 10 before | Expand all | Expand 10 after
974 __ Cvtui2ss(i.OutputDoubleRegister(), scratch0, scratch1); 974 __ Cvtui2ss(i.OutputDoubleRegister(), scratch0, scratch1);
975 break; 975 break;
976 } 976 }
977 case kSSEInt32ToFloat64: 977 case kSSEInt32ToFloat64:
978 __ cvtsi2sd(i.OutputDoubleRegister(), i.InputOperand(0)); 978 __ cvtsi2sd(i.OutputDoubleRegister(), i.InputOperand(0));
979 break; 979 break;
980 case kSSEUint32ToFloat64: 980 case kSSEUint32ToFloat64:
981 __ LoadUint32(i.OutputDoubleRegister(), i.InputOperand(0)); 981 __ LoadUint32(i.OutputDoubleRegister(), i.InputOperand(0));
982 break; 982 break;
983 case kSSEFloat64ExtractLowWord32: 983 case kSSEFloat64ExtractLowWord32:
984 if (instr->InputAt(0)->IsDoubleStackSlot()) { 984 if (instr->InputAt(0)->IsFPStackSlot()) {
985 __ mov(i.OutputRegister(), i.InputOperand(0)); 985 __ mov(i.OutputRegister(), i.InputOperand(0));
986 } else { 986 } else {
987 __ movd(i.OutputRegister(), i.InputDoubleRegister(0)); 987 __ movd(i.OutputRegister(), i.InputDoubleRegister(0));
988 } 988 }
989 break; 989 break;
990 case kSSEFloat64ExtractHighWord32: 990 case kSSEFloat64ExtractHighWord32:
991 if (instr->InputAt(0)->IsDoubleStackSlot()) { 991 if (instr->InputAt(0)->IsFPStackSlot()) {
992 __ mov(i.OutputRegister(), i.InputOperand(0, kDoubleSize / 2)); 992 __ mov(i.OutputRegister(), i.InputOperand(0, kDoubleSize / 2));
993 } else { 993 } else {
994 __ Pextrd(i.OutputRegister(), i.InputDoubleRegister(0), 1); 994 __ Pextrd(i.OutputRegister(), i.InputDoubleRegister(0), 1);
995 } 995 }
996 break; 996 break;
997 case kSSEFloat64InsertLowWord32: 997 case kSSEFloat64InsertLowWord32:
998 __ Pinsrd(i.OutputDoubleRegister(), i.InputOperand(1), 0); 998 __ Pinsrd(i.OutputDoubleRegister(), i.InputOperand(1), 0);
999 break; 999 break;
1000 case kSSEFloat64InsertHighWord32: 1000 case kSSEFloat64InsertHighWord32:
1001 __ Pinsrd(i.OutputDoubleRegister(), i.InputOperand(1), 1); 1001 __ Pinsrd(i.OutputDoubleRegister(), i.InputOperand(1), 1);
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
1170 case kIA32Movss: 1170 case kIA32Movss:
1171 if (instr->HasOutput()) { 1171 if (instr->HasOutput()) {
1172 __ movss(i.OutputDoubleRegister(), i.MemoryOperand()); 1172 __ movss(i.OutputDoubleRegister(), i.MemoryOperand());
1173 } else { 1173 } else {
1174 size_t index = 0; 1174 size_t index = 0;
1175 Operand operand = i.MemoryOperand(&index); 1175 Operand operand = i.MemoryOperand(&index);
1176 __ movss(operand, i.InputDoubleRegister(index)); 1176 __ movss(operand, i.InputDoubleRegister(index));
1177 } 1177 }
1178 break; 1178 break;
1179 case kIA32BitcastFI: 1179 case kIA32BitcastFI:
1180 if (instr->InputAt(0)->IsDoubleStackSlot()) { 1180 if (instr->InputAt(0)->IsFPStackSlot()) {
1181 __ mov(i.OutputRegister(), i.InputOperand(0)); 1181 __ mov(i.OutputRegister(), i.InputOperand(0));
1182 } else { 1182 } else {
1183 __ movd(i.OutputRegister(), i.InputDoubleRegister(0)); 1183 __ movd(i.OutputRegister(), i.InputDoubleRegister(0));
1184 } 1184 }
1185 break; 1185 break;
1186 case kIA32BitcastIF: 1186 case kIA32BitcastIF:
1187 if (instr->InputAt(0)->IsRegister()) { 1187 if (instr->InputAt(0)->IsRegister()) {
1188 __ movd(i.OutputDoubleRegister(), i.InputRegister(0)); 1188 __ movd(i.OutputDoubleRegister(), i.InputRegister(0));
1189 } else { 1189 } else {
1190 __ movss(i.OutputDoubleRegister(), i.InputOperand(0)); 1190 __ movss(i.OutputDoubleRegister(), i.InputOperand(0));
(...skipping 28 matching lines...) Expand all
1219 __ shl(i.OutputRegister(), 3); 1219 __ shl(i.OutputRegister(), 3);
1220 } else { 1220 } else {
1221 __ lea(i.OutputRegister(), i.MemoryOperand()); 1221 __ lea(i.OutputRegister(), i.MemoryOperand());
1222 } 1222 }
1223 } else { 1223 } else {
1224 __ lea(i.OutputRegister(), i.MemoryOperand()); 1224 __ lea(i.OutputRegister(), i.MemoryOperand());
1225 } 1225 }
1226 break; 1226 break;
1227 } 1227 }
1228 case kIA32PushFloat32: 1228 case kIA32PushFloat32:
1229 if (instr->InputAt(0)->IsDoubleRegister()) { 1229 if (instr->InputAt(0)->IsFPRegister()) {
1230 __ sub(esp, Immediate(kDoubleSize)); 1230 __ sub(esp, Immediate(kDoubleSize));
1231 __ movss(Operand(esp, 0), i.InputDoubleRegister(0)); 1231 __ movss(Operand(esp, 0), i.InputDoubleRegister(0));
1232 frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize); 1232 frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize);
1233 } else if (HasImmediateInput(instr, 0)) { 1233 } else if (HasImmediateInput(instr, 0)) {
1234 __ Move(kScratchDoubleReg, i.InputDouble(0)); 1234 __ Move(kScratchDoubleReg, i.InputDouble(0));
1235 __ sub(esp, Immediate(kDoubleSize)); 1235 __ sub(esp, Immediate(kDoubleSize));
1236 __ movss(Operand(esp, 0), kScratchDoubleReg); 1236 __ movss(Operand(esp, 0), kScratchDoubleReg);
1237 frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize); 1237 frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize);
1238 } else { 1238 } else {
1239 __ movsd(kScratchDoubleReg, i.InputOperand(0)); 1239 __ movsd(kScratchDoubleReg, i.InputOperand(0));
1240 __ sub(esp, Immediate(kDoubleSize)); 1240 __ sub(esp, Immediate(kDoubleSize));
1241 __ movss(Operand(esp, 0), kScratchDoubleReg); 1241 __ movss(Operand(esp, 0), kScratchDoubleReg);
1242 frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize); 1242 frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize);
1243 } 1243 }
1244 break; 1244 break;
1245 case kIA32PushFloat64: 1245 case kIA32PushFloat64:
1246 if (instr->InputAt(0)->IsDoubleRegister()) { 1246 if (instr->InputAt(0)->IsFPRegister()) {
1247 __ sub(esp, Immediate(kDoubleSize)); 1247 __ sub(esp, Immediate(kDoubleSize));
1248 __ movsd(Operand(esp, 0), i.InputDoubleRegister(0)); 1248 __ movsd(Operand(esp, 0), i.InputDoubleRegister(0));
1249 frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize); 1249 frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize);
1250 } else if (HasImmediateInput(instr, 0)) { 1250 } else if (HasImmediateInput(instr, 0)) {
1251 __ Move(kScratchDoubleReg, i.InputDouble(0)); 1251 __ Move(kScratchDoubleReg, i.InputDouble(0));
1252 __ sub(esp, Immediate(kDoubleSize)); 1252 __ sub(esp, Immediate(kDoubleSize));
1253 __ movsd(Operand(esp, 0), kScratchDoubleReg); 1253 __ movsd(Operand(esp, 0), kScratchDoubleReg);
1254 frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize); 1254 frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize);
1255 } else { 1255 } else {
1256 __ movsd(kScratchDoubleReg, i.InputOperand(0)); 1256 __ movsd(kScratchDoubleReg, i.InputOperand(0));
1257 __ sub(esp, Immediate(kDoubleSize)); 1257 __ sub(esp, Immediate(kDoubleSize));
1258 __ movsd(Operand(esp, 0), kScratchDoubleReg); 1258 __ movsd(Operand(esp, 0), kScratchDoubleReg);
1259 frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize); 1259 frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize);
1260 } 1260 }
1261 break; 1261 break;
1262 case kIA32Push: 1262 case kIA32Push:
1263 if (instr->InputAt(0)->IsDoubleRegister()) { 1263 if (instr->InputAt(0)->IsFPRegister()) {
1264 __ sub(esp, Immediate(kDoubleSize)); 1264 __ sub(esp, Immediate(kDoubleSize));
1265 __ movsd(Operand(esp, 0), i.InputDoubleRegister(0)); 1265 __ movsd(Operand(esp, 0), i.InputDoubleRegister(0));
1266 frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize); 1266 frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize);
1267 } else if (HasImmediateInput(instr, 0)) { 1267 } else if (HasImmediateInput(instr, 0)) {
1268 __ push(i.InputImmediate(0)); 1268 __ push(i.InputImmediate(0));
1269 frame_access_state()->IncreaseSPDelta(1); 1269 frame_access_state()->IncreaseSPDelta(1);
1270 } else { 1270 } else {
1271 __ push(i.InputOperand(0)); 1271 __ push(i.InputOperand(0));
1272 frame_access_state()->IncreaseSPDelta(1); 1272 frame_access_state()->IncreaseSPDelta(1);
1273 } 1273 }
(...skipping 535 matching lines...) Expand 10 before | Expand all | Expand 10 after
1809 } 1809 }
1810 } else if (destination->IsRegister()) { 1810 } else if (destination->IsRegister()) {
1811 Register dst = g.ToRegister(destination); 1811 Register dst = g.ToRegister(destination);
1812 __ Move(dst, g.ToImmediate(source)); 1812 __ Move(dst, g.ToImmediate(source));
1813 } else if (destination->IsStackSlot()) { 1813 } else if (destination->IsStackSlot()) {
1814 Operand dst = g.ToOperand(destination); 1814 Operand dst = g.ToOperand(destination);
1815 __ Move(dst, g.ToImmediate(source)); 1815 __ Move(dst, g.ToImmediate(source));
1816 } else if (src_constant.type() == Constant::kFloat32) { 1816 } else if (src_constant.type() == Constant::kFloat32) {
1817 // TODO(turbofan): Can we do better here? 1817 // TODO(turbofan): Can we do better here?
1818 uint32_t src = bit_cast<uint32_t>(src_constant.ToFloat32()); 1818 uint32_t src = bit_cast<uint32_t>(src_constant.ToFloat32());
1819 if (destination->IsDoubleRegister()) { 1819 if (destination->IsFPRegister()) {
1820 XMMRegister dst = g.ToDoubleRegister(destination); 1820 XMMRegister dst = g.ToDoubleRegister(destination);
1821 __ Move(dst, src); 1821 __ Move(dst, src);
1822 } else { 1822 } else {
1823 DCHECK(destination->IsDoubleStackSlot()); 1823 DCHECK(destination->IsFPStackSlot());
1824 Operand dst = g.ToOperand(destination); 1824 Operand dst = g.ToOperand(destination);
1825 __ Move(dst, Immediate(src)); 1825 __ Move(dst, Immediate(src));
1826 } 1826 }
1827 } else { 1827 } else {
1828 DCHECK_EQ(Constant::kFloat64, src_constant.type()); 1828 DCHECK_EQ(Constant::kFloat64, src_constant.type());
1829 uint64_t src = bit_cast<uint64_t>(src_constant.ToFloat64()); 1829 uint64_t src = bit_cast<uint64_t>(src_constant.ToFloat64());
1830 uint32_t lower = static_cast<uint32_t>(src); 1830 uint32_t lower = static_cast<uint32_t>(src);
1831 uint32_t upper = static_cast<uint32_t>(src >> 32); 1831 uint32_t upper = static_cast<uint32_t>(src >> 32);
1832 if (destination->IsDoubleRegister()) { 1832 if (destination->IsFPRegister()) {
1833 XMMRegister dst = g.ToDoubleRegister(destination); 1833 XMMRegister dst = g.ToDoubleRegister(destination);
1834 __ Move(dst, src); 1834 __ Move(dst, src);
1835 } else { 1835 } else {
1836 DCHECK(destination->IsDoubleStackSlot()); 1836 DCHECK(destination->IsFPStackSlot());
1837 Operand dst0 = g.ToOperand(destination); 1837 Operand dst0 = g.ToOperand(destination);
1838 Operand dst1 = g.HighOperand(destination); 1838 Operand dst1 = g.HighOperand(destination);
1839 __ Move(dst0, Immediate(lower)); 1839 __ Move(dst0, Immediate(lower));
1840 __ Move(dst1, Immediate(upper)); 1840 __ Move(dst1, Immediate(upper));
1841 } 1841 }
1842 } 1842 }
1843 } else if (source->IsDoubleRegister()) { 1843 } else if (source->IsFPRegister()) {
1844 XMMRegister src = g.ToDoubleRegister(source); 1844 XMMRegister src = g.ToDoubleRegister(source);
1845 if (destination->IsDoubleRegister()) { 1845 if (destination->IsFPRegister()) {
1846 XMMRegister dst = g.ToDoubleRegister(destination); 1846 XMMRegister dst = g.ToDoubleRegister(destination);
1847 __ movaps(dst, src); 1847 __ movaps(dst, src);
1848 } else { 1848 } else {
1849 DCHECK(destination->IsDoubleStackSlot()); 1849 DCHECK(destination->IsFPStackSlot());
1850 Operand dst = g.ToOperand(destination); 1850 Operand dst = g.ToOperand(destination);
1851 __ movsd(dst, src); 1851 __ movsd(dst, src);
1852 } 1852 }
1853 } else if (source->IsDoubleStackSlot()) { 1853 } else if (source->IsFPStackSlot()) {
1854 DCHECK(destination->IsDoubleRegister() || destination->IsDoubleStackSlot()); 1854 DCHECK(destination->IsFPRegister() || destination->IsFPStackSlot());
1855 Operand src = g.ToOperand(source); 1855 Operand src = g.ToOperand(source);
1856 if (destination->IsDoubleRegister()) { 1856 if (destination->IsFPRegister()) {
1857 XMMRegister dst = g.ToDoubleRegister(destination); 1857 XMMRegister dst = g.ToDoubleRegister(destination);
1858 __ movsd(dst, src); 1858 __ movsd(dst, src);
1859 } else { 1859 } else {
1860 Operand dst = g.ToOperand(destination); 1860 Operand dst = g.ToOperand(destination);
1861 __ movsd(kScratchDoubleReg, src); 1861 __ movsd(kScratchDoubleReg, src);
1862 __ movsd(dst, kScratchDoubleReg); 1862 __ movsd(dst, kScratchDoubleReg);
1863 } 1863 }
1864 } else { 1864 } else {
1865 UNREACHABLE(); 1865 UNREACHABLE();
1866 } 1866 }
(...skipping 27 matching lines...) Expand all
1894 Operand dst1 = g.ToOperand(destination); 1894 Operand dst1 = g.ToOperand(destination);
1895 __ push(dst1); 1895 __ push(dst1);
1896 frame_access_state()->IncreaseSPDelta(1); 1896 frame_access_state()->IncreaseSPDelta(1);
1897 Operand src1 = g.ToOperand(source); 1897 Operand src1 = g.ToOperand(source);
1898 __ push(src1); 1898 __ push(src1);
1899 Operand dst2 = g.ToOperand(destination); 1899 Operand dst2 = g.ToOperand(destination);
1900 __ pop(dst2); 1900 __ pop(dst2);
1901 frame_access_state()->IncreaseSPDelta(-1); 1901 frame_access_state()->IncreaseSPDelta(-1);
1902 Operand src2 = g.ToOperand(source); 1902 Operand src2 = g.ToOperand(source);
1903 __ pop(src2); 1903 __ pop(src2);
1904 } else if (source->IsDoubleRegister() && destination->IsDoubleRegister()) { 1904 } else if (source->IsFPRegister() && destination->IsFPRegister()) {
1905 // XMM register-register swap. 1905 // XMM register-register swap.
1906 XMMRegister src = g.ToDoubleRegister(source); 1906 XMMRegister src = g.ToDoubleRegister(source);
1907 XMMRegister dst = g.ToDoubleRegister(destination); 1907 XMMRegister dst = g.ToDoubleRegister(destination);
1908 __ movaps(kScratchDoubleReg, src); 1908 __ movaps(kScratchDoubleReg, src);
1909 __ movaps(src, dst); 1909 __ movaps(src, dst);
1910 __ movaps(dst, kScratchDoubleReg); 1910 __ movaps(dst, kScratchDoubleReg);
1911 } else if (source->IsDoubleRegister() && destination->IsDoubleStackSlot()) { 1911 } else if (source->IsFPRegister() && destination->IsFPStackSlot()) {
1912 // XMM register-memory swap. 1912 // XMM register-memory swap.
1913 XMMRegister reg = g.ToDoubleRegister(source); 1913 XMMRegister reg = g.ToDoubleRegister(source);
1914 Operand other = g.ToOperand(destination); 1914 Operand other = g.ToOperand(destination);
1915 __ movsd(kScratchDoubleReg, other); 1915 __ movsd(kScratchDoubleReg, other);
1916 __ movsd(other, reg); 1916 __ movsd(other, reg);
1917 __ movaps(reg, kScratchDoubleReg); 1917 __ movaps(reg, kScratchDoubleReg);
1918 } else if (source->IsDoubleStackSlot() && destination->IsDoubleStackSlot()) { 1918 } else if (source->IsFPStackSlot() && destination->IsFPStackSlot()) {
1919 // Double-width memory-to-memory. 1919 // Double-width memory-to-memory.
1920 Operand src0 = g.ToOperand(source); 1920 Operand src0 = g.ToOperand(source);
1921 Operand src1 = g.HighOperand(source); 1921 Operand src1 = g.HighOperand(source);
1922 Operand dst0 = g.ToOperand(destination); 1922 Operand dst0 = g.ToOperand(destination);
1923 Operand dst1 = g.HighOperand(destination); 1923 Operand dst1 = g.HighOperand(destination);
1924 __ movsd(kScratchDoubleReg, dst0); // Save destination in scratch register. 1924 __ movsd(kScratchDoubleReg, dst0); // Save destination in scratch register.
1925 __ push(src0); // Then use stack to copy source to destination. 1925 __ push(src0); // Then use stack to copy source to destination.
1926 __ pop(dst0); 1926 __ pop(dst0);
1927 __ push(src1); 1927 __ push(src1);
1928 __ pop(dst1); 1928 __ pop(dst1);
(...skipping 25 matching lines...) Expand all
1954 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; 1954 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc;
1955 __ Nop(padding_size); 1955 __ Nop(padding_size);
1956 } 1956 }
1957 } 1957 }
1958 1958
1959 #undef __ 1959 #undef __
1960 1960
1961 } // namespace compiler 1961 } // namespace compiler
1962 } // namespace internal 1962 } // namespace internal
1963 } // namespace v8 1963 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/graph-visualizer.cc ('k') | src/compiler/instruction.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698