зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1660409 - Part 4: Transpile ArrayJoin. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D88565
This commit is contained in:
Родитель
78228ee48f
Коммит
5c6157aab2
|
@ -901,7 +901,7 @@
|
|||
|
||||
- name: ArrayJoinResult
|
||||
shared: false
|
||||
transpile: false
|
||||
transpile: true
|
||||
cost_estimate: 5
|
||||
args:
|
||||
obj: ObjId
|
||||
|
|
|
@ -2342,6 +2342,21 @@ bool WarpCacheIRTranspiler::emitArrayPush(ObjOperandId objId,
|
|||
return resumeAfter(ins);
|
||||
}
|
||||
|
||||
bool WarpCacheIRTranspiler::emitArrayJoinResult(ObjOperandId objId,
|
||||
StringOperandId sepId) {
|
||||
MDefinition* obj = getOperand(objId);
|
||||
MDefinition* sep = getOperand(sepId);
|
||||
|
||||
// TODO(Warp): This flag only make sense for the Ion implementation. Remove it
|
||||
// when IonBuilder is gone.
|
||||
bool optimizeForArray = true;
|
||||
auto* join = MArrayJoin::New(alloc(), obj, sep, optimizeForArray);
|
||||
addEffectful(join);
|
||||
|
||||
pushResult(join);
|
||||
return resumeAfter(join);
|
||||
}
|
||||
|
||||
bool WarpCacheIRTranspiler::emitPackedArrayPopResult(ObjOperandId arrayId) {
|
||||
MDefinition* array = getOperand(arrayId);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче