Initial draft of PNaCl bitcode files.
Focus of this CL is on the PNaCl records that can appear in bitcode files.
A subsequent CL will add how the records are converted to bitcode sequences.
Replaces CL: https://codereview.chromium.org/364463002
BUG=None
NOTRY=True
(documentation only change).
Committed: https://crrev.com/bc6ae6ad2abb98a9d6e01c9545ea162fcd938eb0
Cr-Commit-Position: refs/heads/master@{#305041}
I have cleaned up this document based on feedback. I would like to try and get
this document committed so that others can see it. If possible, please review
this with to respect to getting this document visible in our documentation for
PNaCl.
Thanks.
Jim Stichnoth
Early auto-spellcheck pass. :) https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst File native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst (right): https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst#newcode870 native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:870: The block ``ID`` value is ...
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst File native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst (right): https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst#newcode870 native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:870: The block ``ID`` value is dependent on the name ...
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst File native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst (right): https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst#newcode121 native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:121: global addresses of global variables and constants used by ...
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst File native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst (right): https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst#newcode121 native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:121: global addresses of global variables and constants used by ...
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
File native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst (right):
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:121: global
addresses of global variables and constants used by the program. It
On 2014/11/18 02:24:42, stichnot wrote:
> "global addresses of global variables" - is the first "global" supposed to be
> there?
Yes. All global variables and addresses must appear in this block. However, this
doesn't appear to be the right place to bring this up. This is a high-level
overview. Details should be further down.
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:231: particular,
function type signatures, call instructions, phi nodes, switch
On 2014/11/18 02:24:42, stichnot wrote:
> phi instructions? (instead of nodes)
Done.
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:237: The ``PNaCl
bitstream writer``, which converts records to bit sequences, does
On 2014/11/18 02:24:43, stichnot wrote:
> The `` `` formatting doesn't look right in the html file. Should it be *...*
?
Done.
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:241: level, one
important aspect of this appears in ::ref:`block
On 2014/11/18 02:24:42, stichnot wrote:
> ::ref: ==> :ref:
Done.
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:264: abbreviation.
Note: User defined abbreviations are also encoded as records,
On 2014/11/18 02:24:42, stichnot wrote:
> "User defined" ==> "User-defined"
Done.
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:322:
translator<link_for_pnacl_translator>`, and downloaded from the cloud.
On 2014/11/18 02:24:42, stichnot wrote:
> "the cloud"? yuck...
How about simply "when downloaded into Chrome".
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:383: subsection
defines a syntax rule for the construct. The **Record** subsection
On 2014/11/18 02:24:42, stichnot wrote:
> I think most instances of "subsection" can be changed to "section", because
the
> word subsection is a bit clumsy and section nesting levels are probably hard
to
> discern in the formatted online docs.
Done.
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:408: Within a
syntax rule, lowercase characters are literal values. Sequences of
On 2014/11/18 02:24:42, stichnot wrote:
> "lower case" for consistency with other uses, including "upper case"
Done.
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:423: abbreviation.
Otherwise the corresponding default abbreviation (3) is used.
On 2014/11/18 02:24:42, stichnot wrote:
> Can you briefly where the "3" comes from? E.g.
>
> default abbreviation (which happens to be 3 for the add instruction)
>
> (or whatever the actual explanation is)
Replaces with reference to "default abbreviation index", and did not bother with
actual value (which is defined at the reference as 3).
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:591: is a
branch/return instruction.
On 2014/11/18 02:24:42, stichnot wrote:
> What about unreachable? That's kind of distinct from branch and return.
Done.
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:762: NumBasicBlocks
< ExpectedBasicBlocks
On 2014/11/18 02:24:42, stichnot wrote:
> Maybe this paragraph should have some special formatting, like Courier?
Oops, I forgot the "::" after "That is". Fixing.
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:773:
On 2014/11/18 02:24:42, stichnot wrote:
> Remove this blank line for consistency
Actually, the consistent form is to leave a blank line between each (labeled)
case.
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:775:
On 2014/11/18 02:24:42, stichnot wrote:
> Remove this blank line
Done.
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:986: Notationally,
Array(EM) encloses the encoding EM, and must appear at the end of
On 2014/11/18 02:24:42, stichnot wrote:
> Should Array(EM) be formatted consistently with ``array(EM), array and EM`` in
> the next line?
Done.
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:1178: **Updates**:
On 2014/11/18 02:24:43, stichnot wrote:
> ::
Done.
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:1807: **Updates**:
On 2014/11/18 02:24:42, stichnot wrote:
> ::
Done.
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:2237: it to define
them once, before instructions. A constants block can only appear
On 2014/11/18 02:24:42, stichnot wrote:
> is to define
Done.
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:2538:
record<link_for_basic_blocks_count>`. Each ::ref::`terminator
On 2014/11/18 02:24:43, stichnot wrote:
> ::ref:: ==> :ref: (I think)
Done.
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:3623: integral type
``i1``) is disallowed.
On 2014/11/18 02:24:42, stichnot wrote:
> Hmm, the html version says "integrl" here, so I guess they are out of sync?
Will regenerate to verify.
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:3786: The truth
table used for the *or* instruction is:
On 2014/11/18 02:24:42, stichnot wrote:
> xor
Done.
https://codereview.chromium.org/725333002/diff/1/native_client_sdk/src/doc/re...
native_client_sdk/src/doc/reference/pnacl-bitcode-manual.rst:4903: The
comparison instructions compares values returns a boolean (i1) result for
On 2014/11/18 02:24:42, stichnot wrote:
> ... compare ...
> ... and return ...
Done.
Jim Stichnoth
This version lgtm with respect to the goal of getting a reasonable reference out there ...
No LGTM from a valid reviewer yet. Only full committers are accepted. Even if an ...
6 years, 1 month ago
(2014-11-20 17:06:38 UTC)
#12
No LGTM from a valid reviewer yet. Only full committers are accepted.
Even if an LGTM may have been provided, it was from a non-committer,
_not_ a full super star committer.
See http://www.chromium.org/getting-involved/become-a-committer
Note that this has nothing to do with OWNERS files.
Issue 725333002: Initial draft of PNaCl bitcode files.
(Closed)
Created 6 years, 1 month ago by Karl
Modified 6 years, 1 month ago
Reviewers: jvoung (off chromium), Jim Stichnoth, JF, sbc, Sam Clegg
Base URL: https://chromium.googlesource.com/chromium/src.git@master
Comments: 62