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

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

Issue 3170014: ARM: Fix another bug in r5252... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 10 years, 4 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 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 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 4815 matching lines...) Expand 10 before | Expand all | Expand 10 after
4826 Operand(scratch2_, LSL, kPointerSizeLog2 - kSmiTagSize)); 4826 Operand(scratch2_, LSL, kPointerSizeLog2 - kSmiTagSize));
4827 4827
4828 // Calculate location of the first key name. 4828 // Calculate location of the first key name.
4829 __ add(map_result_, 4829 __ add(map_result_,
4830 map_result_, 4830 map_result_,
4831 Operand(FixedArray::kHeaderSize - kHeapObjectTag + 4831 Operand(FixedArray::kHeaderSize - kHeapObjectTag +
4832 DescriptorArray::kFirstIndex * kPointerSize)); 4832 DescriptorArray::kFirstIndex * kPointerSize));
4833 // Loop through all the keys in the descriptor array. If one of these is the 4833 // Loop through all the keys in the descriptor array. If one of these is the
4834 // symbol valueOf the result is false. 4834 // symbol valueOf the result is false.
4835 Label entry, loop; 4835 Label entry, loop;
4836 // The use of ip to store the valueOf symbol asumes that it is not otherwise
Erik Corry 2010/08/13 12:36:22 asumes -> assumes
4837 // used in the loop below.
4838 __ mov(ip, Operand(Factory::value_of_symbol()));
4836 __ jmp(&entry); 4839 __ jmp(&entry);
4837 __ bind(&loop); 4840 __ bind(&loop);
4838 __ ldr(scratch2_, FieldMemOperand(map_result_, 0)); 4841 __ ldr(scratch2_, MemOperand(map_result_, 0));
4839 __ cmp(scratch2_, Operand(Factory::value_of_symbol())); 4842 __ cmp(scratch2_, ip);
4840 __ b(eq, &false_result); 4843 __ b(eq, &false_result);
4841 __ add(map_result_, map_result_, Operand(kPointerSize)); 4844 __ add(map_result_, map_result_, Operand(kPointerSize));
4842 __ bind(&entry); 4845 __ bind(&entry);
4843 __ cmp(map_result_, Operand(scratch1_)); 4846 __ cmp(map_result_, Operand(scratch1_));
4844 __ b(ne, &loop); 4847 __ b(ne, &loop);
4845 4848
4846 // Reload map as register map_result_ was used as temporary above. 4849 // Reload map as register map_result_ was used as temporary above.
4847 __ ldr(map_result_, FieldMemOperand(object_, HeapObject::kMapOffset)); 4850 __ ldr(map_result_, FieldMemOperand(object_, HeapObject::kMapOffset));
4848 4851
4849 // If a valueOf property is not found on the object check that it's 4852 // If a valueOf property is not found on the object check that it's
(...skipping 6713 matching lines...) Expand 10 before | Expand all | Expand 10 after
11563 __ bind(&string_add_runtime); 11566 __ bind(&string_add_runtime);
11564 __ TailCallRuntime(Runtime::kStringAdd, 2, 1); 11567 __ TailCallRuntime(Runtime::kStringAdd, 2, 1);
11565 } 11568 }
11566 11569
11567 11570
11568 #undef __ 11571 #undef __
11569 11572
11570 } } // namespace v8::internal 11573 } } // namespace v8::internal
11571 11574
11572 #endif // V8_TARGET_ARCH_ARM 11575 #endif // V8_TARGET_ARCH_ARM
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