[all-commits] [llvm/llvm-project] 6563bb: tsan: don't use caller/current PC in Java interfaces

Dmitry Vyukov via All-commits all-commits at lists.llvm.org
Wed Jul 28 11:25:35 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6563bb53b5fd837a2a0368c58de1cf02ec921d27
      https://github.com/llvm/llvm-project/commit/6563bb53b5fd837a2a0368c58de1cf02ec921d27
  Author: Dmitry Vyukov <dvyukov at google.com>
  Date:   2021-07-28 (Wed, 28 Jul 2021)

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_interface_java.cpp
    M compiler-rt/test/tsan/java_symbolization.cpp

  Log Message:
  -----------
  tsan: don't use caller/current PC in Java interfaces

Caller PC is plain harmful as native caller PC has nothing to do with Java code.
Current PC is not particularly useful and may be somewhat confusing for Java users
as it makes top frame to point to some magical __tsan function.
But obtaining and using these PCs adds runtime cost for every java event.
Remove these PCs. Rely only on official Java frames.
It makes execution faster, code simpler and reports better.

Depends on D106956.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D106957




More information about the All-commits mailing list