OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
386 void VisitStatementsAndSpill(ZoneList<Statement*>* statements); | 386 void VisitStatementsAndSpill(ZoneList<Statement*>* statements); |
387 | 387 |
388 // Main code generation function | 388 // Main code generation function |
389 void Generate(CompilationInfo* info); | 389 void Generate(CompilationInfo* info); |
390 | 390 |
391 // Generate the return sequence code. Should be called no more than | 391 // Generate the return sequence code. Should be called no more than |
392 // once per compiled function, immediately after binding the return | 392 // once per compiled function, immediately after binding the return |
393 // target (which can not be done more than once). | 393 // target (which can not be done more than once). |
394 void GenerateReturnSequence(Result* return_value); | 394 void GenerateReturnSequence(Result* return_value); |
395 | 395 |
| 396 // Generate code for a fast smi loop. |
| 397 void GenerateFastSmiLoop(ForStatement* node); |
| 398 |
396 // Returns the arguments allocation mode. | 399 // Returns the arguments allocation mode. |
397 ArgumentsAllocationMode ArgumentsMode(); | 400 ArgumentsAllocationMode ArgumentsMode(); |
398 | 401 |
399 // Store the arguments object and allocate it if necessary. | 402 // Store the arguments object and allocate it if necessary. |
400 Result StoreArgumentsObject(bool initial); | 403 Result StoreArgumentsObject(bool initial); |
401 | 404 |
402 // The following are used by class Reference. | 405 // The following are used by class Reference. |
403 void LoadReference(Reference* ref); | 406 void LoadReference(Reference* ref); |
404 void UnloadReference(Reference* ref); | 407 void UnloadReference(Reference* ref); |
405 | 408 |
(...skipping 641 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1047 return ObjectBits::encode(object_.code()) | | 1050 return ObjectBits::encode(object_.code()) | |
1048 AddressBits::encode(addr_.code()) | | 1051 AddressBits::encode(addr_.code()) | |
1049 ScratchBits::encode(scratch_.code()); | 1052 ScratchBits::encode(scratch_.code()); |
1050 } | 1053 } |
1051 }; | 1054 }; |
1052 | 1055 |
1053 | 1056 |
1054 } } // namespace v8::internal | 1057 } } // namespace v8::internal |
1055 | 1058 |
1056 #endif // V8_X64_CODEGEN_X64_H_ | 1059 #endif // V8_X64_CODEGEN_X64_H_ |
OLD | NEW |