0
Files
src/docs
Egor Pasko 3099fe8081 Revert "orderfile: Remove the patching step"
This reverts commit 9083892277.

Reason for revert: performance regression on android-pixel6-perf-pgo: https://screenshot.googleplex.com/6yxbc7zZDcZbvKw

Original change's description:
> orderfile: Remove the patching step
>
> Remove the 'Patch Orderfile' step from the Orderfile Generator. Replace
> it with a simpler step 'Add dummy functions'. It adds the following
> symbols to the beginning and the end of the orderfile, just like the
> current orderfile patching step does:
> * dummy_function_start_of_ordered_text
> * dummy_function_end_of_ordered_text
>
> The symbol `__cxx_global_var_init` is currently added along with the
> symbols marking begin/end of the ordered address range. While the latter
> symbols are important for correctness at runtime, the former does
> not exist these days. It used to be a large and uninstrumented symbol.
> Remove mentions of it in orderfiles.
>
> Note: This change does _not_ remove generation of the unpatched
> orderfile and uploading it to the cloud storage. Leaving it as TODO for
> a separate change. The only difference remaining between the normal and
> the 'unpatched' orderfile after this change would be the presence of the
> dummy functions mentioned above.
>
> == Observation(s) from running locally
>
> About 900 symbols from the orderfile that cannot be found in the
> uninstrumented binary because of the known problem [1]. The current
> 'patching' step does not fix this problem. There is, however, a
> possibility to mitigate the problem with another style of patching,
> which is not infra-friendly because it requires two builds with
> different configuration on the same builder.
>
> A few dozen symbols from the orderfile appear at 2+ offsets in the
> binary. I think it could be in part because of the DFM splitting, but I
> am not sure. It would be nice to investigate. There is one example of
> such symbol: ReadHuffmanCode. It is defined by brotli and libwebp (both
> in third_party), and they are static symbols only referenced from the
> same file where they are defined.
>
> [1] crbug.com/356360613:
>     "Teach orderfile generator to respect suffixed function names
>      from LTO"
>
> Bug: 340534475
> Change-Id: Icddd3b84576cfe76bfb652fe856aac3d2701dce6
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5782742
> Reviewed-by: Peter Wen <wnwen@chromium.org>
> Commit-Queue: Peter Wen <wnwen@chromium.org>
> Reviewed-by: Rasika Navarange <rasikan@google.com>
> Cr-Commit-Position: refs/heads/main@{#1341171}

Bug: 340534475
Change-Id: I08d2865a5758c2318bf21730a0232f1465cfcc96
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5796046
Commit-Queue: Egor Pasko <pasko@chromium.org>
Auto-Submit: Egor Pasko <pasko@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1343395}
2024-08-19 10:11:16 +00:00
..
2024-07-22 20:44:28 +00:00
2024-05-22 23:19:48 +00:00
2024-01-10 01:03:43 +00:00
2024-03-21 11:37:38 +00:00
2024-08-15 18:01:49 +00:00
2024-08-14 18:07:01 +00:00
2024-07-22 20:44:28 +00:00
2024-03-18 09:08:10 +00:00
2024-05-27 07:23:19 +00:00
2024-04-10 18:17:09 +00:00
2024-04-26 00:53:30 +00:00
2023-05-19 07:09:24 +00:00
2023-11-29 10:32:30 +00:00
2023-07-22 00:14:11 +00:00
2024-05-02 11:23:56 +00:00
2023-04-27 18:56:54 +00:00
2023-08-01 17:31:20 +00:00
2024-04-12 14:52:01 +00:00
2023-05-18 23:59:28 +00:00
2024-05-27 07:23:19 +00:00
2024-04-18 23:10:28 +00:00
2024-07-02 11:45:05 +00:00
2024-08-08 19:56:46 +00:00

Chromium docs

This directory contains chromium project documentation in Gitiles-flavored Markdown. It is automatically rendered by Gitiles.

If you add new documents, please also add a link to them in the Document Index below.

[TOC]

Creating Documentation

Guidelines

Previewing changes

Locally using md_browser

# in chromium checkout
./tools/md_browser/md_browser.py

This is only an estimate. The gitiles view may differ.

  1. Upload a patch to gerrit, or receive a review request. e.g. https://chromium-review.googlesource.com/c/3362532
  2. View a specific .md file. e.g. https://chromium-review.googlesource.com/c/3362532/2/docs/README.md
  3. You will see something like
    Base preview -> Patchset 3 preview | DOWNLOAD
    at the top left of the page. Click on the second "preview" link to open the preview for the current patch set.

This gitiles view is the authoritative view, exactly the same as will be used when committed.

Document Index

Checking Out and Building

Design Docs

Integrated Development Environment (IDE) Set Up Guides

Git

Clang

General Development

Testing

Configuration Docs

Misc Linux-Specific Docs

Misc MacOS-Specific Docs

Misc Windows-Specific Docs

Misc Android-Specific Docs

Misc iOS-Specific Docs

Misc Chrome-OS-Specific Docs

Misc WebUI-Specific Docs

Media

Accessibility

Memory

Memory Infrastructure Timeline Profiling (MemoryInfra)

Metrics

Misc

Mojo & Services

Speed

  • Chrome Speed - Documentation for performance measurements and regressions in Chrome.
  • Chrome Speed Metrics - Documentation about user experience metrics on the web and their JavaScript APIs.

UI

What's Up With That Transcripts

These are transcripts of What's Up With That, a video series of interviews with Chromium software engineers.

Probably Obsolete