equal
deleted
inserted
replaced
1 Implements PolyIC for sparc. |
|
2 This is going away in the future so no need to send upstream. |
|
3 |
|
4 --- comm-esr31/mozilla/js/src/assembler/assembler/MacroAssemblerSparc.h.orig 2015-06-04 17:42:51.582947696 -0700 |
|
5 +++ comm-esr31/mozilla/js/src/assembler/assembler/MacroAssemblerSparc.h 2015-06-04 17:42:51.585565407 -0700 |
|
6 @@ -1005,9 +1005,12 @@ |
|
7 |
|
8 void lea(BaseIndex address, RegisterID dest) |
|
9 { |
|
10 - // lea only used by PolyIC. |
|
11 - // PolyIC is not enabled for sparc now. |
|
12 - ASSERT(0); |
|
13 + move(address.index, dest); |
|
14 + if (address.scale != 0) |
|
15 + lshift32(Imm32(address.scale), dest); |
|
16 + if (address.offset) |
|
17 + add32(Imm32(address.offset), dest); |
|
18 + add32(address.base, dest); |
|
19 } |
|
20 |
|
21 void add32(Imm32 imm, AbsoluteAddress address) |
|