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

Side by Side Diff: src/arm/deoptimizer-arm.cc

Issue 9124004: Backport hash collision workaround to 3.6. (Closed) Base URL: http://v8.googlecode.com/svn/branches/3.6/
Patch Set: Created 8 years, 11 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 718 matching lines...) Expand 10 before | Expand all | Expand 10 after
729 int offset = (i * kPointerSize) + FrameDescription::registers_offset(); 729 int offset = (i * kPointerSize) + FrameDescription::registers_offset();
730 __ ldr(r6, MemOperand(r2, offset)); 730 __ ldr(r6, MemOperand(r2, offset));
731 __ push(r6); 731 __ push(r6);
732 } 732 }
733 733
734 // Restore the registers from the stack. 734 // Restore the registers from the stack.
735 __ ldm(ia_w, sp, restored_regs); // all but pc registers. 735 __ ldm(ia_w, sp, restored_regs); // all but pc registers.
736 __ pop(ip); // remove sp 736 __ pop(ip); // remove sp
737 __ pop(ip); // remove lr 737 __ pop(ip); // remove lr
738 738
739 // Set up the roots register. 739 __ InitializeRootRegister();
740 ExternalReference roots_address = ExternalReference::roots_address(isolate);
741 __ mov(r10, Operand(roots_address));
742 740
743 __ pop(ip); // remove pc 741 __ pop(ip); // remove pc
744 __ pop(r7); // get continuation, leave pc on stack 742 __ pop(r7); // get continuation, leave pc on stack
745 __ pop(lr); 743 __ pop(lr);
746 __ Jump(r7); 744 __ Jump(r7);
747 __ stop("Unreachable."); 745 __ stop("Unreachable.");
748 } 746 }
749 747
750 748
751 void Deoptimizer::TableEntryGenerator::GeneratePrologue() { 749 void Deoptimizer::TableEntryGenerator::GeneratePrologue() {
(...skipping 13 matching lines...) Expand all
765 __ push(ip); 763 __ push(ip);
766 __ b(&done); 764 __ b(&done);
767 ASSERT(masm()->pc_offset() - start == table_entry_size_); 765 ASSERT(masm()->pc_offset() - start == table_entry_size_);
768 } 766 }
769 __ bind(&done); 767 __ bind(&done);
770 } 768 }
771 769
772 #undef __ 770 #undef __
773 771
774 } } // namespace v8::internal 772 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698