Skip to content
Snippets Groups Projects
Commit 6365b6d7 authored by René Schöne's avatar René Schöne
Browse files

Use trace hooks.

- add hooks for setParent, insertChild and removeChild
parent 4198e5e3
Branches
No related tags found
No related merge requests found
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
ASTNode.incHookSetParent = [[ ASTNode.incHookSetParent = [[
$if (IncrementalEnabled) $if (IncrementalEnabled)
$include(ASTNode.traceFlushIncBeginSetParent)
$if (IncrementalLevelParam) $if (IncrementalLevelParam)
if (state().disableDeps == 0 && !state().IN_ATTR_STORE_EVAL) { if (state().disableDeps == 0 && !state().IN_ATTR_STORE_EVAL) {
getParent_handler.notifyDependencies(); getParent_handler.notifyDependencies();
...@@ -51,6 +52,7 @@ if (state().disableDeps == 0 && !(state().IN_COMPUTATION > 0)) { ...@@ -51,6 +52,7 @@ if (state().disableDeps == 0 && !(state().IN_COMPUTATION > 0)) {
} }
} }
$endif $endif
$include(ASTNode.traceFlushIncEndSetParent)
/* /*
if (node != null) { if (node != null) {
inc_changeState(node.inc_state); inc_changeState(node.inc_state);
...@@ -63,10 +65,7 @@ $endif ...@@ -63,10 +65,7 @@ $endif
ASTNode.incHookSetChild1 = [[ ASTNode.incHookSetChild1 = [[
$if(IncrementalEnabled) $if(IncrementalEnabled)
$if (TraceFlush) $include(ASTNode.traceFlushIncBeginSetChild)
Object flushIncToken = new Object();
state().trace().flushIncStart(this, "setChild", flushIncToken);
$endif
$if(IncrementalLevelParam) $if(IncrementalLevelParam)
if (state().disableDeps == 0 && !state().IN_ATTR_STORE_EVAL) { if (state().disableDeps == 0 && !state().IN_ATTR_STORE_EVAL) {
...@@ -166,15 +165,13 @@ $endif ...@@ -166,15 +165,13 @@ $endif
ASTNode.incHookSetChild5 = [[ ASTNode.incHookSetChild5 = [[
$if(IncrementalEnabled) $if(IncrementalEnabled)
$if (TraceFlush) $include(ASTNode.traceFlushIncEndSetChild)
state().trace().flushIncEnd(this, "setChild", flushIncToken);
$endif
$endif $endif
]] ]]
ASTNode.incHookInsertChild1 = [[ ASTNode.incHookInsertChild1 = [[
$if(IncrementalEnabled) $if(IncrementalEnabled)
$include(ASTNode.traceFlushIncBeginInsertChild)
$if(IncrementalLevelParam) $if(IncrementalLevelParam)
if (state().disableDeps == 0 && !state().IN_ATTR_STORE_EVAL) { if (state().disableDeps == 0 && !state().IN_ATTR_STORE_EVAL) {
numChildren_handler.notifyDependencies(); numChildren_handler.notifyDependencies();
...@@ -241,6 +238,7 @@ if (getChild_handler != null) { ...@@ -241,6 +238,7 @@ if (getChild_handler != null) {
getChild_handler = h; getChild_handler = h;
} }
$endif $endif
$include(ASTNode.traceFlushIncEndInsertChild)
$endif $endif
]] ]]
...@@ -248,7 +246,7 @@ $endif ...@@ -248,7 +246,7 @@ $endif
ASTNode.incHookRemoveChild1 = [[ ASTNode.incHookRemoveChild1 = [[
$if(IncrementalEnabled) $if(IncrementalEnabled)
$include(ASTNode.traceFlushIncBeginRemoveChild)
$if(IncrementalLevelParam) $if(IncrementalLevelParam)
if (state().disableDeps == 0 && !state().IN_ATTR_STORE_EVAL) { if (state().disableDeps == 0 && !state().IN_ATTR_STORE_EVAL) {
if (children[i] != null) { if (children[i] != null) {
...@@ -320,16 +318,14 @@ if (getChild_handler != null && this instanceof $List) { ...@@ -320,16 +318,14 @@ if (getChild_handler != null && this instanceof $List) {
getChild_handler[numChildren] = null; getChild_handler[numChildren] = null;
} }
$endif $endif
$include(ASTNode.traceFlushIncEndRemoveChild)
$endif $endif
]] ]]
TokenComponent.incHookSetToken = [[ TokenComponent.incHookSetToken = [[
$if(IncrementalEnabled) $if(IncrementalEnabled)
$if (TraceFlush) $include(TokenComponent.traceFlushIncBeginSetToken)
Object flushIncToken = new Object();
state().trace().flushIncStart(this, "set$(Id)", flushIncToken);
$endif
$if(IncrementalLevelParam) $if(IncrementalLevelParam)
if (state().disableDeps == 0 && !state().IN_ATTR_STORE_EVAL) { if (state().disableDeps == 0 && !state().IN_ATTR_STORE_EVAL) {
...@@ -400,8 +396,6 @@ if (state().disableDeps == 0 && !(state().IN_COMPUTATION > 0)) { ...@@ -400,8 +396,6 @@ if (state().disableDeps == 0 && !(state().IN_COMPUTATION > 0)) {
$endif $endif
} }
$if (TraceFlush) $include(TokenComponent.traceFlushIncEndSetToken)
state().trace().flushIncEnd(this, "set$(Id)", flushIncToken);
$endif
$endif $endif
]] ]]
...@@ -323,6 +323,71 @@ state().trace().flushAttr("#getAspectName", this, "#hostClassName.#signatureJava ...@@ -323,6 +323,71 @@ state().trace().flushAttr("#getAspectName", this, "#hostClassName.#signatureJava
$endif $endif
]] ]]
ASTNode.traceFlushIncBeginSetChild [[
$if (TraceFlush)
Object flushIncToken = new Object();
state().trace().flushIncStart(this, "setChild", flushIncToken);
$endif
]]
TokenComponent.traceFlushIncBeginSetToken [[
$if (TraceFlush)
Object flushIncToken = new Object();
state().trace().flushIncStart(this, "set$(Id)", flushIncToken);
$endif
]]
ASTNode.traceFlushIncBeginInsertChild [[
$if (TraceFlush)
Object flushIncToken = new Object();
state().trace().flushIncStart(this, "insertChild", flushIncToken);
$endif
]]
ASTNode.traceFlushIncBeginRemoveChild [[
$if (TraceFlush)
Object flushIncToken = new Object();
state().trace().flushIncStart(this, "removeChild", flushIncToken);
$endif
]]
ASTNode.traceFlushIncBeginSetParent [[
$if (TraceFlush)
Object flushIncToken = new Object();
state().trace().flushIncStart(this, "setParent", flushIncToken);
$endif
]]
ASTNode.traceFlushIncEndSetChild [[
$if (TraceFlush)
state().trace().flushIncEnd(this, "setChild", flushIncToken);
$endif
]]
TokenComponent.traceFlushIncEndSetToken [[
$if (TraceFlush)
state().trace().flushIncEnd(this, "set$(Id)", flushIncToken);
$endif
]]
ASTNode.traceFlushIncEndInsertChild [[
$if (TraceFlush)
state().trace().flushIncEnd(this, "insertChild", flushIncToken);
$endif
]]
ASTNode.traceFlushIncEndRemoveChild [[
$if (TraceFlush)
state().trace().flushIncEnd(this, "removeChild", flushIncToken);
$endif
]]
ASTNode.traceFlushIncEndSetParent [[
$if (TraceFlush)
state().trace().flushIncEnd(this, "setParent", flushIncToken);
$endif
]]
AttrDecl.traceFlushIncAttr [[ AttrDecl.traceFlushIncAttr [[
$if (TraceFlush) $if (TraceFlush)
state.trace().flushIncAttr("#getAspectName", fNode, fAttrID, "", ""); state.trace().flushIncAttr("#getAspectName", fNode, fAttrID, "", "");
......
...@@ -354,14 +354,14 @@ public static class Trace { ...@@ -354,14 +354,14 @@ public static class Trace {
* Trace that flushing done by incremental evaluation begun. * Trace that flushing done by incremental evaluation begun.
*/ */
public void flushIncStart($ASTNode node, String child, Object value) { public void flushIncStart($ASTNode node, String child, Object value) {
receiver.accept($StateClass.Trace.Event.INC_FLUSH_START, node, child, "", value); receiver.accept($StateClass.Trace.Event.INC_FLUSH_START, ASPECT_AST, node, child, "", value);
} }
/** /**
* Trace that flushing done by incremental evaluation ended. * Trace that flushing done by incremental evaluation ended.
*/ */
public void flushIncEnd($ASTNode node, String child, Object value) { public void flushIncEnd($ASTNode node, String child, Object value) {
receiver.accept($StateClass.Trace.Event.INC_FLUSH_END, node, child, "", value); receiver.accept($StateClass.Trace.Event.INC_FLUSH_END, ASPECT_AST, node, child, "", value);
} }
/** /**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment