編譯器
作為暫存器配置的準備而進行的存活區間(liveness)分析,所求的是下列何者?
- A在整個程式中,各變數被宣告所在的行號
- B變數值的最大值與最小值
- C在各個時間點,該值之後是否仍有可能被使用
查看答案與解析
正確答案:C. 在各個時間點,該值之後是否仍有可能被使用
存活區間分析會沿著控制流程圖,求出在程式的各個時間點,某個值往後是否有可能被讀取(存活)。存活的值需要保留在暫存器中,而不再被使用的值所佔用的暫存器則可以讓給其他值使用。同時存活的值彼此不能放入同一個暫存器,所以會從這個結果建立干涉圖。這不是求宣告位置或值的範圍的分析。
- A. 調查的不是宣告的位置,而是被使用的可能性。
- B. 與求值範圍的分析是不同的。
- C. 正確。求出在各時間點該值是否仍會被使用。