src/share/vm/opto/memnode.cpp

changeset 3047
f1c12354c3f7
parent 2816
286c498ae0d4
child 3102
11a4af030e4b
     1.1 --- a/src/share/vm/opto/memnode.cpp	Mon Aug 08 13:19:46 2011 -0700
     1.2 +++ b/src/share/vm/opto/memnode.cpp	Tue Aug 02 18:36:40 2011 +0200
     1.3 @@ -925,8 +925,9 @@
     1.4      // a synchronized region.
     1.5      while (current->is_Proj()) {
     1.6        int opc = current->in(0)->Opcode();
     1.7 -      if ((final && opc == Op_MemBarAcquire) ||
     1.8 -          opc == Op_MemBarRelease || opc == Op_MemBarCPUOrder) {
     1.9 +      if ((final && (opc == Op_MemBarAcquire || opc == Op_MemBarAcquireLock)) ||
    1.10 +          opc == Op_MemBarRelease || opc == Op_MemBarCPUOrder ||
    1.11 +          opc == Op_MemBarReleaseLock) {
    1.12          Node* mem = current->in(0)->in(TypeFunc::Memory);
    1.13          if (mem->is_MergeMem()) {
    1.14            MergeMemNode* merge = mem->as_MergeMem();
    1.15 @@ -2666,6 +2667,8 @@
    1.16    switch (opcode) {
    1.17    case Op_MemBarAcquire:   return new(C, len) MemBarAcquireNode(C,  atp, pn);
    1.18    case Op_MemBarRelease:   return new(C, len) MemBarReleaseNode(C,  atp, pn);
    1.19 +  case Op_MemBarAcquireLock: return new(C, len) MemBarAcquireLockNode(C,  atp, pn);
    1.20 +  case Op_MemBarReleaseLock: return new(C, len) MemBarReleaseLockNode(C,  atp, pn);
    1.21    case Op_MemBarVolatile:  return new(C, len) MemBarVolatileNode(C, atp, pn);
    1.22    case Op_MemBarCPUOrder:  return new(C, len) MemBarCPUOrderNode(C, atp, pn);
    1.23    case Op_Initialize:      return new(C, len) InitializeNode(C,     atp, pn);

mercurial