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クラス追加


メモ
  1. enum KindTagBits {
  2. kStaticBit = 1,
  3. kConstBit,
  4. kOptimizableBit,
  5. kHasFinallyBit,
  6. kNativeBit,
  7. kAbstractBit,
  8. kExternalBit,
  9. kKindTagBit,
  10. kKindTagSize = 4,
  11. };

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

このWIKIを編集するにはパスワード入力が必要です

認証パスワード