Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(159)

Side by Side Diff: native_client_sdk/doc_generated/sdk/release-notes.html

Issue 971493004: NaCl docs: acquire/release/acq_rel C++11 memory order in Chrome 43 SDK (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | native_client_sdk/doc_generated/sitemap.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 {{+bindTo:partials.standard_nacl_article}} 1 {{+bindTo:partials.standard_nacl_article}}
2 2
3 <section id="release-notes"> 3 <section id="release-notes">
4 <span id="sdk-release-notes"></span><h1 id="release-notes"><span id="sdk-release -notes"></span>Release Notes</h1> 4 <span id="sdk-release-notes"></span><h1 id="release-notes"><span id="sdk-release -notes"></span>Release Notes</h1>
5 <p>The dates in the following release notes denote when Chrome and the NaCl SDK 5 <p>The dates in the following release notes denote when Chrome and the NaCl SDK
6 reached canary status. The stable release is typically 6 weeks later.</p> 6 reached canary status. The stable release is typically 6 weeks later.</p>
7 <h2 id="chrome-pepper-43-03-april-2015">Chrome/Pepper 43 (03 April 2015)</h2>
8 <h3 id="pnacl">PNaCl</h3>
9 <ul class="small-gap">
10 <li>The C11/C++11 <code>acquire</code>, <code>release</code>, and <code>acq_rel< /code> memory orders are now
11 generated by default. The in-browser Chrome 42 translator supports them, the
12 SDK can therefore generate them.</li>
13 </ul>
7 <h2 id="chrome-pepper-42-20-february-2015">Chrome/Pepper 42 (20 February 2015)</ h2> 14 <h2 id="chrome-pepper-42-20-february-2015">Chrome/Pepper 42 (20 February 2015)</ h2>
8 <h3 id="sdk">SDK</h3> 15 <h3 id="sdk">SDK</h3>
9 <ul class="small-gap"> 16 <ul class="small-gap">
10 <li>The SDK now contains experimental versions of <code>i686-nacl-clang</code>, 17 <li>The SDK now contains experimental versions of <code>i686-nacl-clang</code>,
11 <code>x86_64-nacl-clang</code>, and <code>arm-nacl-clang</code> as well as the < code>clang++</code> 18 <code>x86_64-nacl-clang</code>, and <code>arm-nacl-clang</code> as well as the < code>clang++</code>
12 equivalents. These toolchains are based on the same LLVM version as PNaCl, but 19 equivalents. These toolchains are based on the same LLVM version as PNaCl, but
13 can be used to generate NaCl <code>.nexe</code> files instead of translating a 20 can be used to generate NaCl <code>.nexe</code> files instead of translating a
14 <code>.pexe</code> locally or using the GCC toolchain.</li> 21 <code>.pexe</code> locally or using the GCC toolchain.</li>
15 </ul> 22 </ul>
16 <h3 id="nacl">NaCl</h3> 23 <h3 id="nacl">NaCl</h3>
17 <ul class="small-gap"> 24 <ul class="small-gap">
18 <li>The x86 NaCl validators accept instructions from the FMA3 extensions, as wel l 25 <li>The x86 NaCl validators accept instructions from the FMA3 extensions, as wel l
19 as AVX2 instructions (except <cite>VGATHER</cite>).</li> 26 as AVX2 instructions (except <code>VGATHER</code>).</li>
20 </ul> 27 </ul>
21 <h3 id="pnacl">PNaCl</h3> 28 <h3 id="id1">PNaCl</h3>
22 <ul class="small-gap"> 29 <ul class="small-gap">
23 <li>PNaCl supports C11/C++11 memory orders <cite>acquire</cite>, <cite>release</ cite>, and <cite>acq_rel</cite>. It 30 <li>PNaCl supports C11/C++11 memory orders <code>acquire</code>, <code>release</ code>, and
24 used to upgrade all accesses to <cite>seq_cst</cite>. It still upgrades <cite>co nsume</cite> to 31 <code>acq_rel</code>. It used to upgrade all accesses to <code>seq_cst</code>. I t still upgrades
25 <cite>acquire</cite> (no compiler currently implements <cite>consume</cite>), an d <cite>relaxed</cite> to 32 <code>consume</code> to <code>acquire</code> (no compiler currently implements < code>consume</code>), and
26 <cite>seq_cst</cite> (to conservatively avoid platform differences due to out-of -thin-air 33 <code>relaxed</code> to <code>seq_cst</code> (to conservatively avoid platform d ifferences due
27 problems). This is currently disabled by default in the SDK so that the 34 to out-of-thin-air problems). This is currently disabled by default in the SDK
28 in-browser translator installed on users&#8217; machines has time to gain this 35 so that the in-browser translator installed on users&#8217; machines has time to
29 support. Developers can turn it on by passing the 36 gain this support. Developers can turn it on by passing the
30 <code>-pnacl-memory-order-seq-cst-only=false</code> flag to <code>opt</code>.</l i> 37 <code>-pnacl-memory-order-seq-cst-only=false</code> flag to <code>opt</code>.</l i>
31 <li>PNaCl handles nested struct type expansion, which allows it to better suppor t 38 <li>PNaCl handles nested struct type expansion, which allows it to better suppor t
32 non-C languages such as Rust.</li> 39 non-C languages such as Rust.</li>
33 <li>PNaCl breaks up many integer operations over 64-bits into individual 64-bit 40 <li>PNaCl breaks up many integer operations over 64-bits into individual 64-bit
34 operations. This is often encountered when using large consecutive bitfields.</l i> 41 operations. This is often encountered when using large consecutive bitfields.</l i>
35 </ul> 42 </ul>
36 <h2 id="chrome-pepper-41-09-january-2015">Chrome/Pepper 41 (09 January 2015)</h2 > 43 <h2 id="chrome-pepper-41-09-january-2015">Chrome/Pepper 41 (09 January 2015)</h2 >
37 <h3 id="id1">NaCl</h3> 44 <h3 id="id2">NaCl</h3>
38 <ul class="small-gap"> 45 <ul class="small-gap">
39 <li>The x86 NaCl validators accept instructions from the AVX1 extensions.</li> 46 <li>The x86 NaCl validators accept instructions from the AVX1 extensions.</li>
40 </ul> 47 </ul>
41 <h3 id="id2">PNaCl</h3> 48 <h3 id="id3">PNaCl</h3>
42 <ul class="small-gap"> 49 <ul class="small-gap">
43 <li>PNaCl is now based on LLVM 3.5.</li> 50 <li>PNaCl is now based on LLVM 3.5.</li>
44 </ul> 51 </ul>
45 <h2 id="chrome-pepper-40-november-07-2014">Chrome/Pepper 40 (November 07 2014)</ h2> 52 <h2 id="chrome-pepper-40-november-07-2014">Chrome/Pepper 40 (November 07 2014)</ h2>
46 <ul class="small-gap"> 53 <ul class="small-gap">
47 <li><a class="reference external" href="/native-client/pepper_stable/cpp/classpp _1_1_video_decoder.html">VideoDecoder</a> is now 54 <li><a class="reference external" href="/native-client/pepper_stable/cpp/classpp _1_1_video_decoder.html">VideoDecoder</a> is now
48 stable, see the SDK example in <code>pepper_canary/examples/api/video_decode</co de>.</li> 55 stable, see the SDK example in <code>pepper_canary/examples/api/video_decode</co de>.</li>
49 </ul> 56 </ul>
50 <h2 id="chrome-pepper-39-26-september-2014">Chrome/Pepper 39 (26 September 2014) </h2> 57 <h2 id="chrome-pepper-39-26-september-2014">Chrome/Pepper 39 (26 September 2014) </h2>
51 <h3 id="pepper">Pepper</h3> 58 <h3 id="pepper">Pepper</h3>
52 <ul class="small-gap"> 59 <ul class="small-gap">
53 <li>Support for <code>DEBUG_ONLY:dev://postmessage</code> has been removed in fa vor of 60 <li>Support for <code>DEBUG_ONLY:dev://postmessage</code> has been removed in fa vor of
54 <a class="reference internal" href="/native-client/devguide/devcycle/debugging.h tml#devcycle-debugging"><em>other more useful debugging approaches</em></a>.</li > 61 <a class="reference internal" href="/native-client/devguide/devcycle/debugging.h tml#devcycle-debugging"><em>other more useful debugging approaches</em></a>.</li >
55 <li><code>postMessageAndAwaitResponse</code> is now stable and allows JavaScript to 62 <li><code>postMessageAndAwaitResponse</code> is now stable and allows JavaScript to
56 <a class="reference external" href="/native-client/pepper_stable/cpp/classpp_1_1 _message_handler">communicate synchronously</a> with PNaCl 63 <a class="reference external" href="/native-client/pepper_stable/cpp/classpp_1_1 _message_handler">communicate synchronously</a> with PNaCl
57 embeds.</li> 64 embeds.</li>
58 </ul> 65 </ul>
59 <h2 id="chrome-pepper-38-15-august-2014">Chrome/Pepper 38 (15 August 2014)</h2> 66 <h2 id="chrome-pepper-38-15-august-2014">Chrome/Pepper 38 (15 August 2014)</h2>
60 <h3 id="id3">PNaCl</h3> 67 <h3 id="id4">PNaCl</h3>
61 <ul class="small-gap"> 68 <ul class="small-gap">
62 <li>Compilation speed improvements due to validation caching of the translator a nd 69 <li>Compilation speed improvements due to validation caching of the translator a nd
63 linker.</li> 70 linker.</li>
64 <li>Performance improvement of SIMD vector shuffle.</li> 71 <li>Performance improvement of SIMD vector shuffle.</li>
65 </ul> 72 </ul>
66 <h2 id="chrome-pepper-37-20-june-2014">Chrome/Pepper 37 (20 June 2014)</h2> 73 <h2 id="chrome-pepper-37-20-june-2014">Chrome/Pepper 37 (20 June 2014)</h2>
67 <h3 id="id4">PNaCl</h3> 74 <h3 id="id5">PNaCl</h3>
68 <ul class="small-gap"> 75 <ul class="small-gap">
69 <li>2–10% translation time improvement.</li> 76 <li>2–10% translation time improvement.</li>
70 <li>Improved vector load/store and shuffle performance.</li> 77 <li>Improved vector load/store and shuffle performance.</li>
71 </ul> 78 </ul>
72 <h3 id="id5">Pepper</h3> 79 <h3 id="id6">Pepper</h3>
73 <ul class="small-gap"> 80 <ul class="small-gap">
74 <li>Media Streams Input support.</li> 81 <li>Media Streams Input support.</li>
75 <li>Compositor API.</li> 82 <li>Compositor API.</li>
76 <li>Hardware Decode API in development preview.</li> 83 <li>Hardware Decode API in development preview.</li>
77 <li>Sync API in development preview.</li> 84 <li>Sync API in development preview.</li>
78 </ul> 85 </ul>
79 <h3 id="id6">SDK</h3> 86 <h3 id="id7">SDK</h3>
80 <ul class="small-gap"> 87 <ul class="small-gap">
81 <li>Demo of a <a class="reference internal" href="/native-client/io2014.html#io2 014"><em>full development environment in the browser</em></a>.</li> 88 <li>Demo of a <a class="reference internal" href="/native-client/io2014.html#io2 014"><em>full development environment in the browser</em></a>.</li>
82 </ul> 89 </ul>
83 <h2 id="chrome-pepper-36-09-may-2014">Chrome/Pepper 36 (09 May 2014)</h2> 90 <h2 id="chrome-pepper-36-09-may-2014">Chrome/Pepper 36 (09 May 2014)</h2>
84 <h3 id="id7">PNaCl</h3> 91 <h3 id="id8">PNaCl</h3>
85 <ul class="small-gap"> 92 <ul class="small-gap">
86 <li>Support <a class="reference external" href="http://clang.llvm.org/docs/Langu ageExtensions.html#vectors-and-extended-vectors">LLVM vectors</a> 93 <li>Support <a class="reference external" href="http://clang.llvm.org/docs/Langu ageExtensions.html#vectors-and-extended-vectors">LLVM vectors</a>
87 and <a class="reference external" href="http://gcc.gnu.org/onlinedocs/gcc/Vector -Extensions.html">GCC vectors</a> for SIMD 94 and <a class="reference external" href="http://gcc.gnu.org/onlinedocs/gcc/Vector -Extensions.html">GCC vectors</a> for SIMD
88 vectors through <a class="reference internal" href="/native-client/reference/pna cl-c-cpp-language-support.html#portable-simd-vectors"><em>Portable SIMD Vectors< /em></a>. Note that this is still an early release, 95 vectors through <a class="reference internal" href="/native-client/reference/pna cl-c-cpp-language-support.html#portable-simd-vectors"><em>Portable SIMD Vectors< /em></a>. Note that this is still an early release,
89 and performance is expected to become acceptable for version 37 of 96 and performance is expected to become acceptable for version 37 of
90 Chrome. More SIMD instructions will be added in later releases.</li> 97 Chrome. More SIMD instructions will be added in later releases.</li>
91 </ul> 98 </ul>
92 <h2 id="chrome-pepper-35-31-mar-2014">Chrome/Pepper 35 (31 Mar 2014)</h2> 99 <h2 id="chrome-pepper-35-31-mar-2014">Chrome/Pepper 35 (31 Mar 2014)</h2>
93 <h3 id="id8">PNaCl</h3> 100 <h3 id="id9">PNaCl</h3>
94 <ul class="small-gap"> 101 <ul class="small-gap">
95 <li>Upgraded LLVM to version 3.4.</li> 102 <li>Upgraded LLVM to version 3.4.</li>
96 <li>Translation now uses dynamic load balancing, making translation time faster. </li> 103 <li>Translation now uses dynamic load balancing, making translation time faster. </li>
97 <li>Unstable pexes (i.e. non-finalized) with debug information can be loaded by 104 <li>Unstable pexes (i.e. non-finalized) with debug information can be loaded by
98 Chrome, simplifying debugging with PNaCl. See <a class="reference internal" href ="/native-client/devguide/devcycle/debugging.html#debugging-pnacl-pexes"><em>Deb ugging PNaCl pexes</em></a></li> 105 Chrome, simplifying debugging with PNaCl. See <a class="reference internal" href ="/native-client/devguide/devcycle/debugging.html#debugging-pnacl-pexes"><em>Deb ugging PNaCl pexes</em></a></li>
99 </ul> 106 </ul>
100 <h2 id="chrome-pepper-34-20-feb-2014">Chrome/Pepper 34 (20 Feb 2014)</h2> 107 <h2 id="chrome-pepper-34-20-feb-2014">Chrome/Pepper 34 (20 Feb 2014)</h2>
101 <h3 id="id9">Pepper</h3> 108 <h3 id="id10">Pepper</h3>
102 <ul class="small-gap"> 109 <ul class="small-gap">
103 <li>Filesystems can now be passed from JavaScript to NaCl. The resulting 110 <li>Filesystems can now be passed from JavaScript to NaCl. The resulting
104 <code>pp::Var</code> will contain a <code>pp::Resource</code> that can be given to the 111 <code>pp::Var</code> will contain a <code>pp::Resource</code> that can be given to the
105 <code>pp::FileSystem</code> constructor.</li> 112 <code>pp::FileSystem</code> constructor.</li>
106 <li>New Audio and Video input APIs have been added as dev interfaces. See 113 <li>New Audio and Video input APIs have been added as dev interfaces. See
107 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_audio_track">pp::MediaStreamAudioTrack</a> and 114 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_audio_track">pp::MediaStreamAudioTrack</a> and
108 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_video_track">pp::MediaStreamVideoTrack</a> for 115 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_video_track">pp::MediaStreamVideoTrack</a> for
109 more details.</li> 116 more details.</li>
110 </ul> 117 </ul>
111 <h3 id="id10">PNaCl</h3> 118 <h3 id="id11">PNaCl</h3>
112 <ul class="small-gap"> 119 <ul class="small-gap">
113 <li>Parallel translation: at least 1.7x faster, even with older pexes.</li> 120 <li>Parallel translation: at least 1.7x faster, even with older pexes.</li>
114 <li>Intelligent abbreviations in the bitcode: 20% reduction in binary size using 121 <li>Intelligent abbreviations in the bitcode: 20% reduction in binary size using
115 the <a class="reference internal" href="/native-client/devguide/devcycle/buildin g.html#pnacl-compress"><em>pnacl-compress</em></a> tool.</li> 122 the <a class="reference internal" href="/native-client/devguide/devcycle/buildin g.html#pnacl-compress"><em>pnacl-compress</em></a> tool.</li>
116 </ul> 123 </ul>
117 <h2 id="chrome-pepper-33-16-dec-2013">Chrome/Pepper 33 (16 Dec 2013)</h2> 124 <h2 id="chrome-pepper-33-16-dec-2013">Chrome/Pepper 33 (16 Dec 2013)</h2>
118 <h3 id="portable-native-client">Portable Native Client</h3> 125 <h3 id="portable-native-client">Portable Native Client</h3>
119 <ul class="small-gap"> 126 <ul class="small-gap">
120 <li>PNaCl&#8217;s default C++ standard library is now LLVM&#8217;s own libc++, b ased on 127 <li>PNaCl&#8217;s default C++ standard library is now LLVM&#8217;s own libc++, b ased on
121 LLVM 3.3. This library now supports optional <code>setjmp</code>/<code>longjmp</ code> exception 128 LLVM 3.3. This library now supports optional <code>setjmp</code>/<code>longjmp</ code> exception
122 handling (see <a class="reference external" href="https://groups.google.com/foru m/#!topic/native-client-discuss/0spfg6O04FM">announcement</a> 129 handling (see <a class="reference external" href="https://groups.google.com/foru m/#!topic/native-client-discuss/0spfg6O04FM">announcement</a>
123 for details).</li> 130 for details).</li>
124 </ul> 131 </ul>
125 <h3 id="id11">SDK</h3> 132 <h3 id="id12">SDK</h3>
126 <ul class="small-gap"> 133 <ul class="small-gap">
127 <li>The <code>nacl_io</code> library now includes a FUSE mount.</li> 134 <li>The <code>nacl_io</code> library now includes a FUSE mount.</li>
128 <li>In the SDK examples, <code>common.js</code> now loads the Release version of the 135 <li>In the SDK examples, <code>common.js</code> now loads the Release version of the
129 nexes/pexes that are built (by default).</li> 136 nexes/pexes that are built (by default).</li>
130 <li>&#8220;<code>make debug</code>&#8221; and &#8220;<code>make run</code>&#8221 ; have been fixed on Mac.</li> 137 <li>&#8220;<code>make debug</code>&#8221; and &#8220;<code>make run</code>&#8221 ; have been fixed on Mac.</li>
131 </ul> 138 </ul>
132 <h2 id="pnacl-enabled-by-default-in-chrome-31-12-nov-2013">PNaCl enabled by defa ult in Chrome 31 (12 Nov 2013)</h2> 139 <h2 id="pnacl-enabled-by-default-in-chrome-31-12-nov-2013">PNaCl enabled by defa ult in Chrome 31 (12 Nov 2013)</h2>
133 <ul class="small-gap"> 140 <ul class="small-gap">
134 <li>Portable Native Client (PNaCl) is enabled by default in Chrome 31. See 141 <li>Portable Native Client (PNaCl) is enabled by default in Chrome 31. See
135 <a class="reference internal" href="/native-client/nacl-and-pnacl.html"><em>NaCl and PNaCl</em></a> for details on the differences between 142 <a class="reference internal" href="/native-client/nacl-and-pnacl.html"><em>NaCl and PNaCl</em></a> for details on the differences between
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 <ul class="small-gap"> 236 <ul class="small-gap">
230 <li>Common makefiles, including <code>tools/common.mk</code>, can now handle sou rce files 237 <li>Common makefiles, including <code>tools/common.mk</code>, can now handle sou rce files
231 located outside of an application&#8217;s root directory. For example, a Makefil e 238 located outside of an application&#8217;s root directory. For example, a Makefil e
232 for an application can specify a source file to compile such as 239 for an application can specify a source file to compile such as
233 <code>../../some/other/place.cpp</code>.</li> 240 <code>../../some/other/place.cpp</code>.</li>
234 </ul> 241 </ul>
235 <h2 id="pepper-26-29-march-2013">Pepper 26 (29 March 2013)</h2> 242 <h2 id="pepper-26-29-march-2013">Pepper 26 (29 March 2013)</h2>
236 <p>The Pepper 26 bundle includes a new HTTP filesystem type in the nacl_mounts 243 <p>The Pepper 26 bundle includes a new HTTP filesystem type in the nacl_mounts
237 library (which has been renamed nacl_io), changes to the example Makefiles, a 244 library (which has been renamed nacl_io), changes to the example Makefiles, a
238 simple new 3D example, and a threaded file IO example.</p> 245 simple new 3D example, and a threaded file IO example.</p>
239 <h3 id="id12">Build tools and toolchains</h3> 246 <h3 id="id13">Build tools and toolchains</h3>
240 <ul class="small-gap"> 247 <ul class="small-gap">
241 <li><p class="first">Makefiles have been changed significantly:</p> 248 <li><p class="first">Makefiles have been changed significantly:</p>
242 <ul class="small-gap"> 249 <ul class="small-gap">
243 <li>Build commands are now specified in a number of common files 250 <li>Build commands are now specified in a number of common files
244 (<code>tools/*.mk</code>), which are included in the Makefiles in the examples.< /li> 251 (<code>tools/*.mk</code>), which are included in the Makefiles in the examples.< /li>
245 <li>By default, make displays a simplified list of build steps (e.g., <code>CC 252 <li>By default, make displays a simplified list of build steps (e.g., <code>CC
246 newlib/Debug/hello_world_x86_32.o</code>) rather than the actual build commands. 253 newlib/Debug/hello_world_x86_32.o</code>) rather than the actual build commands.
247 To see the actual build commands, run <code>make V=1</code>.</li> 254 To see the actual build commands, run <code>make V=1</code>.</li>
248 <li>By default, most examples are built using one toolchain (newlib) and one 255 <li>By default, most examples are built using one toolchain (newlib) and one
249 configuration (Debug). To build an example using a different toolchain or 256 configuration (Debug). To build an example using a different toolchain or
250 configuration, run <code>make</code> with the parameters <code>TOOLCHAIN=&lt;x&g t;</code> or 257 configuration, run <code>make</code> with the parameters <code>TOOLCHAIN=&lt;x&g t;</code> or
251 <code>CONFIG=&lt;y&gt;</code>. You can also run make <code>all_versions</code> to build an example 258 <code>CONFIG=&lt;y&gt;</code>. You can also run make <code>all_versions</code> to build an example
252 with all toolchains.</li> 259 with all toolchains.</li>
253 </ul> 260 </ul>
254 </li> 261 </li>
255 <li>Header files have been moved out of the toolchains. All toolchains now share 262 <li>Header files have been moved out of the toolchains. All toolchains now share
256 the same set of header files as host builds. Previously host and NaCl builds 263 the same set of header files as host builds. Previously host and NaCl builds
257 used different headers, which could cause build problems.</li> 264 used different headers, which could cause build problems.</li>
258 </ul> 265 </ul>
259 <h3 id="id13">Libraries</h3> 266 <h3 id="id14">Libraries</h3>
260 <ul class="small-gap"> 267 <ul class="small-gap">
261 <li>The nacl_mounts library has been renamed <strong>nacl_io</strong>, and has b een expanded 268 <li>The nacl_mounts library has been renamed <strong>nacl_io</strong>, and has b een expanded
262 with a new type of mount, httpfs, which can be used to read URLs via HTTP. 269 with a new type of mount, httpfs, which can be used to read URLs via HTTP.
263 For details see <code>include/nacl_io/nacl_io.h</code>, as well as the 270 For details see <code>include/nacl_io/nacl_io.h</code>, as well as the
264 <code>hello_nacl_io</code> example.</li> 271 <code>hello_nacl_io</code> example.</li>
265 </ul> 272 </ul>
266 <h3 id="id14">Examples</h3> 273 <h3 id="id15">Examples</h3>
267 <ul class="small-gap"> 274 <ul class="small-gap">
268 <li>A new example, <strong>hello_world_instance3d</strong>, has been added to de monstrate a 275 <li>A new example, <strong>hello_world_instance3d</strong>, has been added to de monstrate a
269 simplified 3D app.</li> 276 simplified 3D app.</li>
270 <li>The <strong>file_io</strong> example has been rewritten to do all file opera tions on a 277 <li>The <strong>file_io</strong> example has been rewritten to do all file opera tions on a
271 thread. The example demonstrates how to use the MessageLoop API and blocking 278 thread. The example demonstrates how to use the MessageLoop API and blocking
272 callbacks on a thread.</li> 279 callbacks on a thread.</li>
273 </ul> 280 </ul>
274 <h3 id="general">General</h3> 281 <h3 id="general">General</h3>
275 <ul class="small-gap"> 282 <ul class="small-gap">
276 <li>Old bundles (<code>pepper_20</code> and earlier) have been removed from the Native 283 <li>Old bundles (<code>pepper_20</code> and earlier) have been removed from the Native
277 Client SDK Manifest, and will no longer be updated by the <code>naclsdk</code> 284 Client SDK Manifest, and will no longer be updated by the <code>naclsdk</code>
278 command.</li> 285 command.</li>
279 </ul> 286 </ul>
280 <h2 id="pepper-25-21-december-2012">Pepper 25 (21 December 2012)</h2> 287 <h2 id="pepper-25-21-december-2012">Pepper 25 (21 December 2012)</h2>
281 <p>The Pepper 25 bundle features an ARM toolchain to build Native Client modules 288 <p>The Pepper 25 bundle features an ARM toolchain to build Native Client modules
282 for ARM devices, two new Pepper APIs (including the MessageLoop API, which lets 289 for ARM devices, two new Pepper APIs (including the MessageLoop API, which lets
283 you make Pepper calls on background threads), two new libraries (nacl_mounts, 290 you make Pepper calls on background threads), two new libraries (nacl_mounts,
284 which provides a virtual file system that you can use with standard C file 291 which provides a virtual file system that you can use with standard C file
285 operations, and ppapi_main, which lets you implement a Native Client module 292 operations, and ppapi_main, which lets you implement a Native Client module
286 using a simple ppapi_main function), and two new examples that demonstrate how 293 using a simple ppapi_main function), and two new examples that demonstrate how
287 to use the nacl_mounts and ppapi_main libraries.</p> 294 to use the nacl_mounts and ppapi_main libraries.</p>
288 <h3 id="id15">Build tools and toolchains</h3> 295 <h3 id="id16">Build tools and toolchains</h3>
289 <ul class="small-gap"> 296 <ul class="small-gap">
290 <li><p class="first">The SDK includes a new toolchain to build Native Client exe cutables (.nexe 297 <li><p class="first">The SDK includes a new toolchain to build Native Client exe cutables (.nexe
291 files) for <strong>ARM devices</strong>.</p> 298 files) for <strong>ARM devices</strong>.</p>
292 <ul class="small-gap"> 299 <ul class="small-gap">
293 <li>Currently the ARM toolchain can only be used to compile modules that use 300 <li>Currently the ARM toolchain can only be used to compile modules that use
294 the <a class="reference internal" href="/native-client/devguide/devcycle/dynamic -loading.html#c-libraries"><em>newlib C library</em></a>. You cannot use the ARM toolchain 301 the <a class="reference internal" href="/native-client/devguide/devcycle/dynamic -loading.html#c-libraries"><em>newlib C library</em></a>. You cannot use the ARM toolchain
295 to compile modules that use the glibc library.</li> 302 to compile modules that use the glibc library.</li>
296 <li>The ARM toolchain is in the directory 303 <li>The ARM toolchain is in the directory
297 <code>pepper_25/toolchain/&lt;host&gt;_arm_newlib</code>. The bin subdirectory contains 304 <code>pepper_25/toolchain/&lt;host&gt;_arm_newlib</code>. The bin subdirectory contains
298 the compiler (<code>arm-nacl-gcc</code>), the linker (<code>arm-nacl-g++</code>) , and the 305 the compiler (<code>arm-nacl-gcc</code>), the linker (<code>arm-nacl-g++</code>) , and the
(...skipping 16 matching lines...) Expand all
315 module log messages to the JavaScript console in the Chrome browser.</li> 322 module log messages to the JavaScript console in the Chrome browser.</li>
316 <li>The <a class="reference external" href="/native-client/pepper_stable/cpp/cla sspp_1_1_message_loop">MessageLoop</a> API lets your 323 <li>The <a class="reference external" href="/native-client/pepper_stable/cpp/cla sspp_1_1_message_loop">MessageLoop</a> API lets your
317 module make PPAPI calls on a background thread. Once you&#8217;ve created a 324 module make PPAPI calls on a background thread. Once you&#8217;ve created a
318 message loop resource, attached it to a thread, and run it, you can post work 325 message loop resource, attached it to a thread, and run it, you can post work
319 to the thread, including completion callbacks for asynchronous operations. 326 to the thread, including completion callbacks for asynchronous operations.
320 For a C++ example of how to use the MessageLoop API, see 327 For a C++ example of how to use the MessageLoop API, see
321 <code>pepper_25/include/ppapi/utility/threading/simple_thread.h</code>. Note tha t you 328 <code>pepper_25/include/ppapi/utility/threading/simple_thread.h</code>. Note tha t you
322 cannot make asynchronous PPAPI calls on a background thread without creating 329 cannot make asynchronous PPAPI calls on a background thread without creating
323 and using a message loop.</li> 330 and using a message loop.</li>
324 </ul> 331 </ul>
325 <h3 id="id16">Libraries</h3> 332 <h3 id="id17">Libraries</h3>
326 <p>The SDK includes two new libraries:</p> 333 <p>The SDK includes two new libraries:</p>
327 <ul class="small-gap"> 334 <ul class="small-gap">
328 <li><p class="first">The <strong>nacl_mounts</strong> library provides a virtual file system that your module 335 <li><p class="first">The <strong>nacl_mounts</strong> library provides a virtual file system that your module
329 can &#8220;mount&#8221; in a given directory tree. The file system can be one of several 336 can &#8220;mount&#8221; in a given directory tree. The file system can be one of several
330 types:</p> 337 types:</p>
331 <ul class="small-gap"> 338 <ul class="small-gap">
332 <li>&#8220;memfs&#8221; is an in-memory file system,</li> 339 <li>&#8220;memfs&#8221; is an in-memory file system,</li>
333 <li>&#8220;dev&#8221; is a file system with various utility nodes (e.g., <code>/ dev/null</code>, 340 <li>&#8220;dev&#8221; is a file system with various utility nodes (e.g., <code>/ dev/null</code>,
334 <code>/dev/console[0-3]</code>, <code>/dev/tty</code>), and</li> 341 <code>/dev/console[0-3]</code>, <code>/dev/tty</code>), and</li>
335 <li>&#8220;html5fs&#8221; is a persistent file system.</li> 342 <li>&#8220;html5fs&#8221; is a persistent file system.</li>
(...skipping 13 matching lines...) Expand all
349 providing a familiar C programming environment. With this library, your 356 providing a familiar C programming environment. With this library, your
350 module can have a simple entry point called ppapi_main(), which is similar to 357 module can have a simple entry point called ppapi_main(), which is similar to
351 the standard C main() function, complete with argc and argv[] parameters. 358 the standard C main() function, complete with argc and argv[] parameters.
352 Your module can also use standard C functions such as printf(), fopen(), and 359 Your module can also use standard C functions such as printf(), fopen(), and
353 fwrite(). For details see include/ppapi_main/ppapi_main.h. For an example of 360 fwrite(). For details see include/ppapi_main/ppapi_main.h. For an example of
354 how to use ppapi_main, see examples/hello_world_stdio.</li> 361 how to use ppapi_main, see examples/hello_world_stdio.</li>
355 </ul> 362 </ul>
356 <p>Header files for the new libraries are in the <code>include/</code> directory , source 363 <p>Header files for the new libraries are in the <code>include/</code> directory , source
357 files are in the <code>src/</code> directory, and compiled libraries are in the <code>lib/</code> 364 files are in the <code>src/</code> directory, and compiled libraries are in the <code>lib/</code>
358 directory.</p> 365 directory.</p>
359 <h3 id="id17">Examples</h3> 366 <h3 id="id18">Examples</h3>
360 <ul class="small-gap"> 367 <ul class="small-gap">
361 <li><p class="first">The SDK includes two new examples:</p> 368 <li><p class="first">The SDK includes two new examples:</p>
362 <ul class="small-gap"> 369 <ul class="small-gap">
363 <li><strong>hello_nacl_mounts</strong> illustrates how to use standard C library file 370 <li><strong>hello_nacl_mounts</strong> illustrates how to use standard C library file
364 operations in a Native Client module through the use of the nacl_mounts 371 operations in a Native Client module through the use of the nacl_mounts
365 library.</li> 372 library.</li>
366 <li><strong>hello_world_stdio</strong> illustrates how to implement a Native Cli ent module 373 <li><strong>hello_world_stdio</strong> illustrates how to implement a Native Cli ent module
367 with a ppapi_main() function, and how to write to STDOUT and STDERR in a 374 with a ppapi_main() function, and how to write to STDOUT and STDERR in a
368 module, through the use of the nacl_mounts and ppapi_main libraries. This 375 module, through the use of the nacl_mounts and ppapi_main libraries. This
369 example makes it easy for new users to get started with Native Client by 376 example makes it easy for new users to get started with Native Client by
(...skipping 20 matching lines...) Expand all
390 Chrome is closed, the local server is shut down as well.</li> 397 Chrome is closed, the local server is shut down as well.</li>
391 <li>The hello_world_stdio example includes a simplified Makefile that only lists 398 <li>The hello_world_stdio example includes a simplified Makefile that only lists
392 source dependencies, and invokes the build rules in a separate file 399 source dependencies, and invokes the build rules in a separate file
393 (common.mk).</li> 400 (common.mk).</li>
394 </ul> 401 </ul>
395 <h2 id="pepper-24-5-december-2012">Pepper 24 (5 December 2012)</h2> 402 <h2 id="pepper-24-5-december-2012">Pepper 24 (5 December 2012)</h2>
396 <p>The Pepper 24 bundle features a new, experimental toolchain called PNaCl (sho rt 403 <p>The Pepper 24 bundle features a new, experimental toolchain called PNaCl (sho rt
397 for &#8220;Portable Native Client&#8221;), a new library (pthreads-win32) for th e Windows 404 for &#8220;Portable Native Client&#8221;), a new library (pthreads-win32) for th e Windows
398 SDK, and an expanded list of attributes for Pepper 3D contexts that lets 405 SDK, and an expanded list of attributes for Pepper 3D contexts that lets
399 applications specify a GPU preference for low power or performance.</p> 406 applications specify a GPU preference for low power or performance.</p>
400 <h3 id="id18">Build tools and toolchains</h3> 407 <h3 id="id19">Build tools and toolchains</h3>
401 <ul class="small-gap"> 408 <ul class="small-gap">
402 <li>The SDK includes a new, experimental toolchain called <a class="reference ex ternal" href="http://nativeclient.googlecode.com/svn/data/site/pnacl.pdf">PNaCl< /a> (pronounced 409 <li>The SDK includes a new, experimental toolchain called <a class="reference ex ternal" href="http://nativeclient.googlecode.com/svn/data/site/pnacl.pdf">PNaCl< /a> (pronounced
403 &#8220;pinnacle&#8221;). The PNaCl toolchain produces architecture-independent e xecutable 410 &#8220;pinnacle&#8221;). The PNaCl toolchain produces architecture-independent e xecutable
404 files (.pexe files). Chrome doesn&#8217;t yet support .pexe files directly, but if 411 files (.pexe files). Chrome doesn&#8217;t yet support .pexe files directly, but if
405 you want to experiment with this early preview of PNaCl, the toolchain 412 you want to experiment with this early preview of PNaCl, the toolchain
406 includes a tool to translate .pexe files into architecture-specific .nexe 413 includes a tool to translate .pexe files into architecture-specific .nexe
407 files. Take a look at the <code>hello_world</code> example to see how to build a .pexe 414 files. Take a look at the <code>hello_world</code> example to see how to build a .pexe
408 file and translate it into multiple .nexe files. Note that PNaCl is currently 415 file and translate it into multiple .nexe files. Note that PNaCl is currently
409 restricted to the newlib C standard library – if your application uses glibc, 416 restricted to the newlib C standard library – if your application uses glibc,
410 you can&#8217;t build it with PNaCl.</li> 417 you can&#8217;t build it with PNaCl.</li>
411 <li>The <code>create_nmf.py</code> script uses ELF headers (rather than file nam es) to 418 <li>The <code>create_nmf.py</code> script uses ELF headers (rather than file nam es) to
412 determine the architecture of .nexe files. That means you can change the 419 determine the architecture of .nexe files. That means you can change the
413 names of your .nexe files and <code>create_nmf.py</code> will still be able to 420 names of your .nexe files and <code>create_nmf.py</code> will still be able to
414 generate the appropriate Native Client manifest file for your application.</li> 421 generate the appropriate Native Client manifest file for your application.</li>
415 </ul> 422 </ul>
416 <h3 id="id20">Examples</h3> 423 <h3 id="id21">Examples</h3>
417 <ul class="small-gap"> 424 <ul class="small-gap">
418 <li>The SDK examples now build with four toolchains: the glibc and newlib 425 <li>The SDK examples now build with four toolchains: the glibc and newlib
419 toolchains, the experimental PNaCl toolchain, and the hosted toolchain on 426 toolchains, the experimental PNaCl toolchain, and the hosted toolchain on
420 your development machine. Within each toolchain build, each example also 427 your development machine. Within each toolchain build, each example also
421 builds both a debug and a release version.</li> 428 builds both a debug and a release version.</li>
422 <li>The example Makefiles use dependency (.d) files to enable incremental builds .</li> 429 <li>The example Makefiles use dependency (.d) files to enable incremental builds .</li>
423 <li>The pong example has been cleaned up and modified to run more smoothly. The 430 <li>The pong example has been cleaned up and modified to run more smoothly. The
424 drawing function is now set up as the Flush() callback, which allows 2D 431 drawing function is now set up as the Flush() callback, which allows 2D
425 drawing to occur as quickly as possible.</li> 432 drawing to occur as quickly as possible.</li>
426 </ul> 433 </ul>
427 <h3 id="id21">PPAPI</h3> 434 <h3 id="id22">PPAPI</h3>
428 <ul class="small-gap"> 435 <ul class="small-gap">
429 <li>When creating a 3D rendering context, the <a class="reference external" href ="/native-client/pepper_stable/c/group___enums#ga7df48e1c55f6401beea2a1b9c07967e 8">attribute list</a> 436 <li>When creating a 3D rendering context, the <a class="reference external" href ="/native-client/pepper_stable/c/group___enums#ga7df48e1c55f6401beea2a1b9c07967e 8">attribute list</a>
430 for the context can specify whether to prefer low power or performance for 437 for the context can specify whether to prefer low power or performance for
431 the GPU. Contexts with a low power preference may be created on an integrated 438 the GPU. Contexts with a low power preference may be created on an integrated
432 GPU; contexts with a performance preference may be created on a discrete GPU.</l i> 439 GPU; contexts with a performance preference may be created on a discrete GPU.</l i>
433 </ul> 440 </ul>
434 <h3 id="windows-sdk">Windows SDK</h3> 441 <h3 id="windows-sdk">Windows SDK</h3>
435 <ul class="small-gap"> 442 <ul class="small-gap">
436 <li>The Windows SDK includes the pthreads-win32 library to assist in porting fro m 443 <li>The Windows SDK includes the pthreads-win32 library to assist in porting fro m
437 win32 code. You can use this library when developing your module as a Pepper 444 win32 code. You can use this library when developing your module as a Pepper
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
489 <ul class="small-gap"> 496 <ul class="small-gap">
490 <li>Look at the example Makefiles or run <code>make</code> in the example direct ories to 497 <li>Look at the example Makefiles or run <code>make</code> in the example direct ories to
491 see the commands and flags used to build modules as Pepper plugins.</li> 498 see the commands and flags used to build modules as Pepper plugins.</li>
492 <li>Run <code>make LAUNCH</code> in the example directories to see how to use th e 499 <li>Run <code>make LAUNCH</code> in the example directories to see how to use th e
493 <code>--register-pepper-plugins</code> argument to load a Pepper plugin in Chrom e. 500 <code>--register-pepper-plugins</code> argument to load a Pepper plugin in Chrom e.
494 Note that you must set the <code>CHROME_PATH</code> environment variable and sta rt a 501 Note that you must set the <code>CHROME_PATH</code> environment variable and sta rt a
495 <a class="reference internal" href="/native-client/devguide/devcycle/running.htm l#web-server"><em>local server</em></a> prior to running this command.</li> 502 <a class="reference internal" href="/native-client/devguide/devcycle/running.htm l#web-server"><em>local server</em></a> prior to running this command.</li>
496 </ul> 503 </ul>
497 </li> 504 </li>
498 </ul> 505 </ul>
499 <h3 id="id22">Examples</h3> 506 <h3 id="id23">Examples</h3>
500 <ul class="small-gap"> 507 <ul class="small-gap">
501 <li>On Linux and Windows systems, most of the examples now build with three 508 <li>On Linux and Windows systems, most of the examples now build with three
502 toolchains: the Native Client glibc and newlib toolchains, and the native 509 toolchains: the Native Client glibc and newlib toolchains, and the native
503 toolchain on the host system. Modules built with the native toolchain on the 510 toolchain on the host system. Modules built with the native toolchain on the
504 host system can only run as Pepper plugins.</li> 511 host system can only run as Pepper plugins.</li>
505 <li>All examples in the SDK now comply with version 2 of the Chrome Web Store 512 <li>All examples in the SDK now comply with version 2 of the Chrome Web Store
506 <a class="reference external" href="/extensions/manifest">manifest file format</ a>. By default, 513 <a class="reference external" href="/extensions/manifest">manifest file format</ a>. By default,
507 applications that use version 2 of the manifest file format apply a strict 514 applications that use version 2 of the manifest file format apply a strict
508 <a class="reference external" href="/extensions/contentSecurityPolicy">content s ecurity policy</a>, which 515 <a class="reference external" href="/extensions/contentSecurityPolicy">content s ecurity policy</a>, which
509 includes a restriction against inline JavaScript. This restriction prohibits 516 includes a restriction against inline JavaScript. This restriction prohibits
510 both inline <code>&lt;script&gt;</code> blocks and inline event handlers (e.g., <code>&lt;button 517 both inline <code>&lt;script&gt;</code> blocks and inline event handlers (e.g., <code>&lt;button
511 onclick=&quot;...&quot;&gt;</code>). See <a class="reference external" href="/e xtensions/manifestVersion">Manifest Version</a> for 518 onclick=&quot;...&quot;&gt;</code>). See <a class="reference external" href="/e xtensions/manifestVersion">Manifest Version</a> for
512 a list of changes between version 1 and version 2 of the manifest file 519 a list of changes between version 1 and version 2 of the manifest file
513 format, and a support schedule for applications that use version 1.</li> 520 format, and a support schedule for applications that use version 1.</li>
514 </ul> 521 </ul>
515 <h3 id="id23">PPAPI</h3> 522 <h3 id="id24">PPAPI</h3>
516 <ul class="small-gap"> 523 <ul class="small-gap">
517 <li><a class="reference external" href="/native-client/pepper_stable/c/group___e nums#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a> 524 <li><a class="reference external" href="/native-client/pepper_stable/c/group___e nums#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a>
518 has two new enum values (_ISLEFT and _ISRIGHT).</li> 525 has two new enum values (_ISLEFT and _ISRIGHT).</li>
519 <li>The memory leak in the <a class="reference external" href="/native-client/pe pper_stable/c/struct_p_p_b___web_socket__1__0">WebSocket</a> API has 526 <li>The memory leak in the <a class="reference external" href="/native-client/pe pper_stable/c/struct_p_p_b___web_socket__1__0">WebSocket</a> API has
520 been fixed.</li> 527 been fixed.</li>
521 </ul> 528 </ul>
522 <h2 id="pepper-22-22-august-2012">Pepper 22 (22 August 2012)</h2> 529 <h2 id="pepper-22-22-august-2012">Pepper 22 (22 August 2012)</h2>
523 <p>The Pepper 22 bundle includes a <strong>command-line debugger</strong>, resou rces to enable 530 <p>The Pepper 22 bundle includes a <strong>command-line debugger</strong>, resou rces to enable
524 <strong>hosted development on Windows</strong>, and changes to the example Makef iles (each 531 <strong>hosted development on Windows</strong>, and changes to the example Makef iles (each
525 example now builds both a debug and a release version).</p> 532 example now builds both a debug and a release version).</p>
526 <h3 id="id24">Tools</h3> 533 <h3 id="id25">Tools</h3>
527 <ul class="small-gap"> 534 <ul class="small-gap">
528 <li>The SDK now includes a <strong>command-line debugger</strong> that you can u se to debug 535 <li>The SDK now includes a <strong>command-line debugger</strong> that you can u se to debug
529 Native Client modules. See <a class="reference internal" href="/native-client/de vguide/devcycle/debugging.html#devcycle-debugging"><em>Debugging with nacl-gdb</ em></a> for instructions on how to use this debugger. For now, 536 Native Client modules. See <a class="reference internal" href="/native-client/de vguide/devcycle/debugging.html#devcycle-debugging"><em>Debugging with nacl-gdb</ em></a> for instructions on how to use this debugger. For now,
530 nacl-gdb only works on 64-bit Windows, 64-bit Linux, and 32-bit Linux 537 nacl-gdb only works on 64-bit Windows, 64-bit Linux, and 32-bit Linux
531 systems. Support for Mac and 32-bit Windows systems will be added soon.</li> 538 systems. Support for Mac and 32-bit Windows systems will be added soon.</li>
532 </ul> 539 </ul>
533 <h3 id="id25">Windows SDK</h3> 540 <h3 id="id26">Windows SDK</h3>
534 <ul class="small-gap"> 541 <ul class="small-gap">
535 <li><p class="first">Developers using the Windows SDK can now <strong>build a mo dule as a Pepper 542 <li><p class="first">Developers using the Windows SDK can now <strong>build a mo dule as a Pepper
536 plugin</strong> (sometimes called a &#8220;trusted&#8221; or &#8220;in-process&# 8221; plugin) using the 543 plugin</strong> (sometimes called a &#8220;trusted&#8221; or &#8220;in-process&# 8221; plugin) using the
537 native C/C++ compiler on their development system. In essence this makes 544 native C/C++ compiler on their development system. In essence this makes
538 developing a Native Client module a two-step process:</p> 545 developing a Native Client module a two-step process:</p>
539 <ol class="arabic simple"> 546 <ol class="arabic simple">
540 <li>Build the module into a DLL using your system&#8217;s C/C++ compiler. Test a nd 547 <li>Build the module into a DLL using your system&#8217;s C/C++ compiler. Test a nd
541 debug the DLL using the tools in your normal development environment.</li> 548 debug the DLL using the tools in your normal development environment.</li>
542 <li>Build the module into a .nexe using the compiler from one of the Native 549 <li>Build the module into a .nexe using the compiler from one of the Native
543 Client toolchains in the SDK (nacl-gcc or nacl-g++). Test and debug the 550 Client toolchains in the SDK (nacl-gcc or nacl-g++). Test and debug the
(...skipping 27 matching lines...) Expand all
571 <strong>Note:</strong> It&#8217;s also possible to build a module as a trusted p lugin on Mac and 578 <strong>Note:</strong> It&#8217;s also possible to build a module as a trusted p lugin on Mac and
572 Linux systems, but doing so requires more work because the SDK does not yet 579 Linux systems, but doing so requires more work because the SDK does not yet
573 include the above resources (library source files and pre-built libraries) 580 include the above resources (library source files and pre-built libraries)
574 for Mac and Linux systems. To build and debug a trusted plugin on Mac and 581 for Mac and Linux systems. To build and debug a trusted plugin on Mac and
575 Linux systems, you need to <a class="reference external" href="http://dev.chromi um.org/developers/how-tos/get-the-code">get the Chromium code</a> and then follo w 582 Linux systems, you need to <a class="reference external" href="http://dev.chromi um.org/developers/how-tos/get-the-code">get the Chromium code</a> and then follo w
576 the <a class="reference external" href="http://www.chromium.org/nativeclient/how -tos/debugging-documentation/debugging-a-trusted-plugin/trusted-debugging-on-mac ">Mac instructions</a> 583 the <a class="reference external" href="http://www.chromium.org/nativeclient/how -tos/debugging-documentation/debugging-a-trusted-plugin/trusted-debugging-on-mac ">Mac instructions</a>
577 or <a class="reference external" href="http://www.chromium.org/nativeclient/how- tos/debugging-documentation/debugging-a-trusted-plugin/debugging-a-trusted-plugi n-on-linux">Linux instructions</a>. 584 or <a class="reference external" href="http://www.chromium.org/nativeclient/how- tos/debugging-documentation/debugging-a-trusted-plugin/debugging-a-trusted-plugi n-on-linux">Linux instructions</a>.
578 In the future, the SDK will include resources for hosted development on Mac 585 In the future, the SDK will include resources for hosted development on Mac
579 and Linux as well as Windows. 586 and Linux as well as Windows.
580 </aside> 587 </aside>
581 <h3 id="id26">Examples</h3> 588 <h3 id="id27">Examples</h3>
582 <ul class="small-gap"> 589 <ul class="small-gap">
583 <li>Each example in the SDK now builds both a debug and a release version. As 590 <li>Each example in the SDK now builds both a debug and a release version. As
584 before, most examples also build newlib and glibc versions, which means that 591 before, most examples also build newlib and glibc versions, which means that
585 there are now four versions for each example. Take a look at the Makefiles in 592 there are now four versions for each example. Take a look at the Makefiles in
586 the examples to see the compiler flags that are used for debug and release 593 the examples to see the compiler flags that are used for debug and release
587 versions. For a description of those flags, see <a class="reference internal" hr ef="/native-client/devguide/devcycle/building.html#compile-flags"><em>Compile fl ags for 594 versions. For a description of those flags, see <a class="reference internal" hr ef="/native-client/devguide/devcycle/building.html#compile-flags"><em>Compile fl ags for
588 different development scenarios</em></a>.</li> 595 different development scenarios</em></a>.</li>
589 <li>Comments have been added to common.js, which is used in all the examples. Th e 596 <li>Comments have been added to common.js, which is used in all the examples. Th e
590 JavaScript in common.js inserts an &lt;embed&gt; element that loads the NaCl mod ule 597 JavaScript in common.js inserts an &lt;embed&gt; element that loads the NaCl mod ule
591 in each example&#8217;s web page, attaches event listeners to monitor the loadin g 598 in each example&#8217;s web page, attaches event listeners to monitor the loadin g
592 of the module, and implements handleMessage() to respond to messages sent 599 of the module, and implements handleMessage() to respond to messages sent
593 from the NaCl module to the JavaScript side of the application</li> 600 from the NaCl module to the JavaScript side of the application</li>
594 </ul> 601 </ul>
595 <h3 id="id27">PPAPI</h3> 602 <h3 id="id28">PPAPI</h3>
596 <ul class="small-gap"> 603 <ul class="small-gap">
597 <li>The <code>CompletionCallbackFactory</code> class template now takes a thread traits 604 <li>The <code>CompletionCallbackFactory</code> class template now takes a thread traits
598 class as its second parameter. For details see the <a class="reference external" href="/native-client/pepper_stable/cpp/classpp_1_1_completion_callback_factory# details">CompletionCallbackFactory 605 class as its second parameter. For details see the <a class="reference external" href="/native-client/pepper_stable/cpp/classpp_1_1_completion_callback_factory# details">CompletionCallbackFactory
599 class template reference</a>.</li> 606 class template reference</a>.</li>
600 </ul> 607 </ul>
601 </section> 608 </section>
602 609
603 {{/partials.standard_nacl_article}} 610 {{/partials.standard_nacl_article}}
OLDNEW
« no previous file with comments | « no previous file | native_client_sdk/doc_generated/sitemap.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698