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 |