OLD | NEW |
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 456 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
467 | 467 |
468 private: | 468 private: |
469 void MeetRegisterConstraints(); | 469 void MeetRegisterConstraints(); |
470 void ResolvePhis(); | 470 void ResolvePhis(); |
471 void BuildLiveRanges(); | 471 void BuildLiveRanges(); |
472 void AllocateGeneralRegisters(); | 472 void AllocateGeneralRegisters(); |
473 void AllocateDoubleRegisters(); | 473 void AllocateDoubleRegisters(); |
474 void ConnectRanges(); | 474 void ConnectRanges(); |
475 void ResolveControlFlow(); | 475 void ResolveControlFlow(); |
476 void PopulatePointerMaps(); | 476 void PopulatePointerMaps(); |
477 void ProcessOsrEntry(); | |
478 void AllocateRegisters(); | 477 void AllocateRegisters(); |
479 bool CanEagerlyResolveControlFlow(HBasicBlock* block) const; | 478 bool CanEagerlyResolveControlFlow(HBasicBlock* block) const; |
480 inline bool SafePointsAreInOrder() const; | 479 inline bool SafePointsAreInOrder() const; |
481 | 480 |
482 // Liveness analysis support. | 481 // Liveness analysis support. |
483 void InitializeLivenessAnalysis(); | 482 void InitializeLivenessAnalysis(); |
484 BitVector* ComputeLiveOut(HBasicBlock* block); | 483 BitVector* ComputeLiveOut(HBasicBlock* block); |
485 void AddInitialIntervals(HBasicBlock* block, BitVector* live_out); | 484 void AddInitialIntervals(HBasicBlock* block, BitVector* live_out); |
486 void ProcessInstructions(HBasicBlock* block, BitVector* live); | 485 void ProcessInstructions(HBasicBlock* block, BitVector* live); |
487 void MeetRegisterConstraints(HBasicBlock* block); | 486 void MeetRegisterConstraints(HBasicBlock* block); |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
656 private: | 655 private: |
657 LAllocator* allocator_; | 656 LAllocator* allocator_; |
658 | 657 |
659 DISALLOW_COPY_AND_ASSIGN(LAllocatorPhase); | 658 DISALLOW_COPY_AND_ASSIGN(LAllocatorPhase); |
660 }; | 659 }; |
661 | 660 |
662 | 661 |
663 } } // namespace v8::internal | 662 } } // namespace v8::internal |
664 | 663 |
665 #endif // V8_LITHIUM_ALLOCATOR_H_ | 664 #endif // V8_LITHIUM_ALLOCATOR_H_ |
OLD | NEW |