diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-05-23 10:51:09 +0000 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-05-23 10:51:09 +0000 |
commit | c8300fbd6ae08925736c32f8b02c980ce1531f3f (patch) | |
tree | ca4d30e10ba4cfb814c3b9e261d9832bc4a72dfa /js/src/jit/CodeGenerator.cpp | |
parent | c2b5f396eb4ed1bd9be5a6625bd823d7a3e63678 (diff) | |
download | UXP-c8300fbd6ae08925736c32f8b02c980ce1531f3f.tar UXP-c8300fbd6ae08925736c32f8b02c980ce1531f3f.tar.gz UXP-c8300fbd6ae08925736c32f8b02c980ce1531f3f.tar.lz UXP-c8300fbd6ae08925736c32f8b02c980ce1531f3f.tar.xz UXP-c8300fbd6ae08925736c32f8b02c980ce1531f3f.zip |
Remove UnboxedArray code part 2
Diffstat (limited to 'js/src/jit/CodeGenerator.cpp')
-rw-r--r-- | js/src/jit/CodeGenerator.cpp | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp index bd275a2c1..485e881fe 100644 --- a/js/src/jit/CodeGenerator.cpp +++ b/js/src/jit/CodeGenerator.cpp @@ -10336,22 +10336,11 @@ CodeGenerator::visitLoadElementHole(LLoadElementHole* lir) else masm.branch32(Assembler::BelowOrEqual, initLength, ToRegister(lir->index()), &undefined); - if (mir->unboxedType() != JSVAL_TYPE_MAGIC) { - size_t width = UnboxedTypeSize(mir->unboxedType()); - if (lir->index()->isConstant()) { - Address addr(elements, ToInt32(lir->index()) * width); - masm.loadUnboxedProperty(addr, mir->unboxedType(), out); - } else { - BaseIndex addr(elements, ToRegister(lir->index()), ScaleFromElemWidth(width)); - masm.loadUnboxedProperty(addr, mir->unboxedType(), out); - } + if (lir->index()->isConstant()) { + NativeObject::elementsSizeMustNotOverflow(); + masm.loadValue(Address(elements, ToInt32(lir->index()) * sizeof(Value)), out); } else { - if (lir->index()->isConstant()) { - NativeObject::elementsSizeMustNotOverflow(); - masm.loadValue(Address(elements, ToInt32(lir->index()) * sizeof(Value)), out); - } else { - masm.loadValue(BaseObjectElementIndex(elements, ToRegister(lir->index())), out); - } + masm.loadValue(BaseObjectElementIndex(elements, ToRegister(lir->index())), out); } // If a hole check is needed, and the value wasn't a hole, we're done. |