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

Side by Side Diff: src/globals.h

Issue 23156006: [v8-dev] ARM: Improve Lithium register constraints. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 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
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 #elif V8_TARGET_ARCH_X64 156 #elif V8_TARGET_ARCH_X64
157 #define V8_TARGET_LITTLE_ENDIAN 1 157 #define V8_TARGET_LITTLE_ENDIAN 1
158 #elif V8_TARGET_ARCH_ARM 158 #elif V8_TARGET_ARCH_ARM
159 #define V8_TARGET_LITTLE_ENDIAN 1 159 #define V8_TARGET_LITTLE_ENDIAN 1
160 #elif V8_TARGET_ARCH_MIPS 160 #elif V8_TARGET_ARCH_MIPS
161 #define V8_TARGET_LITTLE_ENDIAN 1 161 #define V8_TARGET_LITTLE_ENDIAN 1
162 #else 162 #else
163 #error Unknown target architecture endiannes 163 #error Unknown target architecture endiannes
164 #endif 164 #endif
165 165
166 #if V8_TARGET_ARCH_ARM
167 // On ARM, for some arithmetic instructions, the macro assembler defines
168 // XXXMemOperand macro instructions which are able to load the right operand
169 // from memory.
170 #define V8_BETTER_OPERAND_ON_RIGHT
Benedikt Meurer 2013/08/20 11:55:34 I don't like this #define. Why not switch the orde
vincent.belliard.fr 2013/08/22 12:35:48 Once again, the code has been made for IA32 where
Benedikt Meurer 2013/08/23 07:41:02 I still don't see why this macro is needed at all.
171 #endif
172
166 // Support for alternative bool type. This is only enabled if the code is 173 // Support for alternative bool type. This is only enabled if the code is
167 // compiled with USE_MYBOOL defined. This catches some nasty type bugs. 174 // compiled with USE_MYBOOL defined. This catches some nasty type bugs.
168 // For instance, 'bool b = "false";' results in b == true! This is a hidden 175 // For instance, 'bool b = "false";' results in b == true! This is a hidden
169 // source of bugs. 176 // source of bugs.
170 // However, redefining the bool type does have some negative impact on some 177 // However, redefining the bool type does have some negative impact on some
171 // platforms. It gives rise to compiler warnings (i.e. with 178 // platforms. It gives rise to compiler warnings (i.e. with
172 // MSVC) in the API header files when mixing code that uses the standard 179 // MSVC) in the API header files when mixing code that uses the standard
173 // bool with code that uses the redefined version. 180 // bool with code that uses the redefined version.
174 // This does not actually belong in the platform code, but needs to be 181 // This does not actually belong in the platform code, but needs to be
175 // defined here because the platform code uses bool, and platform.h is 182 // defined here because the platform code uses bool, and platform.h is
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after
514 // the backend, so both modes are represented by the kStrictMode value. 521 // the backend, so both modes are represented by the kStrictMode value.
515 enum StrictModeFlag { 522 enum StrictModeFlag {
516 kNonStrictMode, 523 kNonStrictMode,
517 kStrictMode 524 kStrictMode
518 }; 525 };
519 526
520 527
521 } } // namespace v8::internal 528 } } // namespace v8::internal
522 529
523 #endif // V8_GLOBALS_H_ 530 #endif // V8_GLOBALS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698