| Index: src/arm/macro-assembler-arm.cc
|
| diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc
|
| index 857c2bf7706488a87c9ccd713f25454c40c56e85..6dc32fe0950dd155f79388a44bee5af2c86fc70b 100644
|
| --- a/src/arm/macro-assembler-arm.cc
|
| +++ b/src/arm/macro-assembler-arm.cc
|
| @@ -393,6 +393,20 @@ void MacroAssembler::Usat(Register dst, int satpos, const Operand& src,
|
| }
|
|
|
|
|
| +void MacroAssembler::SmiJumpTable(Register index, Vector<Label*> targets) {
|
| + // Empty the const pool.
|
| + CheckConstPool(true, true);
|
| + add(pc, pc, Operand(index,
|
| + LSL,
|
| + Instruction::kInstrSizeLog2 - kSmiTagSize));
|
| + BlockConstPoolBefore(pc_offset() + (targets.length() + 1) * kInstrSize);
|
| + nop(); // Jump table alignment.
|
| + for (int i = 0; i < targets.length(); i++) {
|
| + b(targets[i]);
|
| + }
|
| +}
|
| +
|
| +
|
| void MacroAssembler::LoadRoot(Register destination,
|
| Heap::RootListIndex index,
|
| Condition cond) {
|
|
|