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

Side by Side Diff: src/ia32/ic-ia32.cc

Issue 552210: Move a line, in codegen-*.cc. Make formatting of ic-*.cc uniform. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 10 years, 11 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/ia32/codegen-ia32.cc ('k') | src/x64/codegen-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 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 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 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 // 6 bytes (jne slow_label). 173 // 6 bytes (jne slow_label).
174 const int LoadIC::kOffsetToLoadInstruction = 13; 174 const int LoadIC::kOffsetToLoadInstruction = 13;
175 175
176 176
177 void LoadIC::GenerateArrayLength(MacroAssembler* masm) { 177 void LoadIC::GenerateArrayLength(MacroAssembler* masm) {
178 // ----------- S t a t e ------------- 178 // ----------- S t a t e -------------
179 // -- ecx : name 179 // -- ecx : name
180 // -- esp[0] : return address 180 // -- esp[0] : return address
181 // -- esp[4] : receiver 181 // -- esp[4] : receiver
182 // ----------------------------------- 182 // -----------------------------------
183
184 Label miss; 183 Label miss;
185 184
186 __ mov(eax, Operand(esp, kPointerSize)); 185 __ mov(eax, Operand(esp, kPointerSize));
187 186
188 StubCompiler::GenerateLoadArrayLength(masm, eax, edx, &miss); 187 StubCompiler::GenerateLoadArrayLength(masm, eax, edx, &miss);
189 __ bind(&miss); 188 __ bind(&miss);
190 StubCompiler::GenerateLoadMiss(masm, Code::LOAD_IC); 189 StubCompiler::GenerateLoadMiss(masm, Code::LOAD_IC);
191 } 190 }
192 191
193 192
194 void LoadIC::GenerateStringLength(MacroAssembler* masm) { 193 void LoadIC::GenerateStringLength(MacroAssembler* masm) {
195 // ----------- S t a t e ------------- 194 // ----------- S t a t e -------------
196 // -- ecx : name 195 // -- ecx : name
197 // -- esp[0] : return address 196 // -- esp[0] : return address
198 // -- esp[4] : receiver 197 // -- esp[4] : receiver
199 // ----------------------------------- 198 // -----------------------------------
200
201 Label miss; 199 Label miss;
202 200
203 __ mov(eax, Operand(esp, kPointerSize)); 201 __ mov(eax, Operand(esp, kPointerSize));
204 202
205 StubCompiler::GenerateLoadStringLength(masm, eax, edx, &miss); 203 StubCompiler::GenerateLoadStringLength(masm, eax, edx, &miss);
206 __ bind(&miss); 204 __ bind(&miss);
207 StubCompiler::GenerateLoadMiss(masm, Code::LOAD_IC); 205 StubCompiler::GenerateLoadMiss(masm, Code::LOAD_IC);
208 } 206 }
209 207
210 208
211 void LoadIC::GenerateFunctionPrototype(MacroAssembler* masm) { 209 void LoadIC::GenerateFunctionPrototype(MacroAssembler* masm) {
212 // ----------- S t a t e ------------- 210 // ----------- S t a t e -------------
213 // -- ecx : name 211 // -- ecx : name
214 // -- esp[0] : return address 212 // -- esp[0] : return address
215 // -- esp[4] : receiver 213 // -- esp[4] : receiver
216 // ----------------------------------- 214 // -----------------------------------
217
218 Label miss; 215 Label miss;
219 216
220 __ mov(eax, Operand(esp, kPointerSize)); 217 __ mov(eax, Operand(esp, kPointerSize));
221 218
222 StubCompiler::GenerateLoadFunctionPrototype(masm, eax, edx, ebx, &miss); 219 StubCompiler::GenerateLoadFunctionPrototype(masm, eax, edx, ebx, &miss);
223 __ bind(&miss); 220 __ bind(&miss);
224 StubCompiler::GenerateLoadMiss(masm, Code::LOAD_IC); 221 StubCompiler::GenerateLoadMiss(masm, Code::LOAD_IC);
225 } 222 }
226 223
227 224
(...skipping 804 matching lines...) Expand 10 before | Expand all | Expand 10 after
1032 1029
1033 1030
1034 void CallIC::GenerateNormal(MacroAssembler* masm, int argc) { 1031 void CallIC::GenerateNormal(MacroAssembler* masm, int argc) {
1035 // ----------- S t a t e ------------- 1032 // ----------- S t a t e -------------
1036 // -- ecx : name 1033 // -- ecx : name
1037 // -- esp[0] : return address 1034 // -- esp[0] : return address
1038 // -- esp[(argc - n) * 4] : arg[n] (zero-based) 1035 // -- esp[(argc - n) * 4] : arg[n] (zero-based)
1039 // -- ... 1036 // -- ...
1040 // -- esp[(argc + 1) * 4] : receiver 1037 // -- esp[(argc + 1) * 4] : receiver
1041 // ----------------------------------- 1038 // -----------------------------------
1042
1043 Label miss, global_object, non_global_object; 1039 Label miss, global_object, non_global_object;
1044 1040
1045 // Get the receiver of the function from the stack; 1 ~ return address. 1041 // Get the receiver of the function from the stack; 1 ~ return address.
1046 __ mov(edx, Operand(esp, (argc + 1) * kPointerSize)); 1042 __ mov(edx, Operand(esp, (argc + 1) * kPointerSize));
1047 1043
1048 // Check that the receiver isn't a smi. 1044 // Check that the receiver isn't a smi.
1049 __ test(edx, Immediate(kSmiTagMask)); 1045 __ test(edx, Immediate(kSmiTagMask));
1050 __ j(zero, &miss, not_taken); 1046 __ j(zero, &miss, not_taken);
1051 1047
1052 // Check that the receiver is a valid JS object. 1048 // Check that the receiver is a valid JS object.
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
1171 Generate(masm, ExternalReference(IC_Utility(kLoadIC_Miss))); 1167 Generate(masm, ExternalReference(IC_Utility(kLoadIC_Miss)));
1172 } 1168 }
1173 1169
1174 1170
1175 void LoadIC::GenerateNormal(MacroAssembler* masm) { 1171 void LoadIC::GenerateNormal(MacroAssembler* masm) {
1176 // ----------- S t a t e ------------- 1172 // ----------- S t a t e -------------
1177 // -- ecx : name 1173 // -- ecx : name
1178 // -- esp[0] : return address 1174 // -- esp[0] : return address
1179 // -- esp[4] : receiver 1175 // -- esp[4] : receiver
1180 // ----------------------------------- 1176 // -----------------------------------
1181
1182 Label miss, probe, global; 1177 Label miss, probe, global;
1183 1178
1184 __ mov(eax, Operand(esp, kPointerSize)); 1179 __ mov(eax, Operand(esp, kPointerSize));
1185 1180
1186 // Check that the receiver isn't a smi. 1181 // Check that the receiver isn't a smi.
1187 __ test(eax, Immediate(kSmiTagMask)); 1182 __ test(eax, Immediate(kSmiTagMask));
1188 __ j(zero, &miss, not_taken); 1183 __ j(zero, &miss, not_taken);
1189 1184
1190 // Check that the receiver is a valid JS object. 1185 // Check that the receiver is a valid JS object.
1191 __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset)); 1186 __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset));
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
1421 1416
1422 1417
1423 void StoreIC::Generate(MacroAssembler* masm, const ExternalReference& f) { 1418 void StoreIC::Generate(MacroAssembler* masm, const ExternalReference& f) {
1424 // ----------- S t a t e ------------- 1419 // ----------- S t a t e -------------
1425 // -- eax : value 1420 // -- eax : value
1426 // -- ecx : name 1421 // -- ecx : name
1427 // -- esp[0] : return address 1422 // -- esp[0] : return address
1428 // -- esp[4] : receiver 1423 // -- esp[4] : receiver
1429 // ----------------------------------- 1424 // -----------------------------------
1430 1425
1431 // Move the return address below the arguments.
1432 __ pop(ebx); 1426 __ pop(ebx);
1433 __ push(Operand(esp, 0)); 1427 __ push(Operand(esp, 0));
1434 __ push(ecx); 1428 __ push(ecx);
1435 __ push(eax); 1429 __ push(eax);
1436 __ push(ebx); 1430 __ push(ebx);
1437 1431
1438 // Perform tail call to the entry. 1432 // Perform tail call to the entry.
1439 __ TailCallRuntime(f, 3, 1); 1433 __ TailCallRuntime(f, 3, 1);
1440 } 1434 }
1441 1435
1442 1436
1443 // Defined in ic.cc. 1437 // Defined in ic.cc.
1444 Object* KeyedStoreIC_Miss(Arguments args); 1438 Object* KeyedStoreIC_Miss(Arguments args);
1445 1439
1446 void KeyedStoreIC::Generate(MacroAssembler* masm, const ExternalReference& f) { 1440 void KeyedStoreIC::Generate(MacroAssembler* masm, const ExternalReference& f) {
1447 // ----------- S t a t e ------------- 1441 // ----------- S t a t e -------------
1448 // -- eax : value 1442 // -- eax : value
1449 // -- esp[0] : return address 1443 // -- esp[0] : return address
1450 // -- esp[4] : key 1444 // -- esp[4] : key
1451 // -- esp[8] : receiver 1445 // -- esp[8] : receiver
1452 // ----------------------------------- 1446 // -----------------------------------
1453 1447
1454 // Move the return address below the arguments.
1455 __ pop(ecx); 1448 __ pop(ecx);
1456 __ push(Operand(esp, 1 * kPointerSize)); 1449 __ push(Operand(esp, 1 * kPointerSize));
1457 __ push(Operand(esp, 1 * kPointerSize)); 1450 __ push(Operand(esp, 1 * kPointerSize));
1458 __ push(eax); 1451 __ push(eax);
1459 __ push(ecx); 1452 __ push(ecx);
1460 1453
1461 // Do tail-call to runtime routine. 1454 // Do tail-call to runtime routine.
1462 __ TailCallRuntime(f, 3, 1); 1455 __ TailCallRuntime(f, 3, 1);
1463 } 1456 }
1464 1457
1465 1458
1466 void KeyedStoreIC::GenerateExtendStorage(MacroAssembler* masm) { 1459 void KeyedStoreIC::GenerateExtendStorage(MacroAssembler* masm) {
1467 // ----------- S t a t e ------------- 1460 // ----------- S t a t e -------------
1468 // -- eax : value 1461 // -- eax : value
1469 // -- ecx : transition map 1462 // -- ecx : transition map
1470 // -- esp[0] : return address 1463 // -- esp[0] : return address
1471 // -- esp[4] : key 1464 // -- esp[4] : key
1472 // -- esp[8] : receiver 1465 // -- esp[8] : receiver
1473 // ----------------------------------- 1466 // -----------------------------------
1474 1467
1475 // Move the return address below the arguments.
1476 __ pop(ebx); 1468 __ pop(ebx);
1477 __ push(Operand(esp, 1 * kPointerSize)); 1469 __ push(Operand(esp, 1 * kPointerSize));
1478 __ push(ecx); 1470 __ push(ecx);
1479 __ push(eax); 1471 __ push(eax);
1480 __ push(ebx); 1472 __ push(ebx);
1481 1473
1482 // Do tail-call to runtime routine. 1474 // Do tail-call to runtime routine.
1483 __ TailCallRuntime( 1475 __ TailCallRuntime(
1484 ExternalReference(IC_Utility(kSharedStoreIC_ExtendStorage)), 3, 1); 1476 ExternalReference(IC_Utility(kSharedStoreIC_ExtendStorage)), 3, 1);
1485 } 1477 }
1486 1478
1487 #undef __ 1479 #undef __
1488 1480
1489 1481
1490 } } // namespace v8::internal 1482 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/ia32/codegen-ia32.cc ('k') | src/x64/codegen-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698