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

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

Issue 48743002: Do not directly load smi constants larger than a 16 bit payload on ia32. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 1 month 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 (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_X64_H_ 5 #ifndef VM_ASSEMBLER_X64_H_
6 #define VM_ASSEMBLER_X64_H_ 6 #define VM_ASSEMBLER_X64_H_
7 7
8 #ifndef VM_ASSEMBLER_H_ 8 #ifndef VM_ASSEMBLER_H_
9 #error Do not include assembler_x64.h directly; use assembler.h instead. 9 #error Do not include assembler_x64.h directly; use assembler.h instead.
10 #endif 10 #endif
(...skipping 829 matching lines...) Expand 10 before | Expand all | Expand 10 after
840 void Unimplemented(const char* message); 840 void Unimplemented(const char* message);
841 void Untested(const char* message); 841 void Untested(const char* message);
842 void Unreachable(const char* message); 842 void Unreachable(const char* message);
843 843
844 static void InitializeMemoryWithBreakpoints(uword data, intptr_t length); 844 static void InitializeMemoryWithBreakpoints(uword data, intptr_t length);
845 845
846 static const char* RegisterName(Register reg); 846 static const char* RegisterName(Register reg);
847 847
848 static const char* FpuRegisterName(FpuRegister reg); 848 static const char* FpuRegisterName(FpuRegister reg);
849 849
850 // On some other platforms, we draw a distinction between safe and unsafe
851 // smis.
852 static bool IsSafe(const Object& object) { return true; }
853 static bool IsSafeSmi(const Object& object) { return true; }
854
850 private: 855 private:
851 AssemblerBuffer buffer_; 856 AssemblerBuffer buffer_;
852 857
853 // Objects and jump targets. 858 // Objects and jump targets.
854 GrowableObjectArray& object_pool_; 859 GrowableObjectArray& object_pool_;
855 860
856 // Patchability of pool entries. 861 // Patchability of pool entries.
857 GrowableArray<Patchability> patchable_pool_entries_; 862 GrowableArray<Patchability> patchable_pool_entries_;
858 863
859 // Pair type parameter for DirectChainedHashMap. 864 // Pair type parameter for DirectChainedHashMap.
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
1042 } 1047 }
1043 1048
1044 1049
1045 inline void Assembler::EmitOperandSizeOverride() { 1050 inline void Assembler::EmitOperandSizeOverride() {
1046 EmitUint8(0x66); 1051 EmitUint8(0x66);
1047 } 1052 }
1048 1053
1049 } // namespace dart 1054 } // namespace dart
1050 1055
1051 #endif // VM_ASSEMBLER_X64_H_ 1056 #endif // VM_ASSEMBLER_X64_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698