Mercurial > hg > truffle
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 |