diff --git a/reactor/Core/src/jetbrains/mps/logic/reactor/core/internal/ControllerImpl.kt b/reactor/Core/src/jetbrains/mps/logic/reactor/core/internal/ControllerImpl.kt index 9af17de1..9ec52f3b 100644 --- a/reactor/Core/src/jetbrains/mps/logic/reactor/core/internal/ControllerImpl.kt +++ b/reactor/Core/src/jetbrains/mps/logic/reactor/core/internal/ControllerImpl.kt @@ -45,8 +45,7 @@ internal class ControllerImpl ( override fun variable(metaLogical: MetaLogical): Logical? = null }) - traceActivated(occ) - + trace.activate(occ) val status = state.processActivated(this, active, NORMAL()) if (status is FAILED) { throw status.failure.failureCause() @@ -94,7 +93,7 @@ internal class ControllerImpl ( } override fun reactivate(occ: Occurrence): FeedbackStatus { - trace.reactivateIncremental(occ) + trace.reactivate(occ) return state.processActivated(this, occ, NORMAL()) } @@ -217,19 +216,12 @@ internal class ControllerImpl ( return context.eval { status -> constraint.occurrence(this, args, justsCopy(justs), context.logicalContext, context.ruleUniqueTag).let { occ -> - traceActivated(occ) + trace.activate(occ) state.processActivated(this, occ, status) } } } - private fun traceActivated(occ: Occurrence) = - if (!occ.stored) - trace.activate(occ) - else - trace.reactivate(occ) - - private fun askPredicate(predicate: Predicate, context: Context) : Boolean = profiler.profile("ask_${predicate.symbol()}") { diff --git a/reactor/Core/src/jetbrains/mps/logic/reactor/core/internal/ProcessingStateImpl.kt b/reactor/Core/src/jetbrains/mps/logic/reactor/core/internal/ProcessingStateImpl.kt index 877517ad..1023f8a3 100644 --- a/reactor/Core/src/jetbrains/mps/logic/reactor/core/internal/ProcessingStateImpl.kt +++ b/reactor/Core/src/jetbrains/mps/logic/reactor/core/internal/ProcessingStateImpl.kt @@ -66,7 +66,9 @@ internal class ProcessingStateImpl(private var dispatchingFront: Dispatcher.Disp // Incremental reactivation should proceed more like usual activation. this.dispatchingFront = dispatchingFront.forgetExpanded(activeOcc) - return controller.reactivate(activeOcc) + trace.reactivateIncremental(activeOcc) + + return processActivated(controller, activeOcc, FeedbackStatus.NORMAL()) } /**