什麼是OOL(行外)代碼?我在ION編譯器中找到它,但無法理解正在發生的事情。OOL(行外)代碼
bool CodeGeneratorShared::generateOutOfLineCode() {
for (size_t i = 0; i < outOfLineCode_.length(); i++) {
// Add native => bytecode mapping entries for OOL sites.
// Not enabled on asm.js yet since asm doesn't contain bytecode mappings.
if (!gen->compilingAsmJS()) {
if (!addNativeToBytecodeEntry(outOfLineCode_[i]->bytecodeSite()))
return false;
}
if (!gen->alloc().ensureBallast())
return false;
JitSpew(JitSpew_Codegen, "# Emitting out of line code");
masm.setFramePushed(outOfLineCode_[i]->framePushed());
lastPC_ = outOfLineCode_[i]->pc();
outOfLineCode_[i]->bind(&masm);
outOfLineCode_[i]->generate(this);
}
return !masm.oom();
}
我試圖用谷歌找到它的信息,但沒有成功。也許你可以給我一些想法是什麼?謝謝:)
你能鏈接源代碼嗎? – Bergi
所有代碼都很大。我只附加了生成行外代碼的方法。所以你可以從https://archive.mozilla.org/pub/mozilla.org/js/ – Mano
克隆所有的代碼謝謝,是的,但具體哪個zip文件(或哪個引擎版本)是哪個文件? – Bergi