Chromium Code Reviews| Index: src/ia32/lithium-ia32.cc |
| diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc |
| index b31c4eba184b691354b8d5efc6d77305d79bd533..9d60c65106a0d0655a76e0cbc373d080debb605b 100644 |
| --- a/src/ia32/lithium-ia32.cc |
| +++ b/src/ia32/lithium-ia32.cc |
| @@ -1537,6 +1537,12 @@ LInstruction* LChunkBuilder::DoFixedArrayLength(HFixedArrayLength* instr) { |
| } |
| +LInstruction* LChunkBuilder::DoPixelArrayLength(HPixelArrayLength* instr) { |
| + LOperand* array = UseRegisterAtStart(instr->value()); |
| + return DefineAsRegister(new LPixelArrayLength(array)); |
| +} |
| + |
| + |
| LInstruction* LChunkBuilder::DoValueOf(HValueOf* instr) { |
| LOperand* object = UseRegister(instr->value()); |
| LValueOf* result = new LValueOf(object, TempRegister()); |
| @@ -1751,6 +1757,13 @@ LInstruction* LChunkBuilder::DoLoadElements(HLoadElements* instr) { |
| } |
| +LInstruction* LChunkBuilder::DoLoadPixelArrayExternalPointer( |
| + HLoadPixelArrayExternalPointer* instr) { |
| + LOperand* input = UseRegisterAtStart(instr->value()); |
| + return DefineSameAsFirst(new LLoadPixelArrayExternalPointer(input)); |
|
Kevin Millikin (Chromium)
2011/02/07 12:39:08
It's not obvious why this is DefineSameAsFirst and
danno
2011/02/08 09:25:57
Done.
|
| +} |
| + |
| + |
| LInstruction* LChunkBuilder::DoLoadKeyedFastElement( |
| HLoadKeyedFastElement* instr) { |
| ASSERT(instr->representation().IsTagged()); |
| @@ -1762,6 +1775,17 @@ LInstruction* LChunkBuilder::DoLoadKeyedFastElement( |
| } |
| +LInstruction* LChunkBuilder::DoLoadPixelArrayElement( |
| + HLoadPixelArrayElement* instr) { |
| + ASSERT(instr->representation().IsInteger32()); |
| + ASSERT(instr->key()->representation().IsInteger32()); |
| + LOperand* pa = UseRegisterAtStart(instr->external_pointer()); |
|
Mads Ager (chromium)
2011/02/07 11:36:06
pa -> external_pointer?
danno
2011/02/08 09:25:57
Done.
|
| + LOperand* key = UseRegisterAtStart(instr->key()); |
| + LLoadPixelArrayElement* result = new LLoadPixelArrayElement(pa, key); |
| + return AssignEnvironment(DefineSameAsFirst(result)); |
|
Kevin Millikin (Chromium)
2011/02/07 12:39:08
Does this need the environment?
danno
2011/02/08 09:25:57
Done.
|
| +} |
| + |
| + |
| LInstruction* LChunkBuilder::DoLoadKeyedGeneric(HLoadKeyedGeneric* instr) { |
| LOperand* object = UseFixed(instr->object(), edx); |
| LOperand* key = UseFixed(instr->key(), eax); |