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

Side by Side Diff: src/arm/stub-cache-arm.cc

Issue 160270: Merge r2556 and r2557 to branches/1.2. The x64 changes in the... (Closed) Base URL: http://v8.googlecode.com/svn/branches/1.2/
Patch Set: Created 11 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 | src/ia32/stub-cache-ia32.cc » ('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 2006-2009 the V8 project authors. All rights reserved. 1 // Copyright 2006-2009 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 658 matching lines...) Expand 10 before | Expand all | Expand 10 after
669 GenerateLoadGlobalFunctionPrototype(masm(), 669 GenerateLoadGlobalFunctionPrototype(masm(),
670 Context::BOOLEAN_FUNCTION_INDEX, 670 Context::BOOLEAN_FUNCTION_INDEX,
671 r2); 671 r2);
672 CheckPrototypes(JSObject::cast(object->GetPrototype()), r2, holder, r3, 672 CheckPrototypes(JSObject::cast(object->GetPrototype()), r2, holder, r3,
673 r1, name, &miss); 673 r1, name, &miss);
674 break; 674 break;
675 } 675 }
676 676
677 case JSARRAY_HAS_FAST_ELEMENTS_CHECK: 677 case JSARRAY_HAS_FAST_ELEMENTS_CHECK:
678 CheckPrototypes(JSObject::cast(object), r1, holder, r3, r2, name, &miss); 678 CheckPrototypes(JSObject::cast(object), r1, holder, r3, r2, name, &miss);
679 // Make sure object->elements()->map() != Heap::hash_table_map() 679 // Make sure object->HasFastElements().
680 // Get the elements array of the object. 680 // Get the elements array of the object.
681 __ ldr(r3, FieldMemOperand(r1, JSObject::kElementsOffset)); 681 __ ldr(r3, FieldMemOperand(r1, JSObject::kElementsOffset));
682 // Check that the object is in fast mode (not dictionary). 682 // Check that the object is in fast mode (not dictionary).
683 __ ldr(r2, FieldMemOperand(r3, HeapObject::kMapOffset)); 683 __ ldr(r2, FieldMemOperand(r3, HeapObject::kMapOffset));
684 __ cmp(r2, Operand(Factory::hash_table_map())); 684 __ cmp(r2, Operand(Factory::fixed_array_map()));
685 __ b(eq, &miss); 685 __ b(ne, &miss);
686 break; 686 break;
687 687
688 default: 688 default:
689 UNREACHABLE(); 689 UNREACHABLE();
690 } 690 }
691 691
692 // Get the function and setup the context. 692 // Get the function and setup the context.
693 __ mov(r1, Operand(Handle<JSFunction>(function))); 693 __ mov(r1, Operand(Handle<JSFunction>(function)));
694 __ ldr(cp, FieldMemOperand(r1, JSFunction::kContextOffset)); 694 __ ldr(cp, FieldMemOperand(r1, JSFunction::kContextOffset));
695 695
(...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after
1328 __ Jump(ic, RelocInfo::CODE_TARGET); 1328 __ Jump(ic, RelocInfo::CODE_TARGET);
1329 1329
1330 // Return the generated code. 1330 // Return the generated code.
1331 return GetCode(transition == NULL ? FIELD : MAP_TRANSITION, name); 1331 return GetCode(transition == NULL ? FIELD : MAP_TRANSITION, name);
1332 } 1332 }
1333 1333
1334 1334
1335 #undef __ 1335 #undef __
1336 1336
1337 } } // namespace v8::internal 1337 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | src/ia32/stub-cache-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698