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

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

Issue 58853003: MIPS: Try to use Push instead of push sequences whenever possible. (Closed) Base URL: https://github.com/v8/v8.git@gbl
Patch Set: Created 7 years, 1 month 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 | « src/mips/full-codegen-mips.cc ('k') | 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 560 matching lines...) Expand 10 before | Expand all | Expand 10 after
571 __ LoadFromNumberDictionary(&slow_load, t0, a2, a1, a0, a3, t1); 571 __ LoadFromNumberDictionary(&slow_load, t0, a2, a1, a0, a3, t1);
572 __ IncrementCounter(counters->keyed_call_generic_smi_dict(), 1, a0, a3); 572 __ IncrementCounter(counters->keyed_call_generic_smi_dict(), 1, a0, a3);
573 __ jmp(&do_call); 573 __ jmp(&do_call);
574 574
575 __ bind(&slow_load); 575 __ bind(&slow_load);
576 // This branch is taken when calling KeyedCallIC_Miss is neither required 576 // This branch is taken when calling KeyedCallIC_Miss is neither required
577 // nor beneficial. 577 // nor beneficial.
578 __ IncrementCounter(counters->keyed_call_generic_slow_load(), 1, a0, a3); 578 __ IncrementCounter(counters->keyed_call_generic_slow_load(), 1, a0, a3);
579 { 579 {
580 FrameScope scope(masm, StackFrame::INTERNAL); 580 FrameScope scope(masm, StackFrame::INTERNAL);
581 __ push(a2); // Save the key. 581 __ Push(a2, a1, a2); // Save the key and pass the receiver and the key.
582 __ Push(a1, a2); // Pass the receiver and the key.
583 __ CallRuntime(Runtime::kKeyedGetProperty, 2); 582 __ CallRuntime(Runtime::kKeyedGetProperty, 2);
584 __ pop(a2); // Restore the key. 583 __ pop(a2); // Restore the key.
585 } 584 }
586 __ mov(a1, v0); 585 __ mov(a1, v0);
587 __ jmp(&do_call); 586 __ jmp(&do_call);
588 587
589 __ bind(&check_name); 588 __ bind(&check_name);
590 GenerateKeyNameCheck(masm, a2, a0, a3, &index_name, &slow_call); 589 GenerateKeyNameCheck(masm, a2, a0, a3, &index_name, &slow_call);
591 590
592 // The key is known to be a unique name. 591 // The key is known to be a unique name.
(...skipping 1066 matching lines...) Expand 10 before | Expand all | Expand 10 after
1659 } else { 1658 } else {
1660 ASSERT(Assembler::IsBne(branch_instr)); 1659 ASSERT(Assembler::IsBne(branch_instr));
1661 patcher.ChangeBranchCondition(eq); 1660 patcher.ChangeBranchCondition(eq);
1662 } 1661 }
1663 } 1662 }
1664 1663
1665 1664
1666 } } // namespace v8::internal 1665 } } // namespace v8::internal
1667 1666
1668 #endif // V8_TARGET_ARCH_MIPS 1667 #endif // V8_TARGET_ARCH_MIPS
OLDNEW
« no previous file with comments | « src/mips/full-codegen-mips.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698