From 94fad8bab7edb30b2a435d58bd583b00caf9771e Mon Sep 17 00:00:00 2001 From: pavelpozdeev Date: Thu, 13 Feb 2025 12:53:07 +0300 Subject: [PATCH 1/2] done --- .../runtime/src/core/CallsiteKey.cj | 3 +- incremental-cj/runtime/src/core/Dependency.cj | 6 +-- incremental-cj/runtime/src/core/ScopeImpl.cj | 4 +- .../runtime/src/core/StateManager.cj | 8 ++-- incremental-cj/runtime/src/memoize/visitor.cj | 42 +++++++++---------- interop/src/cangjie/ResourceManager.cj | 2 +- interop/src/cangjie/SerializerBase.cj | 6 +-- 7 files changed, 35 insertions(+), 36 deletions(-) diff --git a/incremental-cj/runtime/src/core/CallsiteKey.cj b/incremental-cj/runtime/src/core/CallsiteKey.cj index ec02af08e..35cecbf8e 100644 --- a/incremental-cj/runtime/src/core/CallsiteKey.cj +++ b/incremental-cj/runtime/src/core/CallsiteKey.cj @@ -14,7 +14,6 @@ */ package KoalaRuntime.core -import std.format.* public type CallsiteKey = UInt64 @@ -24,7 +23,7 @@ extend CallsiteKey { */ public prop text: String { get() { - format("016X") + "016X" } } } diff --git a/incremental-cj/runtime/src/core/Dependency.cj b/incremental-cj/runtime/src/core/Dependency.cj index 55b9821ef..fa6e72029 100644 --- a/incremental-cj/runtime/src/core/Dependency.cj +++ b/incremental-cj/runtime/src/core/Dependency.cj @@ -69,11 +69,11 @@ public class Dependencies { return } if (let Some(dependencies) <- this.dependencies) { - dependencies.put(dependency) + dependencies.add(dependency) } else { let set = HashSet() - set.put(latest) - set.put(dependency) + set.add(latest) + set.add(dependency) this.dependencies = set } } diff --git a/incremental-cj/runtime/src/core/ScopeImpl.cj b/incremental-cj/runtime/src/core/ScopeImpl.cj index f9fdada1a..160c3225a 100644 --- a/incremental-cj/runtime/src/core/ScopeImpl.cj +++ b/incremental-cj/runtime/src/core/ScopeImpl.cj @@ -174,7 +174,7 @@ abstract class ManagedScope <: Dependency & TreeNode & Equatable([state]) } @@ -182,7 +182,7 @@ abstract class ManagedScope <: Dependency & TreeNode & Equatable([(name, state)]) } diff --git a/incremental-cj/runtime/src/core/StateManager.cj b/incremental-cj/runtime/src/core/StateManager.cj index a4ad2207e..993b06028 100644 --- a/incremental-cj/runtime/src/core/StateManager.cj +++ b/incremental-cj/runtime/src/core/StateManager.cj @@ -29,7 +29,7 @@ let scheduledCallbacks = ArrayList<() -> Unit>() * @param callback - a function to perform between recompositions */ public func scheduleCallback(callback: () -> Unit): Unit { - scheduledCallbacks.append(callback) + scheduledCallbacks.add(callback) } /** @@ -93,7 +93,7 @@ public class GlobalStateManager { } static func addCreatedState(state: AbstractState): Unit { - createdStates.put(state) + createdStates.add(state) if (!state.global) { currentScope?.addCreatedState(state) } @@ -117,7 +117,7 @@ public class GlobalStateManager { } static func addDirtyScope(scope: ManagedScope): Unit { - dirtyScopes.put(scope) + dirtyScopes.add(scope) } static func checkForStateDisposing(): Unit { @@ -247,7 +247,7 @@ public class GlobalStateManager { stateCreating = None let state = StateImpl(initial, global, tracker, name) if (global) { - namedStates.put(name, state) + namedStates.add(name, state) } else if (let Some(scope) <- currentScope) { scope.setNamedState(name, state) } diff --git a/incremental-cj/runtime/src/memoize/visitor.cj b/incremental-cj/runtime/src/memoize/visitor.cj index 6181167f3..eebbfa23b 100644 --- a/incremental-cj/runtime/src/memoize/visitor.cj +++ b/incremental-cj/runtime/src/memoize/visitor.cj @@ -46,8 +46,8 @@ open class MemoVisitor <: Visitor { let varValue = Token(IDENTIFIER, param.identifier.value) let varDecl = VarDecl(quote(let $(varName) = getParameter(__memo_scope, $(count), $(varValue), $(param.identifier.value)))) - memoizedParamsNames.append(param.identifier.value) - memoizedParams.append(varDecl) + memoizedParamsNames.add(param.identifier.value) + memoizedParams.add(varDecl) count++ } } @@ -61,8 +61,8 @@ open class MemoVisitor <: Visitor { let varValue = Token(IDENTIFIER, param.identifier.value) let varDecl = VarDecl(quote(let $(varName) = getParameter(__memo_scope, $(count), $(varValue), $(param.identifier.value)))) - memoizedParamsNames.append(param.identifier.value) - memoizedParams.append(varDecl) + memoizedParamsNames.add(param.identifier.value) + memoizedParams.add(varDecl) count++ } return memoizedParams @@ -98,22 +98,22 @@ class MemoFuncVisitor <: MemoVisitor { let memoizedParams = memoizeParams(funcDecl) funcDecl.block.nodes = ArrayList() - funcDecl.block.nodes.append(VarDecl(quote(let __memo_key = getCallsiteKey()))) - funcDecl.block.nodes.append( + funcDecl.block.nodes.add(VarDecl(quote(let __memo_key = getCallsiteKey()))) + funcDecl.block.nodes.add( VarDecl( quote(let __memo_scope = getMemoScope < $(funcType) >(__memo_key, $(memoizedParams.size))) )) for (memoizedParam in memoizedParams) { - funcDecl.block.nodes.append(memoizedParam) + funcDecl.block.nodes.add(memoizedParam) } for (param in memoizedParamsNames) { let varGetterName = Token(IDENTIFIER, "__memo_param_value_" + param) let memoParam = Token(IDENTIFIER, "__memo_param_" + param) let varGetter = VarDecl(quote(let $(varGetterName) = $(memoParam).getValue())) - funcDecl.block.nodes.append(varGetter) + funcDecl.block.nodes.add(varGetter) } - funcDecl.block.nodes.append( + funcDecl.block.nodes.add( IfExpr( quote(if (__memo_scope.isUnchanged()) { return __memo_scope.getCached() @@ -124,11 +124,11 @@ class MemoFuncVisitor <: MemoVisitor { blockNode.traverse(LambdaVisitor(this.memoizedParamsNames)) blockNode.traverse(RefExprVisitor(this.memoizedParamsNames)) blockNode.traverse(ReturnVisitor()) - funcDecl.block.nodes.append(blockNode) + funcDecl.block.nodes.add(blockNode) } let lastNode = funcDecl.block.nodes[funcDecl.block.nodes.size - 1] if (!(lastNode is ReturnExpr) && quote($(funcType)).toTokens()[0].kind == Token(UNIT).kind) { - funcDecl.block.nodes.append(parseExpr(quote(return __memo_scope.recache(MEMO_UNIT)))) + funcDecl.block.nodes.add(parseExpr(quote(return __memo_scope.recache(MEMO_UNIT)))) } breakTraverse() } @@ -147,15 +147,15 @@ class LambdaVisitor <: MemoVisitor { let varGetterName = Token(IDENTIFIER, "__memo_param_value_" + param) let memoParam = Token(IDENTIFIER, "__memo_param_" + param) let varGetter = VarDecl(quote(let $(varGetterName) = $(memoParam).getValue())) - lambdaExpr.nodes.append(varGetter) + lambdaExpr.nodes.add(varGetter) } for (blockNode in blockNodes) { blockNode.traverse(RefExprVisitor(memoizedParamsNames)) - lambdaExpr.nodes.append(blockNode) + lambdaExpr.nodes.add(blockNode) } // let lastNode = lambdaExpr.nodes[lambdaExpr.nodes.size - 1] // if (!(lastNode is ReturnExpr)) { - // lambdaExpr.nodes.append(parseExpr(quote(return))) + // lambdaExpr.nodes.add(parseExpr(quote(return))) // } // breakTraverse() } @@ -177,22 +177,22 @@ class MemoLambdaVisitor <: MemoVisitor { let blockNodes = lambdaExpr.nodes lambdaExpr.nodes = ArrayList() - lambdaExpr.nodes.append(VarDecl(quote(let __memo_key = getCallsiteKey()))) - lambdaExpr.nodes.append( + lambdaExpr.nodes.add(VarDecl(quote(let __memo_key = getCallsiteKey()))) + lambdaExpr.nodes.add( VarDecl( quote(let __memo_scope = getMemoScope < Unit >(__memo_key, $(memoizedParams.size))) )) for (memoizedParam in memoizedParams) { - lambdaExpr.nodes.append(memoizedParam) + lambdaExpr.nodes.add(memoizedParam) } for (param in memoizedParamsNames) { let varGetterName = Token(IDENTIFIER, "__memo_param_value_" + param) let memoParam = Token(IDENTIFIER, "__memo_param_" + param) let varGetter = VarDecl(quote(let $(varGetterName) = $(memoParam).getValue())) - lambdaExpr.nodes.append(varGetter) + lambdaExpr.nodes.add(varGetter) } - lambdaExpr.nodes.append( + lambdaExpr.nodes.add( IfExpr( quote(if (__memo_scope.isUnchanged()) { return __memo_scope.getCached() @@ -202,11 +202,11 @@ class MemoLambdaVisitor <: MemoVisitor { blockNode.traverse(LambdaVisitor(this.memoizedParamsNames)) blockNode.traverse(RefExprVisitor(this.memoizedParamsNames)) blockNode.traverse(ReturnVisitor()) - lambdaExpr.nodes.append(blockNode) + lambdaExpr.nodes.add(blockNode) } let lastNode = lambdaExpr.nodes[lambdaExpr.nodes.size - 1] if (!(lastNode is ReturnExpr)) { - lambdaExpr.nodes.append(parseExpr(quote(return __memo_scope.recache(MEMO_UNIT)))) + lambdaExpr.nodes.add(parseExpr(quote(return __memo_scope.recache(MEMO_UNIT)))) } breakTraverse() } diff --git a/interop/src/cangjie/ResourceManager.cj b/interop/src/cangjie/ResourceManager.cj index 666f8564d..d2e589d5f 100644 --- a/interop/src/cangjie/ResourceManager.cj +++ b/interop/src/cangjie/ResourceManager.cj @@ -65,7 +65,7 @@ public class ResourceHolder { public func registerAndHold(resource: Any): ResourceId { ResourceHolder.nextResourceId += 1 let resourceId = ResourceHolder.nextResourceId - this.resources.put(resourceId, ResourceInfo(resource, resourceId)) + this.resources.add(resourceId, ResourceInfo(resource, resourceId)) return resourceId } diff --git a/interop/src/cangjie/SerializerBase.cj b/interop/src/cangjie/SerializerBase.cj index cb8783343..612d63e9a 100644 --- a/interop/src/cangjie/SerializerBase.cj +++ b/interop/src/cangjie/SerializerBase.cj @@ -96,7 +96,7 @@ public open class SerializerBase { let resizedSize = max(minSize, Int64(round(3.0 * Float64(buffSize) / 2.0))) var resizedBuffer = ArrayList(this.buffer) while (resizedBuffer.size < resizedSize) { - resizedBuffer.append(0) + resizedBuffer.add(0) } this.buffer = resizedBuffer } @@ -110,7 +110,7 @@ public open class SerializerBase { private var heldResources: ArrayList = ArrayList() public func holdAndWriteCallback(callback: Any): ResourceId { let resourceId = ResourceHolder.instance().registerAndHold(callback) - this.heldResources.append(resourceId) + this.heldResources.add(resourceId) this.writeInt32(resourceId) this.writePointer(0) this.writePointer(0) @@ -120,7 +120,7 @@ public open class SerializerBase { } public func holdAndWriteCallback(callback: Any, hold: KPointer, release: KPointer, call: KPointer, callSync: KPointer): ResourceId { let resourceId = ResourceHolder.instance().registerAndHold(callback) - this.heldResources.append(resourceId) + this.heldResources.add(resourceId) this.writeInt32(resourceId) this.writePointer(hold) this.writePointer(release) -- Gitee From 590c613e79ef6ba12fab6051708059fbb6ccbce7 Mon Sep 17 00:00:00 2001 From: pavelpozdeev Date: Thu, 13 Feb 2025 13:31:30 +0300 Subject: [PATCH 2/2] fix --- incremental-cj/runtime/src/core/CallsiteKey.cj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/incremental-cj/runtime/src/core/CallsiteKey.cj b/incremental-cj/runtime/src/core/CallsiteKey.cj index 35cecbf8e..45de6b1ba 100644 --- a/incremental-cj/runtime/src/core/CallsiteKey.cj +++ b/incremental-cj/runtime/src/core/CallsiteKey.cj @@ -14,6 +14,7 @@ */ package KoalaRuntime.core +import std.convert.* public type CallsiteKey = UInt64 @@ -23,7 +24,7 @@ extend CallsiteKey { */ public prop text: String { get() { - "016X" + format("016X") } } } -- Gitee