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

Side by Side Diff: runtime/vm/assembler_ia32.h

Issue 2132933003: VM: Remove collection of unused range feedback. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: remove comment Created 4 years, 5 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
« no previous file with comments | « runtime/vm/assembler_arm_test.cc ('k') | runtime/vm/assembler_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 (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #ifndef VM_ASSEMBLER_IA32_H_ 5 #ifndef VM_ASSEMBLER_IA32_H_
6 #define VM_ASSEMBLER_IA32_H_ 6 #define VM_ASSEMBLER_IA32_H_
7 7
8 #ifndef VM_ASSEMBLER_H_ 8 #ifndef VM_ASSEMBLER_H_
9 #error Do not include assembler_ia32.h directly; use assembler.h instead. 9 #error Do not include assembler_ia32.h directly; use assembler.h instead.
10 #endif 10 #endif
(...skipping 722 matching lines...) Expand 10 before | Expand all | Expand 10 after
733 void CompareClassId(Register object, intptr_t class_id, Register scratch); 733 void CompareClassId(Register object, intptr_t class_id, Register scratch);
734 734
735 void LoadClassIdMayBeSmi(Register result, Register object); 735 void LoadClassIdMayBeSmi(Register result, Register object);
736 void LoadTaggedClassIdMayBeSmi(Register result, Register object); 736 void LoadTaggedClassIdMayBeSmi(Register result, Register object);
737 737
738 void SmiUntagOrCheckClass(Register object, 738 void SmiUntagOrCheckClass(Register object,
739 intptr_t class_id, 739 intptr_t class_id,
740 Register scratch, 740 Register scratch,
741 Label* is_smi); 741 Label* is_smi);
742 742
743 void ComputeRange(Register result,
744 Register value,
745 Register lo_temp,
746 Register hi_temp,
747 Label* miss);
748
749 void UpdateRangeFeedback(Register value,
750 intptr_t index,
751 Register ic_data,
752 Register scratch1,
753 Register scratch2,
754 Register scratch3,
755 Label* miss);
756
757 static Address ElementAddressForIntIndex(bool is_external, 743 static Address ElementAddressForIntIndex(bool is_external,
758 intptr_t cid, 744 intptr_t cid,
759 intptr_t index_scale, 745 intptr_t index_scale,
760 Register array, 746 Register array,
761 intptr_t index); 747 intptr_t index);
762 748
763 static Address ElementAddressForRegIndex(bool is_external, 749 static Address ElementAddressForRegIndex(bool is_external,
764 intptr_t cid, 750 intptr_t cid,
765 intptr_t index_scale, 751 intptr_t index_scale,
766 Register array, 752 Register array,
767 Register index); 753 Register index);
768 754
769 static Address VMTagAddress() { 755 static Address VMTagAddress() {
770 return Address(THR, Thread::vm_tag_offset()); 756 return Address(THR, Thread::vm_tag_offset());
771 } 757 }
772 758
773 /* 759 /*
774 * Misc. functionality 760 * Misc. functionality
775 */ 761 */
776 void SmiTag(Register reg) { 762 void SmiTag(Register reg) {
777 addl(reg, reg); 763 addl(reg, reg);
778 } 764 }
779 765
780 void SmiUntag(Register reg) { 766 void SmiUntag(Register reg) {
781 sarl(reg, Immediate(kSmiTagSize)); 767 sarl(reg, Immediate(kSmiTagSize));
782 } 768 }
783 769
784 intptr_t PreferredLoopAlignment() { return 16; }
785 void Align(intptr_t alignment, intptr_t offset); 770 void Align(intptr_t alignment, intptr_t offset);
786 void Bind(Label* label); 771 void Bind(Label* label);
787 void Jump(Label* label) { jmp(label); } 772 void Jump(Label* label) { jmp(label); }
788 773
789 // Address of code at offset. 774 // Address of code at offset.
790 uword CodeAddress(intptr_t offset) { 775 uword CodeAddress(intptr_t offset) {
791 return buffer_.Address(offset); 776 return buffer_.Address(offset);
792 } 777 }
793 778
794 intptr_t CodeSize() const { return buffer_.Size(); } 779 intptr_t CodeSize() const { return buffer_.Size(); }
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
1029 } 1014 }
1030 1015
1031 1016
1032 inline void Assembler::EmitOperandSizeOverride() { 1017 inline void Assembler::EmitOperandSizeOverride() {
1033 EmitUint8(0x66); 1018 EmitUint8(0x66);
1034 } 1019 }
1035 1020
1036 } // namespace dart 1021 } // namespace dart
1037 1022
1038 #endif // VM_ASSEMBLER_IA32_H_ 1023 #endif // VM_ASSEMBLER_IA32_H_
OLDNEW
« no previous file with comments | « runtime/vm/assembler_arm_test.cc ('k') | runtime/vm/assembler_ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698