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

Side by Side Diff: src/arm/macro-assembler-arm.h

Issue 6966041: Add complete ElementKind information directly to Map for objects with elements. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: implement all platforms Created 9 years, 6 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 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 558 matching lines...) Expand 10 before | Expand all | Expand 10 after
569 // Compare instance type in a map. map contains a valid map object whose 569 // Compare instance type in a map. map contains a valid map object whose
570 // object type should be compared with the given type. This both 570 // object type should be compared with the given type. This both
571 // sets the flags and leaves the object type in the type_reg register. It 571 // sets the flags and leaves the object type in the type_reg register. It
572 // leaves the heap object in the heap_object register unless the heap_object 572 // leaves the heap object in the heap_object register unless the heap_object
573 // register is the same register as type_reg. 573 // register is the same register as type_reg.
574 void CompareInstanceType(Register map, 574 void CompareInstanceType(Register map,
575 Register type_reg, 575 Register type_reg,
576 InstanceType type); 576 InstanceType type);
577 577
578 578
579 // Check if a map for a JSObject indicates that the object has fast elements.
580 // Jump to the specified label if it does not.
581 void CheckFastElements(Register map,
582 Register scratch,
583 Label* fail);
584
579 // Check if the map of an object is equal to a specified map (either 585 // Check if the map of an object is equal to a specified map (either
580 // given directly or as an index into the root list) and branch to 586 // given directly or as an index into the root list) and branch to
581 // label if not. Skip the smi check if not required (object is known 587 // label if not. Skip the smi check if not required (object is known
582 // to be a heap object) 588 // to be a heap object)
583 void CheckMap(Register obj, 589 void CheckMap(Register obj,
584 Register scratch, 590 Register scratch,
585 Handle<Map> map, 591 Handle<Map> map,
586 Label* fail, 592 Label* fail,
587 SmiCheckType smi_check_type); 593 SmiCheckType smi_check_type);
588 594
(...skipping 528 matching lines...) Expand 10 before | Expand all | Expand 10 after
1117 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 1123 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
1118 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 1124 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
1119 #else 1125 #else
1120 #define ACCESS_MASM(masm) masm-> 1126 #define ACCESS_MASM(masm) masm->
1121 #endif 1127 #endif
1122 1128
1123 1129
1124 } } // namespace v8::internal 1130 } } // namespace v8::internal
1125 1131
1126 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ 1132 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698