Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(352)

Side by Side Diff: src/ia32/lithium-ia32.cc

Issue 6546036: Combine typed and pixel arrays. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: fix wrong external element call Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 1539 matching lines...) Expand 10 before | Expand all | Expand 10 after
1550 return DefineAsRegister(new LJSArrayLength(array)); 1550 return DefineAsRegister(new LJSArrayLength(array));
1551 } 1551 }
1552 1552
1553 1553
1554 LInstruction* LChunkBuilder::DoFixedArrayLength(HFixedArrayLength* instr) { 1554 LInstruction* LChunkBuilder::DoFixedArrayLength(HFixedArrayLength* instr) {
1555 LOperand* array = UseRegisterAtStart(instr->value()); 1555 LOperand* array = UseRegisterAtStart(instr->value());
1556 return DefineAsRegister(new LFixedArrayLength(array)); 1556 return DefineAsRegister(new LFixedArrayLength(array));
1557 } 1557 }
1558 1558
1559 1559
1560 LInstruction* LChunkBuilder::DoPixelArrayLength(HPixelArrayLength* instr) { 1560 LInstruction* LChunkBuilder::DoExternalArrayLength(
1561 HExternalArrayLength* instr) {
1561 LOperand* array = UseRegisterAtStart(instr->value()); 1562 LOperand* array = UseRegisterAtStart(instr->value());
1562 return DefineAsRegister(new LPixelArrayLength(array)); 1563 return DefineAsRegister(new LExternalArrayLength(array));
1563 } 1564 }
1564 1565
1565 1566
1566 LInstruction* LChunkBuilder::DoValueOf(HValueOf* instr) { 1567 LInstruction* LChunkBuilder::DoValueOf(HValueOf* instr) {
1567 LOperand* object = UseRegister(instr->value()); 1568 LOperand* object = UseRegister(instr->value());
1568 LValueOf* result = new LValueOf(object, TempRegister()); 1569 LValueOf* result = new LValueOf(object, TempRegister());
1569 return AssignEnvironment(DefineSameAsFirst(result)); 1570 return AssignEnvironment(DefineSameAsFirst(result));
1570 } 1571 }
1571 1572
1572 1573
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
1773 TempRegister()))); 1774 TempRegister())));
1774 } 1775 }
1775 1776
1776 1777
1777 LInstruction* LChunkBuilder::DoLoadElements(HLoadElements* instr) { 1778 LInstruction* LChunkBuilder::DoLoadElements(HLoadElements* instr) {
1778 LOperand* input = UseRegisterAtStart(instr->value()); 1779 LOperand* input = UseRegisterAtStart(instr->value());
1779 return DefineAsRegister(new LLoadElements(input)); 1780 return DefineAsRegister(new LLoadElements(input));
1780 } 1781 }
1781 1782
1782 1783
1783 LInstruction* LChunkBuilder::DoLoadPixelArrayExternalPointer( 1784 LInstruction* LChunkBuilder::DoLoadExternalArrayPointer(
1784 HLoadPixelArrayExternalPointer* instr) { 1785 HLoadExternalArrayPointer* instr) {
1785 LOperand* input = UseRegisterAtStart(instr->value()); 1786 LOperand* input = UseRegisterAtStart(instr->value());
1786 return DefineAsRegister(new LLoadPixelArrayExternalPointer(input)); 1787 return DefineAsRegister(new LLoadExternalArrayPointer(input));
1787 } 1788 }
1788 1789
1789 1790
1790 LInstruction* LChunkBuilder::DoLoadKeyedFastElement( 1791 LInstruction* LChunkBuilder::DoLoadKeyedFastElement(
1791 HLoadKeyedFastElement* instr) { 1792 HLoadKeyedFastElement* instr) {
1792 ASSERT(instr->representation().IsTagged()); 1793 ASSERT(instr->representation().IsTagged());
1793 ASSERT(instr->key()->representation().IsInteger32()); 1794 ASSERT(instr->key()->representation().IsInteger32());
1794 LOperand* obj = UseRegisterAtStart(instr->object()); 1795 LOperand* obj = UseRegisterAtStart(instr->object());
1795 LOperand* key = UseRegisterAtStart(instr->key()); 1796 LOperand* key = UseRegisterAtStart(instr->key());
1796 LLoadKeyedFastElement* result = new LLoadKeyedFastElement(obj, key); 1797 LLoadKeyedFastElement* result = new LLoadKeyedFastElement(obj, key);
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
2059 LInstruction* LChunkBuilder::DoLeaveInlined(HLeaveInlined* instr) { 2060 LInstruction* LChunkBuilder::DoLeaveInlined(HLeaveInlined* instr) {
2060 HEnvironment* outer = current_block_->last_environment()->outer(); 2061 HEnvironment* outer = current_block_->last_environment()->outer();
2061 current_block_->UpdateEnvironment(outer); 2062 current_block_->UpdateEnvironment(outer);
2062 return NULL; 2063 return NULL;
2063 } 2064 }
2064 2065
2065 2066
2066 } } // namespace v8::internal 2067 } } // namespace v8::internal
2067 2068
2068 #endif // V8_TARGET_ARCH_IA32 2069 #endif // V8_TARGET_ARCH_IA32
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698