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

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

Issue 6474026: Strict mode assignment to undefined reference. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix presubmit. 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 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 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 1515 matching lines...) Expand 10 before | Expand all | Expand 10 after
1526 __ tst(value, Operand(kSmiTagMask)); 1526 __ tst(value, Operand(kSmiTagMask));
1527 __ Ret(eq); 1527 __ Ret(eq);
1528 // Update write barrier for the elements array address. 1528 // Update write barrier for the elements array address.
1529 __ sub(r4, r5, Operand(elements)); 1529 __ sub(r4, r5, Operand(elements));
1530 __ RecordWrite(elements, Operand(r4), r5, r6); 1530 __ RecordWrite(elements, Operand(r4), r5, r6);
1531 1531
1532 __ Ret(); 1532 __ Ret();
1533 } 1533 }
1534 1534
1535 1535
1536 void StoreIC::GenerateMegamorphic(MacroAssembler* masm) { 1536 void StoreIC::GenerateMegamorphic(MacroAssembler* masm,
1537 Code::ExtraICState extra_ic_state) {
1537 // ----------- S t a t e ------------- 1538 // ----------- S t a t e -------------
1538 // -- r0 : value 1539 // -- r0 : value
1539 // -- r1 : receiver 1540 // -- r1 : receiver
1540 // -- r2 : name 1541 // -- r2 : name
1541 // -- lr : return address 1542 // -- lr : return address
1542 // ----------------------------------- 1543 // -----------------------------------
1543 1544
1544 // Get the receiver from the stack and probe the stub cache. 1545 // Get the receiver from the stack and probe the stub cache.
1545 Code::Flags flags = Code::ComputeFlags(Code::STORE_IC, 1546 Code::Flags flags = Code::ComputeFlags(Code::STORE_IC,
1546 NOT_IN_LOOP, 1547 NOT_IN_LOOP,
1547 MONOMORPHIC); 1548 MONOMORPHIC,
1549 extra_ic_state);
1548 StubCache::GenerateProbe(masm, flags, r1, r2, r3, r4, r5); 1550 StubCache::GenerateProbe(masm, flags, r1, r2, r3, r4, r5);
1549 1551
1550 // Cache miss: Jump to runtime. 1552 // Cache miss: Jump to runtime.
1551 GenerateMiss(masm); 1553 GenerateMiss(masm);
1552 } 1554 }
1553 1555
1554 1556
1555 void StoreIC::GenerateMiss(MacroAssembler* masm) { 1557 void StoreIC::GenerateMiss(MacroAssembler* masm) {
1556 // ----------- S t a t e ------------- 1558 // ----------- S t a t e -------------
1557 // -- r0 : value 1559 // -- r0 : value
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
1771 Register reg = Assembler::GetRn(instr_at_patch); 1773 Register reg = Assembler::GetRn(instr_at_patch);
1772 patcher.masm()->tst(reg, Operand(kSmiTagMask)); 1774 patcher.masm()->tst(reg, Operand(kSmiTagMask));
1773 patcher.EmitCondition(eq); 1775 patcher.EmitCondition(eq);
1774 } 1776 }
1775 } 1777 }
1776 1778
1777 1779
1778 } } // namespace v8::internal 1780 } } // namespace v8::internal
1779 1781
1780 #endif // V8_TARGET_ARCH_ARM 1782 #endif // V8_TARGET_ARCH_ARM
OLDNEW
« no previous file with comments | « src/arm/full-codegen-arm.cc ('k') | src/arm/lithium-codegen-arm.cc » ('j') | src/stub-cache.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698