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

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

Issue 8344079: Shave 39% from snapshot size. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 9 years, 2 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
« no previous file with comments | « src/arm/builtins-arm.cc ('k') | src/assembler.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 738 matching lines...) Expand 10 before | Expand all | Expand 10 after
749 __ ldr(r6, MemOperand(r2, offset)); 749 __ ldr(r6, MemOperand(r2, offset));
750 __ push(r6); 750 __ push(r6);
751 } 751 }
752 752
753 // Restore the registers from the stack. 753 // Restore the registers from the stack.
754 __ ldm(ia_w, sp, restored_regs); // all but pc registers. 754 __ ldm(ia_w, sp, restored_regs); // all but pc registers.
755 __ pop(ip); // remove sp 755 __ pop(ip); // remove sp
756 __ pop(ip); // remove lr 756 __ pop(ip); // remove lr
757 757
758 // Set up the roots register. 758 // Set up the roots register.
759 ExternalReference roots_address = ExternalReference::roots_address(isolate); 759 ExternalReference roots_array_start =
760 __ mov(r10, Operand(roots_address)); 760 ExternalReference::roots_array_start(isolate);
761 __ mov(r10, Operand(roots_array_start));
761 762
762 __ pop(ip); // remove pc 763 __ pop(ip); // remove pc
763 __ pop(r7); // get continuation, leave pc on stack 764 __ pop(r7); // get continuation, leave pc on stack
764 __ pop(lr); 765 __ pop(lr);
765 __ Jump(r7); 766 __ Jump(r7);
766 __ stop("Unreachable."); 767 __ stop("Unreachable.");
767 } 768 }
768 769
769 770
770 void Deoptimizer::TableEntryGenerator::GeneratePrologue() { 771 void Deoptimizer::TableEntryGenerator::GeneratePrologue() {
(...skipping 13 matching lines...) Expand all
784 __ push(ip); 785 __ push(ip);
785 __ b(&done); 786 __ b(&done);
786 ASSERT(masm()->pc_offset() - start == table_entry_size_); 787 ASSERT(masm()->pc_offset() - start == table_entry_size_);
787 } 788 }
788 __ bind(&done); 789 __ bind(&done);
789 } 790 }
790 791
791 #undef __ 792 #undef __
792 793
793 } } // namespace v8::internal 794 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/arm/builtins-arm.cc ('k') | src/assembler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698