Original PR: https://github.com/apple/pkl/pull/980 Author: @bioball Created: 2/24/2025 Status: 🔄 Open
Base: main ← Head: compute-cyclical-hash-codes
main
compute-cyclical-hash-codes
a26a38a
a8b8c03
24 files changed (+189 additions, -65 deletions)
📝 pkl-core/src/main/java/org/pkl/core/runtime/StdLibModule.java (+3 -1) 📝 pkl-core/src/main/java/org/pkl/core/runtime/VmClass.java (+0 -1) 📝 pkl-core/src/main/java/org/pkl/core/runtime/VmDataSize.java (+1 -1) 📝 pkl-core/src/main/java/org/pkl/core/runtime/VmDuration.java (+1 -1) 📝 pkl-core/src/main/java/org/pkl/core/runtime/VmDynamic.java (+9 -2) 📝 pkl-core/src/main/java/org/pkl/core/runtime/VmIntSeq.java (+1 -1) 📝 pkl-core/src/main/java/org/pkl/core/runtime/VmList.java (+11 -3) 📝 pkl-core/src/main/java/org/pkl/core/runtime/VmListing.java (+4 -1) 📝 pkl-core/src/main/java/org/pkl/core/runtime/VmMap.java (+8 -3) 📝 pkl-core/src/main/java/org/pkl/core/runtime/VmMapping.java (+4 -2) 📝 pkl-core/src/main/java/org/pkl/core/runtime/VmNull.java (+1 -1) 📝 pkl-core/src/main/java/org/pkl/core/runtime/VmObject.java (+6 -0) 📝 pkl-core/src/main/java/org/pkl/core/runtime/VmPair.java (+1 -1) 📝 pkl-core/src/main/java/org/pkl/core/runtime/VmRegex.java (+1 -1) 📝 pkl-core/src/main/java/org/pkl/core/runtime/VmSet.java (+11 -3) 📝 pkl-core/src/main/java/org/pkl/core/runtime/VmTyped.java (+5 -3) 📝 pkl-core/src/main/java/org/pkl/core/runtime/VmValue.java (+1 -1) 📝 pkl-core/src/test/files/LanguageSnippetTests/input/listings/hashCode.pkl (+14 -0) 📝 pkl-core/src/test/files/LanguageSnippetTests/input/mappings/hashCode.pkl (+14 -0) 📝 pkl-core/src/test/files/LanguageSnippetTests/input/objects/hashCode.pkl (+72 -38)
pkl-core/src/main/java/org/pkl/core/runtime/StdLibModule.java
pkl-core/src/main/java/org/pkl/core/runtime/VmClass.java
pkl-core/src/main/java/org/pkl/core/runtime/VmDataSize.java
pkl-core/src/main/java/org/pkl/core/runtime/VmDuration.java
pkl-core/src/main/java/org/pkl/core/runtime/VmDynamic.java
pkl-core/src/main/java/org/pkl/core/runtime/VmIntSeq.java
pkl-core/src/main/java/org/pkl/core/runtime/VmList.java
pkl-core/src/main/java/org/pkl/core/runtime/VmListing.java
pkl-core/src/main/java/org/pkl/core/runtime/VmMap.java
pkl-core/src/main/java/org/pkl/core/runtime/VmMapping.java
pkl-core/src/main/java/org/pkl/core/runtime/VmNull.java
pkl-core/src/main/java/org/pkl/core/runtime/VmObject.java
pkl-core/src/main/java/org/pkl/core/runtime/VmPair.java
pkl-core/src/main/java/org/pkl/core/runtime/VmRegex.java
pkl-core/src/main/java/org/pkl/core/runtime/VmSet.java
pkl-core/src/main/java/org/pkl/core/runtime/VmTyped.java
pkl-core/src/main/java/org/pkl/core/runtime/VmValue.java
pkl-core/src/test/files/LanguageSnippetTests/input/listings/hashCode.pkl
pkl-core/src/test/files/LanguageSnippetTests/input/mappings/hashCode.pkl
pkl-core/src/test/files/LanguageSnippetTests/input/objects/hashCode.pkl
...and 4 more files
This fixes an issue where a cyclical object will stack overflow when computing its hash code.
Closes #979
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
No dependencies set.
The note is not visible to the blocked user.
📋 Pull Request Information
Original PR: https://github.com/apple/pkl/pull/980
Author: @bioball
Created: 2/24/2025
Status: 🔄 Open
Base:
main← Head:compute-cyclical-hash-codes📝 Commits (2)
a26a38aFix hash code computation of cyclical objectsa8b8c03More optimized hashCode, wip📊 Changes
24 files changed (+189 additions, -65 deletions)
View changed files
📝
pkl-core/src/main/java/org/pkl/core/runtime/StdLibModule.java(+3 -1)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmClass.java(+0 -1)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmDataSize.java(+1 -1)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmDuration.java(+1 -1)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmDynamic.java(+9 -2)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmIntSeq.java(+1 -1)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmList.java(+11 -3)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmListing.java(+4 -1)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmMap.java(+8 -3)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmMapping.java(+4 -2)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmNull.java(+1 -1)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmObject.java(+6 -0)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmPair.java(+1 -1)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmRegex.java(+1 -1)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmSet.java(+11 -3)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmTyped.java(+5 -3)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmValue.java(+1 -1)📝
pkl-core/src/test/files/LanguageSnippetTests/input/listings/hashCode.pkl(+14 -0)📝
pkl-core/src/test/files/LanguageSnippetTests/input/mappings/hashCode.pkl(+14 -0)📝
pkl-core/src/test/files/LanguageSnippetTests/input/objects/hashCode.pkl(+72 -38)...and 4 more files
📄 Description
This fixes an issue where a cyclical object will stack overflow when computing its hash code.
Closes #979
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.