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

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

Issue 6894003: Better support for 'polymorphic' JS and external arrays (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: merge with latest Created 9 years, 7 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 559 matching lines...) Expand 10 before | Expand all | Expand 10 after
570 // Check if the map of an object is equal to a specified map (either 570 // Check if the map of an object is equal to a specified map (either
571 // given directly or as an index into the root list) and branch to 571 // given directly or as an index into the root list) and branch to
572 // label if not. Skip the smi check if not required (object is known 572 // label if not. Skip the smi check if not required (object is known
573 // to be a heap object) 573 // to be a heap object)
574 void CheckMap(Register obj, 574 void CheckMap(Register obj,
575 Register scratch, 575 Register scratch,
576 Handle<Map> map, 576 Handle<Map> map,
577 Label* fail, 577 Label* fail,
578 bool is_heap_object); 578 bool is_heap_object);
579 579
580
580 void CheckMap(Register obj, 581 void CheckMap(Register obj,
581 Register scratch, 582 Register scratch,
582 Heap::RootListIndex index, 583 Heap::RootListIndex index,
583 Label* fail, 584 Label* fail,
584 bool is_heap_object); 585 bool is_heap_object);
585 586
586 587
588 // Check if the map of an object is equal to a specified map and branch to a
589 // specified target if equal. Skip the smi check if not required (object is
590 // known to be a heap object)
591 void DispatchMap(Register obj,
592 Register scratch,
593 Handle<Map> map,
594 Handle<Code> success,
595 bool is_heap_object);
596
597
587 // Compare the object in a register to a value from the root list. 598 // Compare the object in a register to a value from the root list.
588 // Uses the ip register as scratch. 599 // Uses the ip register as scratch.
589 void CompareRoot(Register obj, Heap::RootListIndex index); 600 void CompareRoot(Register obj, Heap::RootListIndex index);
590 601
591 602
592 // Load and check the instance type of an object for being a string. 603 // Load and check the instance type of an object for being a string.
593 // Loads the type into the second argument register. 604 // Loads the type into the second argument register.
594 // Returns a condition that will be enabled if the object was a string. 605 // Returns a condition that will be enabled if the object was a string.
595 Condition IsObjectStringType(Register obj, 606 Condition IsObjectStringType(Register obj,
596 Register type) { 607 Register type) {
(...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after
1087 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 1098 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
1088 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 1099 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
1089 #else 1100 #else
1090 #define ACCESS_MASM(masm) masm-> 1101 #define ACCESS_MASM(masm) masm->
1091 #endif 1102 #endif
1092 1103
1093 1104
1094 } } // namespace v8::internal 1105 } } // namespace v8::internal
1095 1106
1096 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ 1107 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698