| OLD | NEW |
| 1 Design of the Subzero fast code generator | 1 Design of the Subzero fast code generator |
| 2 ========================================= | 2 ========================================= |
| 3 | 3 |
| 4 Introduction | 4 Introduction |
| 5 ------------ | 5 ------------ |
| 6 | 6 |
| 7 The `Portable Native Client (PNaCl) <http://gonacl.com>`_ project includes | 7 The `Portable Native Client (PNaCl) <http://gonacl.com>`_ project includes |
| 8 compiler technology based on `LLVM <http://llvm.org/>`_. The developer uses the | 8 compiler technology based on `LLVM <http://llvm.org/>`_. The developer uses the |
| 9 PNaCl toolchain to compile their application to architecture-neutral PNaCl | 9 PNaCl toolchain to compile their application to architecture-neutral PNaCl |
| 10 bitcode (a ``.pexe`` file), using as much architecture-neutral optimization as | 10 bitcode (a ``.pexe`` file), using as much architecture-neutral optimization as |
| (...skipping 1474 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1485 This could be mitigated by switching these to the CFG-local allocator. | 1485 This could be mitigated by switching these to the CFG-local allocator. |
| 1486 | 1486 |
| 1487 Third, multithreading may make the default allocator strategy more expensive. | 1487 Third, multithreading may make the default allocator strategy more expensive. |
| 1488 In a single-threaded environment, a pass will allocate its containers, run the | 1488 In a single-threaded environment, a pass will allocate its containers, run the |
| 1489 pass, and deallocate the containers. This results in stack-like allocation | 1489 pass, and deallocate the containers. This results in stack-like allocation |
| 1490 behavior and makes the heap free list easier to manage, with less heap | 1490 behavior and makes the heap free list easier to manage, with less heap |
| 1491 fragmentation. But when multithreading is added, the allocations and | 1491 fragmentation. But when multithreading is added, the allocations and |
| 1492 deallocations become much less stack-like, making allocation and deallocation | 1492 deallocations become much less stack-like, making allocation and deallocation |
| 1493 operations individually more expensive. Again, this could be mitigated by | 1493 operations individually more expensive. Again, this could be mitigated by |
| 1494 switching these to the CFG-local allocator. | 1494 switching these to the CFG-local allocator. |
| OLD | NEW |