OLD | NEW |
1 {{+bindTo:partials.standard_nacl_article}} | 1 {{+bindTo:partials.standard_nacl_article}} |
2 | 2 |
3 <section id="pnacl-bitcode-reference-manual"> | 3 <section id="pnacl-bitcode-reference-manual"> |
4 <h1 id="pnacl-bitcode-reference-manual">PNaCl Bitcode Reference Manual</h1> | 4 <h1 id="pnacl-bitcode-reference-manual">PNaCl Bitcode Reference Manual</h1> |
5 <div class="contents local topic" id="contents"> | 5 <div class="contents local" id="contents" style="display: none"> |
6 <ul class="small-gap"> | 6 <ul class="small-gap"> |
7 <li><a class="reference internal" href="#introduction" id="id1">Introduction</a>
</li> | 7 <li><a class="reference internal" href="#introduction" id="id1">Introduction</a>
</li> |
8 <li><p class="first"><a class="reference internal" href="#high-level-structure"
id="id2">High Level Structure</a></p> | 8 <li><p class="first"><a class="reference internal" href="#high-level-structure"
id="id2">High Level Structure</a></p> |
9 <ul class="small-gap"> | 9 <ul class="small-gap"> |
10 <li><a class="reference internal" href="#data-model" id="id3">Data Model</a></li
> | 10 <li><a class="reference internal" href="#data-model" id="id3">Data Model</a></li
> |
11 <li><a class="reference internal" href="#linkage-types" id="id4">Linkage Types</
a></li> | 11 <li><a class="reference internal" href="#linkage-types" id="id4">Linkage Types</
a></li> |
12 <li><a class="reference internal" href="#calling-conventions" id="id5">Calling C
onventions</a></li> | 12 <li><a class="reference internal" href="#calling-conventions" id="id5">Calling C
onventions</a></li> |
13 <li><a class="reference internal" href="#visibility-styles" id="id6">Visibility
Styles</a></li> | 13 <li><a class="reference internal" href="#visibility-styles" id="id6">Visibility
Styles</a></li> |
14 <li><a class="reference internal" href="#global-variables" id="id7">Global Varia
bles</a></li> | 14 <li><a class="reference internal" href="#global-variables" id="id7">Global Varia
bles</a></li> |
15 <li><a class="reference internal" href="#functions" id="id8">Functions</a></li> | 15 <li><a class="reference internal" href="#functions" id="id8">Functions</a></li> |
(...skipping 28 matching lines...) Expand all Loading... |
44 </li> | 44 </li> |
45 <li><p class="first"><a class="reference internal" href="#intrinsic-functions" i
d="id27">Intrinsic Functions</a></p> | 45 <li><p class="first"><a class="reference internal" href="#intrinsic-functions" i
d="id27">Intrinsic Functions</a></p> |
46 <ul class="small-gap"> | 46 <ul class="small-gap"> |
47 <li><a class="reference internal" href="#list-of-allowed-intrinsics" id="id28">L
ist of allowed intrinsics</a></li> | 47 <li><a class="reference internal" href="#list-of-allowed-intrinsics" id="id28">L
ist of allowed intrinsics</a></li> |
48 <li><a class="reference internal" href="#thread-pointer-related-intrinsics" id="
id29">Thread pointer related intrinsics</a></li> | 48 <li><a class="reference internal" href="#thread-pointer-related-intrinsics" id="
id29">Thread pointer related intrinsics</a></li> |
49 <li><a class="reference internal" href="#setjmp-and-longjmp" id="id30">Setjmp an
d Longjmp</a></li> | 49 <li><a class="reference internal" href="#setjmp-and-longjmp" id="id30">Setjmp an
d Longjmp</a></li> |
50 <li><a class="reference internal" href="#atomic-intrinsics" id="id31">Atomic int
rinsics</a></li> | 50 <li><a class="reference internal" href="#atomic-intrinsics" id="id31">Atomic int
rinsics</a></li> |
51 </ul> | 51 </ul> |
52 </li> | 52 </li> |
53 </ul> | 53 </ul> |
54 </div> | 54 |
55 <section id="introduction"> | 55 </div><section id="introduction"> |
56 <h2 id="introduction">Introduction</h2> | 56 <h2 id="introduction">Introduction</h2> |
57 <p>This document is a reference manual for the PNaCl bitcode format. It describe
s | 57 <p>This document is a reference manual for the PNaCl bitcode format. It describe
s |
58 the bitcode on a <em>semantic</em> level; the physical encoding level will be de
scribed | 58 the bitcode on a <em>semantic</em> level; the physical encoding level will be de
scribed |
59 elsewhere. For the purpose of this document, the textual form of LLVM IR is | 59 elsewhere. For the purpose of this document, the textual form of LLVM IR is |
60 used to describe instructions and other bitcode constructs.</p> | 60 used to describe instructions and other bitcode constructs.</p> |
61 <p>Since the PNaCl bitcode is based to a large extent on LLVM IR, many sections | 61 <p>Since the PNaCl bitcode is based to a large extent on LLVM IR, many sections |
62 in this document point to a relevant section of the LLVM language reference | 62 in this document point to a relevant section of the LLVM language reference |
63 manual. Only the changes, restrictions and variations specific to PNaCl are | 63 manual. Only the changes, restrictions and variations specific to PNaCl are |
64 described—full semantic descriptions are not duplicated from the LLVM | 64 described—full semantic descriptions are not duplicated from the LLVM |
65 reference manual.</p> | 65 reference manual.</p> |
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
429 <p>The <code>llvm.nacl.atomic.is.lock.free</code> intrinsic is designed to | 429 <p>The <code>llvm.nacl.atomic.is.lock.free</code> intrinsic is designed to |
430 determine at translation time whether atomic operations of a certain | 430 determine at translation time whether atomic operations of a certain |
431 <code>byte_size</code> (a compile-time constant), at a particular <code>address<
/code>, | 431 <code>byte_size</code> (a compile-time constant), at a particular <code>address<
/code>, |
432 are lock-free or not. This reflects the C11 <code>atomic_is_lock_free</code> | 432 are lock-free or not. This reflects the C11 <code>atomic_is_lock_free</code> |
433 function from header <code><stdatomic.h></code> and the C++11 <code>is_loc
k_free</code> | 433 function from header <code><stdatomic.h></code> and the C++11 <code>is_loc
k_free</code> |
434 member function in header <code><atomic></code>. It can be used through th
e | 434 member function in header <code><atomic></code>. It can be used through th
e |
435 <code>__nacl_atomic_is_lock_free</code> builtin.</p> | 435 <code>__nacl_atomic_is_lock_free</code> builtin.</p> |
436 </section></section></section> | 436 </section></section></section> |
437 | 437 |
438 {{/partials.standard_nacl_article}} | 438 {{/partials.standard_nacl_article}} |
OLD | NEW |