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

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

Issue 86053003: MIPS: Generate TypedArrayInitialize builtin in hydrogen. (Closed) Base URL: https://github.com/v8/v8.git@gbl
Patch Set: Created 7 years 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 1569 matching lines...) Expand 10 before | Expand all | Expand 10 after
1580 ASSERT(instr->left()->representation().Equals(instr->representation())); 1580 ASSERT(instr->left()->representation().Equals(instr->representation()));
1581 ASSERT(instr->right()->representation().Equals(instr->representation())); 1581 ASSERT(instr->right()->representation().Equals(instr->representation()));
1582 LOperand* left = UseRegisterAtStart(instr->BetterLeftOperand()); 1582 LOperand* left = UseRegisterAtStart(instr->BetterLeftOperand());
1583 LOperand* right = UseOrConstantAtStart(instr->BetterRightOperand()); 1583 LOperand* right = UseOrConstantAtStart(instr->BetterRightOperand());
1584 LAddI* add = new(zone()) LAddI(left, right); 1584 LAddI* add = new(zone()) LAddI(left, right);
1585 LInstruction* result = DefineAsRegister(add); 1585 LInstruction* result = DefineAsRegister(add);
1586 if (instr->CheckFlag(HValue::kCanOverflow)) { 1586 if (instr->CheckFlag(HValue::kCanOverflow)) {
1587 result = AssignEnvironment(result); 1587 result = AssignEnvironment(result);
1588 } 1588 }
1589 return result; 1589 return result;
1590 } else if (instr->representation().IsExternal()) {
1591 ASSERT(instr->left()->representation().IsExternal());
1592 ASSERT(instr->right()->representation().IsInteger32());
1593 ASSERT(!instr->CheckFlag(HValue::kCanOverflow));
1594 LOperand* left = UseRegisterAtStart(instr->left());
1595 LOperand* right = UseOrConstantAtStart(instr->right());
1596 LAddI* add = new(zone()) LAddI(left, right);
1597 LInstruction* result = DefineAsRegister(add);
1598 return result;
1590 } else if (instr->representation().IsDouble()) { 1599 } else if (instr->representation().IsDouble()) {
1591 if (kArchVariant == kMips32r2) { 1600 if (kArchVariant == kMips32r2) {
1592 if (instr->left()->IsMul()) 1601 if (instr->left()->IsMul())
1593 return DoMultiplyAdd(HMul::cast(instr->left()), instr->right()); 1602 return DoMultiplyAdd(HMul::cast(instr->left()), instr->right());
1594 1603
1595 if (instr->right()->IsMul()) { 1604 if (instr->right()->IsMul()) {
1596 ASSERT(!instr->left()->IsMul()); 1605 ASSERT(!instr->left()->IsMul());
1597 return DoMultiplyAdd(HMul::cast(instr->right()), instr->left()); 1606 return DoMultiplyAdd(HMul::cast(instr->right()), instr->left());
1598 } 1607 }
1599 } 1608 }
(...skipping 988 matching lines...) Expand 10 before | Expand all | Expand 10 after
2588 2597
2589 2598
2590 LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { 2599 LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) {
2591 LOperand* object = UseRegister(instr->object()); 2600 LOperand* object = UseRegister(instr->object());
2592 LOperand* index = UseRegister(instr->index()); 2601 LOperand* index = UseRegister(instr->index());
2593 return DefineAsRegister(new(zone()) LLoadFieldByIndex(object, index)); 2602 return DefineAsRegister(new(zone()) LLoadFieldByIndex(object, index));
2594 } 2603 }
2595 2604
2596 2605
2597 } } // namespace v8::internal 2606 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698