comparison src/share/vm/opto/machnode.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 9758d9f36299
children 62c54fcc0a35
comparison
equal deleted inserted replaced
17778:a48e16541e6b 17780:606acabe7b5c
50 class MachSafePointNode; 50 class MachSafePointNode;
51 class MachSpillCopyNode; 51 class MachSpillCopyNode;
52 class Matcher; 52 class Matcher;
53 class PhaseRegAlloc; 53 class PhaseRegAlloc;
54 class RegMask; 54 class RegMask;
55 class RTMLockingCounters;
55 class State; 56 class State;
56 57
57 //---------------------------MachOper------------------------------------------ 58 //---------------------------MachOper------------------------------------------
58 class MachOper : public ResourceObj { 59 class MachOper : public ResourceObj {
59 public: 60 public:
618 //------------------------------MachFastLockNode------------------------------------- 619 //------------------------------MachFastLockNode-------------------------------------
619 // Machine-specific versions of FastLockNodes 620 // Machine-specific versions of FastLockNodes
620 class MachFastLockNode : public MachNode { 621 class MachFastLockNode : public MachNode {
621 virtual uint size_of() const { return sizeof(*this); } // Size is bigger 622 virtual uint size_of() const { return sizeof(*this); } // Size is bigger
622 public: 623 public:
623 BiasedLockingCounters* _counters; 624 BiasedLockingCounters* _counters;
624 625 RTMLockingCounters* _rtm_counters; // RTM lock counters for inflated locks
626 RTMLockingCounters* _stack_rtm_counters; // RTM lock counters for stack locks
625 MachFastLockNode() : MachNode() {} 627 MachFastLockNode() : MachNode() {}
626 }; 628 };
627 629
628 //------------------------------MachReturnNode-------------------------------- 630 //------------------------------MachReturnNode--------------------------------
629 // Machine-specific versions of subroutine returns 631 // Machine-specific versions of subroutine returns