RevisionLog10000台
rev10999
diff 7k
A flow_graph flow_graph_builderからのリファクタリング
A hash_map ValueNumbering用
WeakPropertyクラスを新規追加
GC関連? ProcessWeakProperty Snapshptもされるみたい。何のために追加されたんだk?
support for GC watched bit.
Equalityのnull対応されてる。。
lookupのscopeが狭まってきた。
Optimizer大幅修正
LocalCSE
Block内のInstだけでValueNumbering風にCSEする。
kNumArgsChecked = 2; // type-feedback
aobench 9.5sec
rev10783
diff 8k
vm/gdbjit_android new
vm/debuginfo_android new
vm/elfgen new refactoring
vm/virtual_memory_android new
vm/os_android new
ここまで 1k
FlowGraphAllocator
Safepoint関連の修正
bootstrapやloadscriptまわりもおもしろそう。
すでにstring型のソースコードをたべれるみたいだし。
is_ssaフラグが全体にちらばってきた。
FlowGraphOptimizer
Type関連の最適化
irにis_eliminateフラグを持たせて、 macro asmのフェーズでフラグ参照してtype guard除去っすか、、
そういえばどこでinline展開してるのか調べてなかったな。。
TypePropagatorの後で入れるのかもしれない。
aobenchが10秒強。
rev10609
diff 7k
disassembler大改造 2kstep
恐らく--disassemble-optimizedオプションのため
- disassembleオプションと同時指定は動かないかも
codegen
deopt lookupCodeとか変わってるのが気になる。 たぶん、stubのMegamorphicLookup()が廃止になったのが原因かも。
FlowGraphAllocator
processUsesEnvが追加されたので、bailoutが減ったかも?
FlowGraphBuilder
BuildConstructorTypeArguments
intermediate_language
virtual Definiation* tryReplace() propagateType PropagetedType
UseList addUses removeUses
ReplaceUsesWithメソッド
CompileTypeの導入
FlowGraphOptimizer
OptimizeComputation
TypePropagator に修正
FlowGraphCompiler
BuildConstructorTypeArguments
compiler->isLeafってなんだろうな
DeoptimizeInstruction
DeoptimizationContextクラス追加
メモ
- enum KindTagBits {
- kStaticBit = 1,
- kConstBit,
- kOptimizableBit,
- kHasFinallyBit,
- kNativeBit,
- kAbstractBit,
- kExternalBit,
- kKindTagBit,
- kKindTagSize = 4,
- };
rev10436
diff 15k
新規作成
vm/snapshot_ids
vm/deopt_instructions 多い
修正量が多い
FlowGraphAllocatorの修正
FlowGraphBuilderの修正
parser
snapshot
flow_graph_compiler_xx
object
RUNTIME_ENTRYの、第0引数が変更された。
arg0の項目がなくった。
id()が変更 Cidが末尾に付くようになった。それに関連するリファクタリング
CodeGenにdeopt_idがくっついてるけど、
class_id
kDoubleCid
速度低下は、Objectクラスのlookupの変更が影響しているのだろうか。
aobenchが11秒弱。
Rev10285
FlowGraphTypePropagator追加か。盛り上がって来ましたね。。※ただし中身は空っぽです。
Rev10199
flowgraphallocatorとdeoptimizeに修正。
- use_ssaが最後まで動くようになった。
deptimizationのbailoutが減って,registers/frame_copy などのサポートが入ったけどよくわからん
dartvm PushArgumentsっていうIRが新規追加された。
after optimizationsのil dumpにstack frameの遷移やregisterのmovが追加されて面白くなってきた。core i7 2600のaobenchが今9.5sec
Rev10005
Argumentやstack周り、intermediate_language flow_graph_compilerにちまちま修正。
intermediate_languageの改造に併せて、flow_graph周辺が機能拡張されていく。。
- 最終更新:2012-09-26 23:37:00