張 昱 郝允允
摘要:針對靜態競爭檢測無額外運行開銷但精度低,而動態競爭檢測精度高但因插樁有額外運行開銷,在實際Java虛擬機的即時編譯器中以競爭檢測遍形式設計實現了一種精確有效的增量式競爭檢測算法,結合鎖集和發生序關系,依次對即時編譯的每個方法進行一次方法內分析,收集獨立于上下文的方法摘要,并以方法摘要為基礎自下而上進行上下文敏感的跨線程方法間分析,增量計算并及時輸出潛在的競爭信息,實驗表明,算法對應用程序無插樁且不受程序規模限制,具有與Ocallahan等人的動態競爭檢測算法類似的精度,檢測時間僅占總編譯時間的2%~4%。