| OLD | NEW | 
|     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  Loading... | 
|  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  Loading... | 
|  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 | 
| OLD | NEW |