Mercurial > hg > graal-compiler
comparison src/share/vm/utilities/globalDefinitions.hpp @ 17780:606acabe7b5c
8031320: Use Intel RTM instructions for locks
Summary: Use RTM for inflated locks and stack locks.
Reviewed-by: iveresov, twisti, roland, dcubed
author | kvn |
---|---|
date | Thu, 20 Mar 2014 17:49:27 -0700 |
parents | 610be0309a79 |
children | 62c54fcc0a35 |
comparison
equal
deleted
inserted
replaced
17778:a48e16541e6b | 17780:606acabe7b5c |
---|---|
367 | 367 |
368 // Klass encoding metaspace max size | 368 // Klass encoding metaspace max size |
369 const uint64_t KlassEncodingMetaspaceMax = (uint64_t(max_juint) + 1) << LogKlassAlignmentInBytes; | 369 const uint64_t KlassEncodingMetaspaceMax = (uint64_t(max_juint) + 1) << LogKlassAlignmentInBytes; |
370 | 370 |
371 // Machine dependent stuff | 371 // Machine dependent stuff |
372 | |
373 #if defined(X86) && defined(COMPILER2) && !defined(JAVASE_EMBEDDED) | |
374 // Include Restricted Transactional Memory lock eliding optimization | |
375 #define INCLUDE_RTM_OPT 1 | |
376 #define RTM_OPT_ONLY(code) code | |
377 #else | |
378 #define INCLUDE_RTM_OPT 0 | |
379 #define RTM_OPT_ONLY(code) | |
380 #endif | |
381 // States of Restricted Transactional Memory usage. | |
382 enum RTMState { | |
383 NoRTM = 0x2, // Don't use RTM | |
384 UseRTM = 0x1, // Use RTM | |
385 ProfileRTM = 0x0 // Use RTM with abort ratio calculation | |
386 }; | |
372 | 387 |
373 #ifdef TARGET_ARCH_x86 | 388 #ifdef TARGET_ARCH_x86 |
374 # include "globalDefinitions_x86.hpp" | 389 # include "globalDefinitions_x86.hpp" |
375 #endif | 390 #endif |
376 #ifdef TARGET_ARCH_sparc | 391 #ifdef TARGET_ARCH_sparc |