Conversation
2.增加EntryPoint[] 数组,传递到优化器 3.处理不恰当的多遍优化外循环
|
@ShawnYun test this when you have time. |
| } | ||
|
|
||
| addrConvertTable = null; | ||
| // 10 iterations max |
There was a problem hiding this comment.
@lightszero we need to execute it multiple times, this logic was moved ?
There was a problem hiding this comment.
a parser should do loops in itself ,I moved this to Parser_DeleteUselessEqual.
There was a problem hiding this comment.
I think that it's better to do it outside, because one optimizer, could optimize the next one.
There was a problem hiding this comment.
if that happens need to redesign optimizer parser pipeline. make sure one pass can finish the job.
There was a problem hiding this comment.
Push1
JMP test
test:
push01
drop
drop
this require two repetitions in order to return an empty script
There was a problem hiding this comment.
like this we need change parser to make sure that can be done by single parser.
There was a problem hiding this comment.
we can revert this loop part first and discuss this in other issue later.
make this pr is only for abi multi entrypoint
There was a problem hiding this comment.
I think that it's easier with multiple pass
…om/neo-project/neo-devpack-dotnet into Branch_lights_optimizer_entrypoint
|
Waiting for me, I'm reviewing this pr. |
|
|
||
| public enum OptimizeParserType : byte | ||
| [Flags] | ||
| public enum OptimizeParserType |
There was a problem hiding this comment.
| public enum OptimizeParserType | |
| public enum OptimizeParserFlag |
| } | ||
|
|
||
| addrConvertTable = null; | ||
| // 10 iterations max |
| //insert EntryPointLabel | ||
| for (var i = 0; i < entryPoints.Length; i++) | ||
| { | ||
| if (i > 0 && entryPoints[i - 1] == entryPoints[i]) |
There was a problem hiding this comment.
It seems we don't have to do this verification, as the caller should guarantee it?
| /// Instructions | ||
| /// </summary> | ||
| private List<INefItem> Items; | ||
| //private List<INefItem> Items; |
There was a problem hiding this comment.
This line we can remove now.
There was a problem hiding this comment.
@erikzhang can you give @Tommo-L permission for this respository.
|
I think it is good. |
* 1.修正不恰当的枚举使用方式 2.增加EntryPoint[] 数组,传递到优化器 3.处理不恰当的多遍优化外循环 * 按照EntryPoint 切分Method,分别优化,相互隔离,就不会互相串了 * format code. * open default delete deadcode tag * fix ut with deletedeadcode * Unify lower and upper case * lowercase * 搁置争议,促进开发 * 搁置争议,共同开发 * Rename * Update NefOptimizer.cs Co-authored-by: Shargon <shargon@gmail.com>
* 1.修正不恰当的枚举使用方式 2.增加EntryPoint[] 数组,传递到优化器 3.处理不恰当的多遍优化外循环 * 按照EntryPoint 切分Method,分别优化,相互隔离,就不会互相串了 * format code. * open default delete deadcode tag * fix ut with deletedeadcode * Unify lower and upper case * lowercase * 搁置争议,促进开发 * 搁置争议,共同开发 * Rename * Update NefOptimizer.cs Co-authored-by: Shargon <shargon@gmail.com>
close #246
still working on it.
1.修正不恰当的枚举使用方式
2.增加EntryPoint[] 数组,传递到优化器
3.处理不恰当的多遍优化外循环