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

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

Issue 40214: Fixed ARM build by remembering to apply object literal optimazation to ARM co... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 11 years, 9 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 | « 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 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 2670 matching lines...) Expand 10 before | Expand all | Expand 10 after
2681 frame_->CallRuntime(Runtime::kCloneObjectLiteralBoilerplate, 1); 2681 frame_->CallRuntime(Runtime::kCloneObjectLiteralBoilerplate, 1);
2682 frame_->EmitPush(r0); // save the result 2682 frame_->EmitPush(r0); // save the result
2683 // r0: cloned object literal 2683 // r0: cloned object literal
2684 2684
2685 for (int i = 0; i < node->properties()->length(); i++) { 2685 for (int i = 0; i < node->properties()->length(); i++) {
2686 ObjectLiteral::Property* property = node->properties()->at(i); 2686 ObjectLiteral::Property* property = node->properties()->at(i);
2687 Literal* key = property->key(); 2687 Literal* key = property->key();
2688 Expression* value = property->value(); 2688 Expression* value = property->value();
2689 switch (property->kind()) { 2689 switch (property->kind()) {
2690 case ObjectLiteral::Property::CONSTANT: break; 2690 case ObjectLiteral::Property::CONSTANT: break;
2691 case ObjectLiteral::Property::OBJECT_LITERAL:
2692 if (property->value()->AsObjectLiteral()->is_simple()) break;
2691 case ObjectLiteral::Property::COMPUTED: // fall through 2693 case ObjectLiteral::Property::COMPUTED: // fall through
2692 case ObjectLiteral::Property::PROTOTYPE: { 2694 case ObjectLiteral::Property::PROTOTYPE: {
2693 frame_->EmitPush(r0); // dup the result 2695 frame_->EmitPush(r0); // dup the result
2694 LoadAndSpill(key); 2696 LoadAndSpill(key);
2695 LoadAndSpill(value); 2697 LoadAndSpill(value);
2696 frame_->CallRuntime(Runtime::kSetProperty, 3); 2698 frame_->CallRuntime(Runtime::kSetProperty, 3);
2697 // restore r0 2699 // restore r0
2698 __ ldr(r0, frame_->Top()); 2700 __ ldr(r0, frame_->Top());
2699 break; 2701 break;
2700 } 2702 }
(...skipping 2377 matching lines...) Expand 10 before | Expand all | Expand 10 after
5078 __ mov(r2, Operand(0)); 5080 __ mov(r2, Operand(0));
5079 __ GetBuiltinEntry(r3, Builtins::CALL_NON_FUNCTION); 5081 __ GetBuiltinEntry(r3, Builtins::CALL_NON_FUNCTION);
5080 __ Jump(Handle<Code>(Builtins::builtin(Builtins::ArgumentsAdaptorTrampoline)), 5082 __ Jump(Handle<Code>(Builtins::builtin(Builtins::ArgumentsAdaptorTrampoline)),
5081 RelocInfo::CODE_TARGET); 5083 RelocInfo::CODE_TARGET);
5082 } 5084 }
5083 5085
5084 5086
5085 #undef __ 5087 #undef __
5086 5088
5087 } } // namespace v8::internal 5089 } } // 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