| Index: src/ia32/lithium-ia32.cc
|
| diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc
|
| index b31c4eba184b691354b8d5efc6d77305d79bd533..fac95bada37d2e4049ca86043d695751bb02bced 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());
|
| @@ -1747,7 +1753,14 @@ LInstruction* LChunkBuilder::DoLoadFunctionPrototype(
|
|
|
| LInstruction* LChunkBuilder::DoLoadElements(HLoadElements* instr) {
|
| LOperand* input = UseRegisterAtStart(instr->value());
|
| - return DefineSameAsFirst(new LLoadElements(input));
|
| + return DefineAsRegister(new LLoadElements(input));
|
| +}
|
| +
|
| +
|
| +LInstruction* LChunkBuilder::DoLoadPixelArrayExternalPointer(
|
| + HLoadPixelArrayExternalPointer* instr) {
|
| + LOperand* input = UseRegisterAtStart(instr->value());
|
| + return DefineAsRegister(new LLoadPixelArrayExternalPointer(input));
|
| }
|
|
|
|
|
| @@ -1762,6 +1775,19 @@ LInstruction* LChunkBuilder::DoLoadKeyedFastElement(
|
| }
|
|
|
|
|
| +LInstruction* LChunkBuilder::DoLoadPixelArrayElement(
|
| + HLoadPixelArrayElement* instr) {
|
| + ASSERT(instr->representation().IsInteger32());
|
| + ASSERT(instr->key()->representation().IsInteger32());
|
| + LOperand* external_pointer =
|
| + UseRegisterAtStart(instr->external_pointer());
|
| + LOperand* key = UseRegisterAtStart(instr->key());
|
| + LLoadPixelArrayElement* result =
|
| + new LLoadPixelArrayElement(external_pointer, key);
|
| + return DefineSameAsFirst(result);
|
| +}
|
| +
|
| +
|
| LInstruction* LChunkBuilder::DoLoadKeyedGeneric(HLoadKeyedGeneric* instr) {
|
| LOperand* object = UseFixed(instr->object(), edx);
|
| LOperand* key = UseFixed(instr->key(), eax);
|
|
|