RFR: 8342090: Infer::IncorporationBinaryOp::equals can produce side-effects [v8]

Vicente Romero vromero at openjdk.org
Thu Oct 24 14:13:26 UTC 2024


> Type inference uses a cache to store incorporation operations already done. This way we can avoid redoing operations that once done won't produce any change. This can reduce the compilation time when the number of inference variables involved is not trivial. The elements in the cache are implemented with class `com.sun.tools.javac.comp.Infer::IncorporationBinaryOp` the problem here is that the equals method of this class can produce side effects, implying that after a comparison the compared objects can mutate. This patch is fixing this issue,
> 
> TIA

Vicente Romero has updated the pull request incrementally with two additional commits since the last revision:

 - Update src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java
   
   Co-authored-by: Maurizio Cimadamore <54672762+mcimadamore at users.noreply.github.com>
 - Update src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java
   
   Co-authored-by: Maurizio Cimadamore <54672762+mcimadamore at users.noreply.github.com>

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/21651/files
  - new: https://git.openjdk.org/jdk/pull/21651/files/a7cb54c5..fc210dd3

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=21651&range=07
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=21651&range=06-07

  Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/21651.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21651/head:pull/21651

PR: https://git.openjdk.org/jdk/pull/21651


More information about the compiler-dev mailing list