OLD | NEW |
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_FULL_CODEGEN_H_ | 5 #ifndef V8_FULL_CODEGEN_H_ |
6 #define V8_FULL_CODEGEN_H_ | 6 #define V8_FULL_CODEGEN_H_ |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
416 // the expression. | 416 // the expression. |
417 } | 417 } |
418 | 418 |
419 void VisitInDuplicateContext(Expression* expr); | 419 void VisitInDuplicateContext(Expression* expr); |
420 | 420 |
421 void VisitDeclarations(ZoneList<Declaration*>* declarations) override; | 421 void VisitDeclarations(ZoneList<Declaration*>* declarations) override; |
422 void DeclareModules(Handle<FixedArray> descriptions); | 422 void DeclareModules(Handle<FixedArray> descriptions); |
423 void DeclareGlobals(Handle<FixedArray> pairs); | 423 void DeclareGlobals(Handle<FixedArray> pairs); |
424 int DeclareGlobalsFlags(); | 424 int DeclareGlobalsFlags(); |
425 | 425 |
426 // Generate code to allocate all (including nested) modules and contexts. | |
427 // Because of recursive linking and the presence of module alias declarations, | |
428 // this has to be a separate pass _before_ populating or executing any module. | |
429 void AllocateModules(ZoneList<Declaration*>* declarations); | |
430 | |
431 // Generate code to create an iterator result object. The "value" property is | 426 // Generate code to create an iterator result object. The "value" property is |
432 // set to a value popped from the stack, and "done" is set according to the | 427 // set to a value popped from the stack, and "done" is set according to the |
433 // argument. The result object is left in the result register. | 428 // argument. The result object is left in the result register. |
434 void EmitCreateIteratorResult(bool done); | 429 void EmitCreateIteratorResult(bool done); |
435 | 430 |
436 // Try to perform a comparison as a fast inlined literal compare if | 431 // Try to perform a comparison as a fast inlined literal compare if |
437 // the operands allow it. Returns true if the compare operations | 432 // the operands allow it. Returns true if the compare operations |
438 // has been matched and all code generated; false otherwise. | 433 // has been matched and all code generated; false otherwise. |
439 bool TryLiteralCompare(CompareOperation* compare); | 434 bool TryLiteralCompare(CompareOperation* compare); |
440 | 435 |
(...skipping 659 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1100 | 1095 |
1101 Address start_; | 1096 Address start_; |
1102 Address instruction_start_; | 1097 Address instruction_start_; |
1103 uint32_t length_; | 1098 uint32_t length_; |
1104 }; | 1099 }; |
1105 | 1100 |
1106 | 1101 |
1107 } } // namespace v8::internal | 1102 } } // namespace v8::internal |
1108 | 1103 |
1109 #endif // V8_FULL_CODEGEN_H_ | 1104 #endif // V8_FULL_CODEGEN_H_ |
OLD | NEW |