| OLD | NEW |
| 1 .. _nacl-and-pnacl: | 1 .. _nacl-and-pnacl: |
| 2 | 2 |
| 3 ############## | 3 ############## |
| 4 NaCl and PNaCl | 4 NaCl and PNaCl |
| 5 ############## | 5 ############## |
| 6 | 6 |
| 7 This document describes the differences between **Native Client** and | 7 This document describes the differences between **Native Client** and |
| 8 **Portable Native Client**, and provides recommendations for when to use each. | 8 **Portable Native Client**, and provides recommendations for when to use each. |
| 9 | 9 |
| 10 .. contents:: | 10 .. contents:: |
| 11 :local: | 11 :local: |
| 12 :backlinks: none | 12 :backlinks: none |
| 13 :depth: 2 | 13 :depth: 2 |
| 14 | 14 |
| 15 Native Client (NaCl) | 15 Native Client (NaCl) |
| 16 ==================== | 16 ==================== |
| 17 | 17 |
| 18 Native Client enables the execution of native code securely inside web | 18 Native Client enables the execution of native code securely inside web |
| 19 applications through the use of advanced `Software Fault Isolation (SFI) | 19 applications through the use of advanced `Software Fault Isolation (SFI) |
| 20 techniques </native-client/community/talks#research>`_. Since its launch in | 20 techniques <http://research.google.com/pubs/pub35649.html>`_. Since its launch
in |
| 21 2011, Native Client has provided developers with the ability to harness a | 21 2011, Native Client has provided developers with the ability to harness a |
| 22 client machine's computational power to a much fuller extent than traditional | 22 client machine's computational power to a much fuller extent than traditional |
| 23 web technologies, by running compiled C and C++ code at near-native speeds and | 23 web technologies, by running compiled C and C++ code at near-native speeds and |
| 24 taking advantage of multiple cores with shared memory. | 24 taking advantage of multiple cores with shared memory. |
| 25 | 25 |
| 26 While Native Client provides operating system independence, it requires | 26 While Native Client provides operating system independence, it requires |
| 27 developers to generate architecture-specific executable | 27 developers to generate architecture-specific executable |
| 28 (**nexe**) modules for each hardware platform. This is not only inconvenient | 28 (**nexe**) modules for each hardware platform. This is not only inconvenient |
| 29 for developers, but architecture-specific machine code is not portable and thus | 29 for developers, but architecture-specific machine code is not portable and thus |
| 30 not well-suited for the open web. The traditional method of application | 30 not well-suited for the open web. The traditional method of application |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 105 instructions in an application (i.e., inline assembly), but tries to | 105 instructions in an application (i.e., inline assembly), but tries to |
| 106 offer high-performance portable equivalents. One such example is | 106 offer high-performance portable equivalents. One such example is |
| 107 PNaCl's :ref:`Portable SIMD Vectors <portable_simd_vectors>`. | 107 PNaCl's :ref:`Portable SIMD Vectors <portable_simd_vectors>`. |
| 108 * PNaCl only supports static linking with the ``newlib`` | 108 * PNaCl only supports static linking with the ``newlib`` |
| 109 C standard library (the Native Client SDK provides a PNaCl port of | 109 C standard library (the Native Client SDK provides a PNaCl port of |
| 110 ``newlib``). Dynamic linking and ``glibc`` are not yet supported. | 110 ``newlib``). Dynamic linking and ``glibc`` are not yet supported. |
| 111 Work is under way to enable dynamic linking in future versions of PNaCl. | 111 Work is under way to enable dynamic linking in future versions of PNaCl. |
| 112 * PNaCl does not support some GNU extensions | 112 * PNaCl does not support some GNU extensions |
| 113 like taking the address of a label for computed ``goto``, or nested | 113 like taking the address of a label for computed ``goto``, or nested |
| 114 functions. | 114 functions. |
| OLD | NEW |