Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

i#2463: code cache pre-population #2505

Merged
merged 2 commits into from
Jul 7, 2017
Merged

i#2463: code cache pre-population #2505

merged 2 commits into from
Jul 7, 2017

Conversation

derekbruening
Copy link
Contributor

Adds a new API routine dr_prepopulate_cache() meant to be called between
dr_app_setup() and dr_app_start() to build up a code cache in parallel with
app execution, to avoid the cost of a cold cache upon attach.

Fixes some auxiliary issues with building blocks ahead of time from
sampling data:

  • Sets up TLS during bb building for dcontexts but does not enable signal
    handlers to avoid perturbing the app.
  • Adds is_DR_segment_reader_entry() to avoid pre-building a problematic
    self-sampled bb that reads DR segments when DR is a static library and we
    do not support mangling such reads.
  • Fixes an initialized-dcontext issue in dr_get_isa_mode().

Adds a test.

Fixes #2463

Adds a new API routine dr_prepopulate_cache() meant to be called between
dr_app_setup() and dr_app_start() to build up a code cache in parallel with
app execution, to avoid the cost of a cold cache upon attach.

Fixes some auxiliary issues with building blocks ahead of time from
sampling data:
+ Sets up TLS during bb building for dcontexts but does not enable signal
  handlers to avoid perturbing the app.
+ Adds is_DR_segment_reader_entry() to avoid pre-building a problematic
  self-sampled bb that reads DR segments when DR is a static library and we
  do not support mangling such reads.
+ Fixes an initialized-dcontext issue in dr_get_isa_mode().

Adds a test.

Fixes #2463
@derekbruening
Copy link
Contributor Author

It's failing to install doxygen, 2x in a row. Hopefully some transient issue. I will run a local Windows test to confirm the Windows build isn't broken.

 - doxygen.portable (exited -1) - Error while running 'C:\ProgramData\chocolatey\lib\doxygen.portable\tools\chocolateyInstall.ps1'.
 See log for details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant