Merge

Thu, 12 Dec 2013 11:05:39 -0800

author
kvn
date
Thu, 12 Dec 2013 11:05:39 -0800
changeset 6497
2da20f966936
parent 6496
b4e19a1e459f
parent 6159
ce2d7e46f3c7
child 6498
5da8bb64b370

Merge

src/share/vm/oops/instanceKlass.cpp file | annotate | diff | comparison | revisions
src/share/vm/opto/c2_globals.hpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/arguments.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/.hgtags	Wed Dec 11 12:28:09 2013 +0100
     1.2 +++ b/.hgtags	Thu Dec 12 11:05:39 2013 -0800
     1.3 @@ -400,3 +400,5 @@
     1.4  c9f439732b18ea16f7e65815327d5ea7092cc258 jdk8-b118
     1.5  b2426da30009cd3069d03de073f351e6432c7682 hs25-b61
     1.6  ce42d815dd2130250acf6132b51b624001638f0d jdk8-b119
     1.7 +05fedd51e40da22c9460bf17c7185889e435db3d hs25-b62
     1.8 +fca262db9c4309f99d2f5542ab0780e45c2f1578 jdk8-b120
     2.1 --- a/agent/make/jsdbproc64.sh	Wed Dec 11 12:28:09 2013 +0100
     2.2 +++ b/agent/make/jsdbproc64.sh	Thu Dec 12 11:05:39 2013 -0800
     2.3 @@ -1,7 +1,7 @@
     2.4 -#!/bin/sh
     2.5 +#!/bin/sh
     2.6  
     2.7  #
     2.8 -# Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
     2.9 +# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
    2.10  # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    2.11  #
    2.12  # This code is free software; you can redistribute it and/or modify it
    2.13 @@ -21,10 +21,10 @@
    2.14  # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    2.15  # or visit www.oracle.com if you need additional information or have any
    2.16  # questions.
    2.17 -#  
    2.18 +#
    2.19  #
    2.20  
    2.21 -
    2.22 -. `dirname $0`/saenv64.sh
    2.23 -
    2.24 -$SA_JAVA_CMD sun.jvm.hotspot.tools.JSDB $*
    2.25 +
    2.26 +. `dirname $0`/saenv64.sh
    2.27 +
    2.28 +$SA_JAVA_CMD sun.jvm.hotspot.tools.soql.JSDB $*
     3.1 --- a/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/G1HeapRegionTable.java	Wed Dec 11 12:28:09 2013 +0100
     3.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/G1HeapRegionTable.java	Thu Dec 12 11:05:39 2013 -0800
     3.3 @@ -103,14 +103,14 @@
     3.4          @Override
     3.5          public void remove()     { /* not supported */    }
     3.6  
     3.7 -        HeapRegionIterator(Address addr) {
     3.8 +        HeapRegionIterator(long committedLength) {
     3.9              index = 0;
    3.10 -            length = length();
    3.11 +            length = committedLength;
    3.12          }
    3.13      }
    3.14  
    3.15 -    public Iterator<HeapRegion> heapRegionIterator() {
    3.16 -        return new HeapRegionIterator(addr);
    3.17 +    public Iterator<HeapRegion> heapRegionIterator(long committedLength) {
    3.18 +        return new HeapRegionIterator(committedLength);
    3.19      }
    3.20  
    3.21      public G1HeapRegionTable(Address addr) {
     4.1 --- a/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegionSeq.java	Wed Dec 11 12:28:09 2013 +0100
     4.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegionSeq.java	Thu Dec 12 11:05:39 2013 -0800
     4.3 @@ -42,6 +42,8 @@
     4.4  public class HeapRegionSeq extends VMObject {
     4.5      // G1HeapRegionTable _regions
     4.6      static private long regionsFieldOffset;
     4.7 +    // uint _committed_length
     4.8 +    static private CIntegerField committedLengthField;
     4.9  
    4.10      static {
    4.11          VM.registerVMInitializedObserver(new Observer() {
    4.12 @@ -55,6 +57,7 @@
    4.13          Type type = db.lookupType("HeapRegionSeq");
    4.14  
    4.15          regionsFieldOffset = type.getField("_regions").getOffset();
    4.16 +        committedLengthField = type.getCIntegerField("_committed_length");
    4.17      }
    4.18  
    4.19      private G1HeapRegionTable regions() {
    4.20 @@ -67,8 +70,12 @@
    4.21          return regions().length();
    4.22      }
    4.23  
    4.24 +    public long committedLength() {
    4.25 +        return committedLengthField.getValue(addr);
    4.26 +    }
    4.27 +
    4.28      public Iterator<HeapRegion> heapRegionIterator() {
    4.29 -        return regions().heapRegionIterator();
    4.30 +        return regions().heapRegionIterator(committedLength());
    4.31      }
    4.32  
    4.33      public HeapRegionSeq(Address addr) {
     5.1 --- a/make/hotspot_version	Wed Dec 11 12:28:09 2013 +0100
     5.2 +++ b/make/hotspot_version	Thu Dec 12 11:05:39 2013 -0800
     5.3 @@ -35,7 +35,7 @@
     5.4  
     5.5  HS_MAJOR_VER=25
     5.6  HS_MINOR_VER=0
     5.7 -HS_BUILD_NUMBER=61
     5.8 +HS_BUILD_NUMBER=62
     5.9  
    5.10  JDK_MAJOR_VER=1
    5.11  JDK_MINOR_VER=8
     6.1 --- a/src/cpu/sparc/vm/vm_version_sparc.cpp	Wed Dec 11 12:28:09 2013 +0100
     6.2 +++ b/src/cpu/sparc/vm/vm_version_sparc.cpp	Thu Dec 12 11:05:39 2013 -0800
     6.3 @@ -89,6 +89,27 @@
     6.4    _supports_cx8 = has_v9();
     6.5    _supports_atomic_getset4 = true; // swap instruction
     6.6  
     6.7 +  // There are Fujitsu Sparc64 CPUs which support blk_init as well so
     6.8 +  // we have to take this check out of the 'is_niagara()' block below.
     6.9 +  if (has_blk_init()) {
    6.10 +    // When using CMS or G1, we cannot use memset() in BOT updates
    6.11 +    // because the sun4v/CMT version in libc_psr uses BIS which
    6.12 +    // exposes "phantom zeros" to concurrent readers. See 6948537.
    6.13 +    if (FLAG_IS_DEFAULT(UseMemSetInBOT) && (UseConcMarkSweepGC || UseG1GC)) {
    6.14 +      FLAG_SET_DEFAULT(UseMemSetInBOT, false);
    6.15 +    }
    6.16 +    // Issue a stern warning if the user has explicitly set
    6.17 +    // UseMemSetInBOT (it is known to cause issues), but allow
    6.18 +    // use for experimentation and debugging.
    6.19 +    if (UseConcMarkSweepGC || UseG1GC) {
    6.20 +      if (UseMemSetInBOT) {
    6.21 +        assert(!FLAG_IS_DEFAULT(UseMemSetInBOT), "Error");
    6.22 +        warning("Experimental flag -XX:+UseMemSetInBOT is known to cause instability"
    6.23 +                " on sun4v; please understand that you are using at your own risk!");
    6.24 +      }
    6.25 +    }
    6.26 +  }
    6.27 +
    6.28    if (is_niagara()) {
    6.29      // Indirect branch is the same cost as direct
    6.30      if (FLAG_IS_DEFAULT(UseInlineCaches)) {
    6.31 @@ -98,12 +119,6 @@
    6.32      if (FLAG_IS_DEFAULT(OptoLoopAlignment)) {
    6.33        FLAG_SET_DEFAULT(OptoLoopAlignment, 4);
    6.34      }
    6.35 -    // When using CMS or G1, we cannot use memset() in BOT updates
    6.36 -    // because the sun4v/CMT version in libc_psr uses BIS which
    6.37 -    // exposes "phantom zeros" to concurrent readers. See 6948537.
    6.38 -    if (FLAG_IS_DEFAULT(UseMemSetInBOT) && (UseConcMarkSweepGC || UseG1GC)) {
    6.39 -      FLAG_SET_DEFAULT(UseMemSetInBOT, false);
    6.40 -    }
    6.41  #ifdef _LP64
    6.42      // 32-bit oops don't make sense for the 64-bit VM on sparc
    6.43      // since the 32-bit VM has the same registers and smaller objects.
     7.1 --- a/src/cpu/sparc/vm/vm_version_sparc.hpp	Wed Dec 11 12:28:09 2013 +0100
     7.2 +++ b/src/cpu/sparc/vm/vm_version_sparc.hpp	Thu Dec 12 11:05:39 2013 -0800
     7.3 @@ -94,7 +94,13 @@
     7.4    static bool is_M_family(int features) { return (features & M_family_m) != 0; }
     7.5    static bool is_T_family(int features) { return (features & T_family_m) != 0; }
     7.6    static bool is_niagara() { return is_T_family(_features); }
     7.7 -  DEBUG_ONLY( static bool is_niagara(int features)  { return (features & sun4v_m) != 0; } )
     7.8 +#ifdef ASSERT
     7.9 +  static bool is_niagara(int features)  {
    7.10 +    // 'sun4v_m' may be defined on both Sun/Oracle Sparc CPUs as well as
    7.11 +    // on Fujitsu Sparc64 CPUs, but only Sun/Oracle Sparcs can be 'niagaras'.
    7.12 +    return (features & sun4v_m) != 0 && (features & sparc64_family_m) == 0;
    7.13 +  }
    7.14 +#endif
    7.15  
    7.16    // Returns true if it is niagara1 (T1).
    7.17    static bool is_T1_model(int features) { return is_T_family(features) && ((features & T1_model_m) != 0); }
     8.1 --- a/src/cpu/x86/vm/c1_Runtime1_x86.cpp	Wed Dec 11 12:28:09 2013 +0100
     8.2 +++ b/src/cpu/x86/vm/c1_Runtime1_x86.cpp	Thu Dec 12 11:05:39 2013 -0800
     8.3 @@ -1719,10 +1719,12 @@
     8.4  
     8.5          BarrierSet* bs = Universe::heap()->barrier_set();
     8.6          CardTableModRefBS* ct = (CardTableModRefBS*)bs;
     8.7 +        assert(sizeof(*ct->byte_map_base) == sizeof(jbyte), "adjust this code");
     8.8 +
     8.9          Label done;
    8.10          Label runtime;
    8.11  
    8.12 -        // At this point we know new_value is non-NULL and the new_value crosses regsion.
    8.13 +        // At this point we know new_value is non-NULL and the new_value crosses regions.
    8.14          // Must check to see if card is already dirty
    8.15  
    8.16          const Register thread = NOT_LP64(rax) LP64_ONLY(r15_thread);
    8.17 @@ -1735,26 +1737,17 @@
    8.18          __ push(rax);
    8.19          __ push(rcx);
    8.20  
    8.21 +        const Register cardtable = rax;
    8.22 +        const Register card_addr = rcx;
    8.23 +
    8.24 +        f.load_argument(0, card_addr);
    8.25 +        __ shrptr(card_addr, CardTableModRefBS::card_shift);
    8.26 +        // Do not use ExternalAddress to load 'byte_map_base', since 'byte_map_base' is NOT
    8.27 +        // a valid address and therefore is not properly handled by the relocation code.
    8.28 +        __ movptr(cardtable, (intptr_t)ct->byte_map_base);
    8.29 +        __ addptr(card_addr, cardtable);
    8.30 +
    8.31          NOT_LP64(__ get_thread(thread);)
    8.32 -        ExternalAddress cardtable((address)ct->byte_map_base);
    8.33 -        assert(sizeof(*ct->byte_map_base) == sizeof(jbyte), "adjust this code");
    8.34 -
    8.35 -        const Register card_addr = rcx;
    8.36 -#ifdef _LP64
    8.37 -        const Register tmp = rscratch1;
    8.38 -        f.load_argument(0, card_addr);
    8.39 -        __ shrq(card_addr, CardTableModRefBS::card_shift);
    8.40 -        __ lea(tmp, cardtable);
    8.41 -        // get the address of the card
    8.42 -        __ addq(card_addr, tmp);
    8.43 -#else
    8.44 -        const Register card_index = rcx;
    8.45 -        f.load_argument(0, card_index);
    8.46 -        __ shrl(card_index, CardTableModRefBS::card_shift);
    8.47 -
    8.48 -        Address index(noreg, card_index, Address::times_1);
    8.49 -        __ leal(card_addr, __ as_Address(ArrayAddress(cardtable, index)));
    8.50 -#endif
    8.51  
    8.52          __ cmpb(Address(card_addr, 0), (int)G1SATBCardTableModRefBS::g1_young_card_val());
    8.53          __ jcc(Assembler::equal, done);
     9.1 --- a/src/cpu/x86/vm/macroAssembler_x86.cpp	Wed Dec 11 12:28:09 2013 +0100
     9.2 +++ b/src/cpu/x86/vm/macroAssembler_x86.cpp	Thu Dec 12 11:05:39 2013 -0800
     9.3 @@ -3354,6 +3354,8 @@
     9.4  
     9.5    BarrierSet* bs = Universe::heap()->barrier_set();
     9.6    CardTableModRefBS* ct = (CardTableModRefBS*)bs;
     9.7 +  assert(sizeof(*ct->byte_map_base) == sizeof(jbyte), "adjust this code");
     9.8 +
     9.9    Label done;
    9.10    Label runtime;
    9.11  
    9.12 @@ -3371,28 +3373,16 @@
    9.13  
    9.14    // storing region crossing non-NULL, is card already dirty?
    9.15  
    9.16 -  ExternalAddress cardtable((address) ct->byte_map_base);
    9.17 -  assert(sizeof(*ct->byte_map_base) == sizeof(jbyte), "adjust this code");
    9.18 -#ifdef _LP64
    9.19    const Register card_addr = tmp;
    9.20 -
    9.21 -  movq(card_addr, store_addr);
    9.22 -  shrq(card_addr, CardTableModRefBS::card_shift);
    9.23 -
    9.24 -  lea(tmp2, cardtable);
    9.25 -
    9.26 -  // get the address of the card
    9.27 -  addq(card_addr, tmp2);
    9.28 -#else
    9.29 -  const Register card_index = tmp;
    9.30 -
    9.31 -  movl(card_index, store_addr);
    9.32 -  shrl(card_index, CardTableModRefBS::card_shift);
    9.33 -
    9.34 -  Address index(noreg, card_index, Address::times_1);
    9.35 -  const Register card_addr = tmp;
    9.36 -  lea(card_addr, as_Address(ArrayAddress(cardtable, index)));
    9.37 -#endif
    9.38 +  const Register cardtable = tmp2;
    9.39 +
    9.40 +  movptr(card_addr, store_addr);
    9.41 +  shrptr(card_addr, CardTableModRefBS::card_shift);
    9.42 +  // Do not use ExternalAddress to load 'byte_map_base', since 'byte_map_base' is NOT
    9.43 +  // a valid address and therefore is not properly handled by the relocation code.
    9.44 +  movptr(cardtable, (intptr_t)ct->byte_map_base);
    9.45 +  addptr(card_addr, cardtable);
    9.46 +
    9.47    cmpb(Address(card_addr, 0), (int)G1SATBCardTableModRefBS::g1_young_card_val());
    9.48    jcc(Assembler::equal, done);
    9.49  
    9.50 @@ -3416,7 +3406,7 @@
    9.51    movq(Address(tmp2, 0), card_addr);
    9.52  #else
    9.53    addl(tmp2, queue_index);
    9.54 -  movl(Address(tmp2, 0), card_index);
    9.55 +  movl(Address(tmp2, 0), card_addr);
    9.56  #endif
    9.57    jmp(done);
    9.58  
    9.59 @@ -3468,25 +3458,19 @@
    9.60  
    9.61    // The calculation for byte_map_base is as follows:
    9.62    // byte_map_base = _byte_map - (uintptr_t(low_bound) >> card_shift);
    9.63 -  // So this essentially converts an address to a displacement and
    9.64 -  // it will never need to be relocated. On 64bit however the value may be too
    9.65 -  // large for a 32bit displacement
    9.66 -
    9.67 +  // So this essentially converts an address to a displacement and it will
    9.68 +  // never need to be relocated. On 64bit however the value may be too
    9.69 +  // large for a 32bit displacement.
    9.70    intptr_t disp = (intptr_t) ct->byte_map_base;
    9.71    if (is_simm32(disp)) {
    9.72      Address cardtable(noreg, obj, Address::times_1, disp);
    9.73      movb(cardtable, 0);
    9.74    } else {
    9.75 -    // By doing it as an ExternalAddress disp could be converted to a rip-relative
    9.76 -    // displacement and done in a single instruction given favorable mapping and
    9.77 -    // a smarter version of as_Address. Worst case it is two instructions which
    9.78 -    // is no worse off then loading disp into a register and doing as a simple
    9.79 -    // Address() as above.
    9.80 -    // We can't do as ExternalAddress as the only style since if disp == 0 we'll
    9.81 -    // assert since NULL isn't acceptable in a reloci (see 6644928). In any case
    9.82 -    // in some cases we'll get a single instruction version.
    9.83 -
    9.84 -    ExternalAddress cardtable((address)disp);
    9.85 +    // By doing it as an ExternalAddress 'disp' could be converted to a rip-relative
    9.86 +    // displacement and done in a single instruction given favorable mapping and a
    9.87 +    // smarter version of as_Address. However, 'ExternalAddress' generates a relocation
    9.88 +    // entry and that entry is not properly handled by the relocation code.
    9.89 +    AddressLiteral cardtable((address)ct->byte_map_base, relocInfo::none);
    9.90      Address index(noreg, obj, Address::times_1);
    9.91      movb(as_Address(ArrayAddress(cardtable, index)), 0);
    9.92    }
    10.1 --- a/src/share/vm/classfile/defaultMethods.cpp	Wed Dec 11 12:28:09 2013 +0100
    10.2 +++ b/src/share/vm/classfile/defaultMethods.cpp	Thu Dec 12 11:05:39 2013 -0800
    10.3 @@ -625,13 +625,13 @@
    10.4    while (super != NULL) {
    10.5      for (int i = 0; i < super->methods()->length(); ++i) {
    10.6        Method* m = super->methods()->at(i);
    10.7 -      if (m->is_overpass()) {
    10.8 +      if (m->is_overpass() || m->is_static()) {
    10.9          // m is a method that would have been a miranda if not for the
   10.10          // default method processing that occurred on behalf of our superclass,
   10.11          // so it's a method we want to re-examine in this new context.  That is,
   10.12          // unless we have a real implementation of it in the current class.
   10.13          Method* impl = klass->lookup_method(m->name(), m->signature());
   10.14 -        if (impl == NULL || impl->is_overpass()) {
   10.15 +        if (impl == NULL || impl->is_overpass() || impl->is_static()) {
   10.16            if (!already_in_vtable_slots(slots, m)) {
   10.17              slots->append(new EmptyVtableSlot(m));
   10.18            }
   10.19 @@ -648,7 +648,7 @@
   10.20          // so it's a method we want to re-examine in this new context.  That is,
   10.21          // unless we have a real implementation of it in the current class.
   10.22          Method* impl = klass->lookup_method(m->name(), m->signature());
   10.23 -        if (impl == NULL || impl->is_overpass()) {
   10.24 +        if (impl == NULL || impl->is_overpass() || impl->is_static()) {
   10.25            if (!already_in_vtable_slots(slots, m)) {
   10.26              slots->append(new EmptyVtableSlot(m));
   10.27            }
    11.1 --- a/src/share/vm/gc_implementation/shared/markSweep.cpp	Wed Dec 11 12:28:09 2013 +0100
    11.2 +++ b/src/share/vm/gc_implementation/shared/markSweep.cpp	Thu Dec 12 11:05:39 2013 -0800
    11.3 @@ -66,29 +66,10 @@
    11.4    klass->oops_do(&MarkSweep::adjust_pointer_closure);
    11.5  }
    11.6  
    11.7 -void MarkSweep::follow_klass(Klass* klass) {
    11.8 -  ClassLoaderData* cld = klass->class_loader_data();
    11.9 -  // The actual processing of the klass is done when we
   11.10 -  // traverse the list of Klasses in the class loader data.
   11.11 -  MarkSweep::follow_class_loader(cld);
   11.12 -}
   11.13 -
   11.14 -void MarkSweep::adjust_klass(Klass* klass) {
   11.15 -  ClassLoaderData* cld = klass->class_loader_data();
   11.16 -  // The actual processing of the klass is done when we
   11.17 -  // traverse the list of Klasses in the class loader data.
   11.18 -  MarkSweep::adjust_class_loader(cld);
   11.19 -}
   11.20 -
   11.21  void MarkSweep::follow_class_loader(ClassLoaderData* cld) {
   11.22    cld->oops_do(&MarkSweep::mark_and_push_closure, &MarkSweep::follow_klass_closure, true);
   11.23  }
   11.24  
   11.25 -void MarkSweep::adjust_class_loader(ClassLoaderData* cld) {
   11.26 -  cld->oops_do(&MarkSweep::adjust_pointer_closure, &MarkSweep::adjust_klass_closure, true);
   11.27 -}
   11.28 -
   11.29 -
   11.30  void MarkSweep::follow_stack() {
   11.31    do {
   11.32      while (!_marking_stack.is_empty()) {
    12.1 --- a/src/share/vm/gc_implementation/shared/markSweep.hpp	Wed Dec 11 12:28:09 2013 +0100
    12.2 +++ b/src/share/vm/gc_implementation/shared/markSweep.hpp	Thu Dec 12 11:05:39 2013 -0800
    12.3 @@ -172,10 +172,8 @@
    12.4    static void follow_stack();   // Empty marking stack.
    12.5  
    12.6    static void follow_klass(Klass* klass);
    12.7 -  static void adjust_klass(Klass* klass);
    12.8  
    12.9    static void follow_class_loader(ClassLoaderData* cld);
   12.10 -  static void adjust_class_loader(ClassLoaderData* cld);
   12.11  
   12.12    static void preserve_mark(oop p, markOop mark);
   12.13                                  // Save the mark word so it can be restored later
    13.1 --- a/src/share/vm/gc_implementation/shared/markSweep.inline.hpp	Wed Dec 11 12:28:09 2013 +0100
    13.2 +++ b/src/share/vm/gc_implementation/shared/markSweep.inline.hpp	Thu Dec 12 11:05:39 2013 -0800
    13.3 @@ -44,6 +44,11 @@
    13.4    }
    13.5  }
    13.6  
    13.7 +inline void MarkSweep::follow_klass(Klass* klass) {
    13.8 +  oop op = klass->klass_holder();
    13.9 +  MarkSweep::mark_and_push(&op);
   13.10 +}
   13.11 +
   13.12  template <class T> inline void MarkSweep::follow_root(T* p) {
   13.13    assert(!Universe::heap()->is_in_reserved(p),
   13.14           "roots shouldn't be things within the heap");
    14.1 --- a/src/share/vm/interpreter/linkResolver.cpp	Wed Dec 11 12:28:09 2013 +0100
    14.2 +++ b/src/share/vm/interpreter/linkResolver.cpp	Thu Dec 12 11:05:39 2013 -0800
    14.3 @@ -242,7 +242,7 @@
    14.4  
    14.5  // Look up method in klasses, including static methods
    14.6  // Then look up local default methods
    14.7 -void LinkResolver::lookup_method_in_klasses(methodHandle& result, KlassHandle klass, Symbol* name, Symbol* signature, TRAPS) {
    14.8 +void LinkResolver::lookup_method_in_klasses(methodHandle& result, KlassHandle klass, Symbol* name, Symbol* signature, bool checkpolymorphism, TRAPS) {
    14.9    Method* result_oop = klass->uncached_lookup_method(name, signature);
   14.10    if (result_oop == NULL) {
   14.11      Array<Method*>* default_methods = InstanceKlass::cast(klass())->default_methods();
   14.12 @@ -251,7 +251,7 @@
   14.13      }
   14.14    }
   14.15  
   14.16 -  if (EnableInvokeDynamic && result_oop != NULL) {
   14.17 +  if (checkpolymorphism && EnableInvokeDynamic && result_oop != NULL) {
   14.18      vmIntrinsics::ID iid = result_oop->intrinsic_id();
   14.19      if (MethodHandles::is_signature_polymorphic(iid)) {
   14.20        // Do not link directly to these.  The VM must produce a synthetic one using lookup_polymorphic_method.
   14.21 @@ -267,8 +267,8 @@
   14.22    Method* result_oop = klass->uncached_lookup_method(name, signature);
   14.23    result = methodHandle(THREAD, result_oop);
   14.24    while (!result.is_null() && result->is_static() && result->method_holder()->super() != NULL) {
   14.25 -    klass = KlassHandle(THREAD, result->method_holder()->super());
   14.26 -    result = methodHandle(THREAD, klass->uncached_lookup_method(name, signature));
   14.27 +    KlassHandle super_klass = KlassHandle(THREAD, result->method_holder()->super());
   14.28 +    result = methodHandle(THREAD, super_klass->uncached_lookup_method(name, signature));
   14.29    }
   14.30  
   14.31    if (result.is_null()) {
   14.32 @@ -503,11 +503,14 @@
   14.33    }
   14.34  
   14.35    if (code == Bytecodes::_invokeinterface) {
   14.36 -    resolve_interface_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, true, CHECK);
   14.37 +    resolve_interface_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, true, true, CHECK);
   14.38    } else if (code == Bytecodes::_invokevirtual) {
   14.39      resolve_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, true, true, CHECK);
   14.40 +  } else if (!resolved_klass->is_interface()) {
   14.41 +    resolve_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, true, false, CHECK);
   14.42    } else {
   14.43 -    resolve_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, true, false, CHECK);
   14.44 +    bool nostatics = (code == Bytecodes::_invokestatic) ? false : true;
   14.45 +    resolve_interface_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, true, nostatics, CHECK);
   14.46    }
   14.47  }
   14.48  
   14.49 @@ -528,7 +531,7 @@
   14.50    }
   14.51  
   14.52    // 2. lookup method in resolved klass and its super klasses
   14.53 -  lookup_method_in_klasses(resolved_method, resolved_klass, method_name, method_signature, CHECK);
   14.54 +  lookup_method_in_klasses(resolved_method, resolved_klass, method_name, method_signature, true, CHECK);
   14.55  
   14.56    if (resolved_method.is_null()) { // not found in the class hierarchy
   14.57      // 3. lookup method in all the interfaces implemented by the resolved klass
   14.58 @@ -612,7 +615,8 @@
   14.59                                              Symbol* method_name,
   14.60                                              Symbol* method_signature,
   14.61                                              KlassHandle current_klass,
   14.62 -                                            bool check_access, TRAPS) {
   14.63 +                                            bool check_access,
   14.64 +                                            bool nostatics, TRAPS) {
   14.65  
   14.66   // check if klass is interface
   14.67    if (!resolved_klass->is_interface()) {
   14.68 @@ -623,7 +627,8 @@
   14.69    }
   14.70  
   14.71    // lookup method in this interface or its super, java.lang.Object
   14.72 -  lookup_instance_method_in_klasses(resolved_method, resolved_klass, method_name, method_signature, CHECK);
   14.73 +  // JDK8: also look for static methods
   14.74 +  lookup_method_in_klasses(resolved_method, resolved_klass, method_name, method_signature, false, CHECK);
   14.75  
   14.76    if (resolved_method.is_null()) {
   14.77      // lookup method in all the super-interfaces
   14.78 @@ -638,6 +643,16 @@
   14.79      }
   14.80    }
   14.81  
   14.82 +  if (nostatics && resolved_method->is_static()) {
   14.83 +    ResourceMark rm(THREAD);
   14.84 +    char buf[200];
   14.85 +    jio_snprintf(buf, sizeof(buf), "Expected instance not static method %s", Method::name_and_sig_as_C_string(resolved_klass(),
   14.86 +                                                      resolved_method->name(),
   14.87 +                                                      resolved_method->signature()));
   14.88 +    THROW_MSG(vmSymbols::java_lang_IncompatibleClassChangeError(), buf);
   14.89 +  }
   14.90 +
   14.91 +
   14.92    if (check_access) {
   14.93      // JDK8 adds non-public interface methods, and accessability check requirement
   14.94      assert(current_klass.not_null() , "current_klass should not be null");
   14.95 @@ -864,7 +879,11 @@
   14.96                                                    Symbol* method_name, Symbol* method_signature,
   14.97                                                    KlassHandle current_klass, bool check_access, TRAPS) {
   14.98  
   14.99 -  resolve_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, check_access, false, CHECK);
  14.100 +  if (!resolved_klass->is_interface()) {
  14.101 +    resolve_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, check_access, false, CHECK);
  14.102 +  } else {
  14.103 +    resolve_interface_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, check_access, false, CHECK);
  14.104 +  }
  14.105    assert(resolved_method->name() != vmSymbols::class_initializer_name(), "should have been checked in verifier");
  14.106  
  14.107    // check if static
  14.108 @@ -898,7 +917,11 @@
  14.109    // and the selected method is recalculated relative to the direct superclass
  14.110    // superinterface.method, which explicitly does not check shadowing
  14.111  
  14.112 -  resolve_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, check_access, false, CHECK);
  14.113 +  if (!resolved_klass->is_interface()) {
  14.114 +    resolve_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, check_access, false, CHECK);
  14.115 +  } else {
  14.116 +    resolve_interface_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, check_access, true, CHECK);
  14.117 +  }
  14.118  
  14.119    // check if method name is <init>, that it is found in same klass as static type
  14.120    if (resolved_method->name() == vmSymbols::object_initializer_name() &&
  14.121 @@ -1219,7 +1242,7 @@
  14.122  void LinkResolver::linktime_resolve_interface_method(methodHandle& resolved_method, KlassHandle resolved_klass, Symbol* method_name,
  14.123                                                       Symbol* method_signature, KlassHandle current_klass, bool check_access, TRAPS) {
  14.124    // normal interface method resolution
  14.125 -  resolve_interface_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, check_access, CHECK);
  14.126 +  resolve_interface_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, check_access, true, CHECK);
  14.127  
  14.128    assert(resolved_method->name() != vmSymbols::object_initializer_name(), "should have been checked in verifier");
  14.129    assert(resolved_method->name() != vmSymbols::class_initializer_name (), "should have been checked in verifier");
    15.1 --- a/src/share/vm/interpreter/linkResolver.hpp	Wed Dec 11 12:28:09 2013 +0100
    15.2 +++ b/src/share/vm/interpreter/linkResolver.hpp	Thu Dec 12 11:05:39 2013 -0800
    15.3 @@ -124,7 +124,7 @@
    15.4    friend class klassItable;
    15.5  
    15.6   private:
    15.7 -  static void lookup_method_in_klasses          (methodHandle& result, KlassHandle klass, Symbol* name, Symbol* signature, TRAPS);
    15.8 +  static void lookup_method_in_klasses          (methodHandle& result, KlassHandle klass, Symbol* name, Symbol* signature, bool checkpolymorphism, TRAPS);
    15.9    static void lookup_instance_method_in_klasses (methodHandle& result, KlassHandle klass, Symbol* name, Symbol* signature, TRAPS);
   15.10    static void lookup_method_in_interfaces       (methodHandle& result, KlassHandle klass, Symbol* name, Symbol* signature, TRAPS);
   15.11    static void lookup_polymorphic_method         (methodHandle& result, KlassHandle klass, Symbol* name, Symbol* signature,
   15.12 @@ -134,7 +134,7 @@
   15.13  
   15.14    static void resolve_pool  (KlassHandle& resolved_klass, Symbol*& method_name, Symbol*& method_signature, KlassHandle& current_klass, constantPoolHandle pool, int index, TRAPS);
   15.15  
   15.16 -  static void resolve_interface_method(methodHandle& resolved_method, KlassHandle resolved_klass, Symbol* method_name, Symbol* method_signature, KlassHandle current_klass, bool check_access, TRAPS);
   15.17 +  static void resolve_interface_method(methodHandle& resolved_method, KlassHandle resolved_klass, Symbol* method_name, Symbol* method_signature, KlassHandle current_klass, bool check_access, bool nostatics, TRAPS);
   15.18    static void resolve_method          (methodHandle& resolved_method, KlassHandle resolved_klass, Symbol* method_name, Symbol* method_signature, KlassHandle current_klass, bool check_access, bool require_methodref, TRAPS);
   15.19  
   15.20    static void linktime_resolve_static_method    (methodHandle& resolved_method, KlassHandle resolved_klass, Symbol* method_name, Symbol* method_signature, KlassHandle current_klass, bool check_access, TRAPS);
    16.1 --- a/src/share/vm/oops/instanceKlass.cpp	Wed Dec 11 12:28:09 2013 +0100
    16.2 +++ b/src/share/vm/oops/instanceKlass.cpp	Thu Dec 12 11:05:39 2013 -0800
    16.3 @@ -1431,6 +1431,17 @@
    16.4    return InstanceKlass::find_method(methods(), name, signature);
    16.5  }
    16.6  
    16.7 +// find_instance_method looks up the name/signature in the local methods array
    16.8 +// and skips over static methods
    16.9 +Method* InstanceKlass::find_instance_method(
   16.10 +    Array<Method*>* methods, Symbol* name, Symbol* signature) {
   16.11 +  Method* meth = InstanceKlass::find_method(methods, name, signature);
   16.12 +  if (meth != NULL && meth->is_static()) {
   16.13 +      meth = NULL;
   16.14 +  }
   16.15 +  return meth;
   16.16 +}
   16.17 +
   16.18  // find_method looks up the name/signature in the local methods array
   16.19  Method* InstanceKlass::find_method(
   16.20      Array<Method*>* methods, Symbol* name, Symbol* signature) {
   16.21 @@ -2173,7 +2184,6 @@
   16.22      obj, \
   16.23      MarkSweep::adjust_pointer(p), \
   16.24      assert_is_in)
   16.25 -  MarkSweep::adjust_klass(obj->klass());
   16.26    return size;
   16.27  }
   16.28  
    17.1 --- a/src/share/vm/oops/instanceKlass.hpp	Wed Dec 11 12:28:09 2013 +0100
    17.2 +++ b/src/share/vm/oops/instanceKlass.hpp	Thu Dec 12 11:05:39 2013 -0800
    17.3 @@ -515,6 +515,7 @@
    17.4    // find a local method (returns NULL if not found)
    17.5    Method* find_method(Symbol* name, Symbol* signature) const;
    17.6    static Method* find_method(Array<Method*>* methods, Symbol* name, Symbol* signature);
    17.7 +  static Method* find_instance_method(Array<Method*>* methods, Symbol* name, Symbol* signature);
    17.8  
    17.9    // find a local method index in default_methods (returns -1 if not found)
   17.10    static int find_method_index(Array<Method*>* methods, Symbol* name, Symbol* signature);
    18.1 --- a/src/share/vm/oops/instanceMirrorKlass.cpp	Wed Dec 11 12:28:09 2013 +0100
    18.2 +++ b/src/share/vm/oops/instanceMirrorKlass.cpp	Thu Dec 12 11:05:39 2013 -0800
    18.3 @@ -155,7 +155,13 @@
    18.4    // Follow the klass field in the mirror.
    18.5    Klass* klass = java_lang_Class::as_Klass(obj);
    18.6    if (klass != NULL) {
    18.7 -    MarkSweep::follow_klass(klass);
    18.8 +    // For anonymous classes we need to handle the class loader data,
    18.9 +    // otherwise it won't be claimed and can be unloaded.
   18.10 +    if (klass->oop_is_instance() && InstanceKlass::cast(klass)->is_anonymous()) {
   18.11 +      MarkSweep::follow_class_loader(klass->class_loader_data());
   18.12 +    } else {
   18.13 +      MarkSweep::follow_klass(klass);
   18.14 +    }
   18.15    } else {
   18.16      // If klass is NULL then this a mirror for a primitive type.
   18.17      // We don't have to follow them, since they are handled as strong
   18.18 @@ -196,17 +202,6 @@
   18.19    int size = oop_size(obj);
   18.20    InstanceKlass::oop_adjust_pointers(obj);
   18.21  
   18.22 -  // Follow the klass field in the mirror.
   18.23 -  Klass* klass = java_lang_Class::as_Klass(obj);
   18.24 -  if (klass != NULL) {
   18.25 -    MarkSweep::adjust_klass(klass);
   18.26 -  } else {
   18.27 -    // If klass is NULL then this a mirror for a primitive type.
   18.28 -    // We don't have to follow them, since they are handled as strong
   18.29 -    // roots in Universe::oops_do.
   18.30 -    assert(java_lang_Class::is_primitive(obj), "Sanity check");
   18.31 -  }
   18.32 -
   18.33    InstanceMirrorKlass_OOP_ITERATE(                                                    \
   18.34      start_of_static_fields(obj), java_lang_Class::static_oop_field_count(obj),        \
   18.35      MarkSweep::adjust_pointer(p),                                                     \
    19.1 --- a/src/share/vm/oops/klassVtable.cpp	Wed Dec 11 12:28:09 2013 +0100
    19.2 +++ b/src/share/vm/oops/klassVtable.cpp	Thu Dec 12 11:05:39 2013 -0800
    19.3 @@ -665,6 +665,11 @@
    19.4  
    19.5  // check if a method is a miranda method, given a class's methods table,
    19.6  // its default_method table  and its super
    19.7 +// Miranda methods are calculated twice:
    19.8 +// first: before vtable size calculation: including abstract and default
    19.9 +// This is seen by default method creation
   19.10 +// Second: recalculated during vtable initialization: only abstract
   19.11 +// This is seen by link resolution and selection.
   19.12  // "miranda" means not static, not defined by this class.
   19.13  // private methods in interfaces do not belong in the miranda list.
   19.14  // the caller must make sure that the method belongs to an interface implemented by the class
   19.15 @@ -678,7 +683,8 @@
   19.16    }
   19.17    Symbol* name = m->name();
   19.18    Symbol* signature = m->signature();
   19.19 -  if (InstanceKlass::find_method(class_methods, name, signature) == NULL) {
   19.20 +
   19.21 +  if (InstanceKlass::find_instance_method(class_methods, name, signature) == NULL) {
   19.22      // did not find it in the method table of the current class
   19.23      if ((default_methods == NULL) ||
   19.24          InstanceKlass::find_method(default_methods, name, signature) == NULL) {
   19.25 @@ -688,6 +694,12 @@
   19.26        }
   19.27  
   19.28        Method* mo = InstanceKlass::cast(super)->lookup_method(name, signature);
   19.29 +      while (mo != NULL && mo->access_flags().is_static()
   19.30 +             && mo->method_holder() != NULL
   19.31 +             && mo->method_holder()->super() != NULL)
   19.32 +      {
   19.33 +         mo = mo->method_holder()->super()->uncached_lookup_method(name, signature);
   19.34 +      }
   19.35        if (mo == NULL || mo->access_flags().is_private() ) {
   19.36          // super class hierarchy does not implement it or protection is different
   19.37          return true;
    20.1 --- a/src/share/vm/oops/objArrayKlass.cpp	Wed Dec 11 12:28:09 2013 +0100
    20.2 +++ b/src/share/vm/oops/objArrayKlass.cpp	Thu Dec 12 11:05:39 2013 -0800
    20.3 @@ -569,7 +569,6 @@
    20.4    // Get size before changing pointers.
    20.5    // Don't call size() or oop_size() since that is a virtual call.
    20.6    int size = a->object_size();
    20.7 -  MarkSweep::adjust_klass(a->klass());
    20.8    ObjArrayKlass_OOP_ITERATE(a, p, MarkSweep::adjust_pointer(p))
    20.9    return size;
   20.10  }
    21.1 --- a/src/share/vm/opto/c2_globals.hpp	Wed Dec 11 12:28:09 2013 +0100
    21.2 +++ b/src/share/vm/opto/c2_globals.hpp	Thu Dec 12 11:05:39 2013 -0800
    21.3 @@ -647,7 +647,7 @@
    21.4    diagnostic(bool, OptimizeExpensiveOps, true,                              \
    21.5            "Find best control for expensive operations")                     \
    21.6                                                                              \
    21.7 -  product(bool, UseMathExactIntrinsics, true,                               \
    21.8 +  experimental(bool, UseMathExactIntrinsics, false,                         \
    21.9            "Enables intrinsification of various java.lang.Math functions")   \
   21.10                                                                              \
   21.11    experimental(bool, ReplaceInParentMaps, false,                            \
    22.1 --- a/src/share/vm/prims/jvmtiEnvThreadState.cpp	Wed Dec 11 12:28:09 2013 +0100
    22.2 +++ b/src/share/vm/prims/jvmtiEnvThreadState.cpp	Thu Dec 12 11:05:39 2013 -0800
    22.3 @@ -269,11 +269,20 @@
    22.4    void doit() {
    22.5      ResourceMark rmark; // _thread != Thread::current()
    22.6      RegisterMap rm(_thread, false);
    22.7 -    javaVFrame* vf = _thread->last_java_vframe(&rm);
    22.8 -    assert(vf != NULL, "must have last java frame");
    22.9 -    Method* method = vf->method();
   22.10 -    _method_id = method->jmethod_id();
   22.11 -    _bci = vf->bci();
   22.12 +    // There can be a race condition between a VM_Operation reaching a safepoint
   22.13 +    // and the target thread exiting from Java execution.
   22.14 +    // We must recheck the last Java frame still exists.
   22.15 +    if (_thread->has_last_Java_frame()) {
   22.16 +      javaVFrame* vf = _thread->last_java_vframe(&rm);
   22.17 +      assert(vf != NULL, "must have last java frame");
   22.18 +      Method* method = vf->method();
   22.19 +      _method_id = method->jmethod_id();
   22.20 +      _bci = vf->bci();
   22.21 +    } else {
   22.22 +      // Clear current location as the target thread has no Java frames anymore.
   22.23 +      _method_id = (jmethodID)NULL;
   22.24 +      _bci = 0;
   22.25 +    }
   22.26    }
   22.27    void get_current_location(jmethodID *method_id, int *bci) {
   22.28      *method_id = _method_id;
    23.1 --- a/src/share/vm/prims/jvmtiImpl.hpp	Wed Dec 11 12:28:09 2013 +0100
    23.2 +++ b/src/share/vm/prims/jvmtiImpl.hpp	Thu Dec 12 11:05:39 2013 -0800
    23.3 @@ -299,7 +299,7 @@
    23.4    static inline bool is_breakpoint(address bcp);
    23.5  
    23.6    static void oops_do(OopClosure* f);
    23.7 -  static void metadata_do(void f(Metadata*));
    23.8 +  static void metadata_do(void f(Metadata*)) NOT_JVMTI_RETURN;
    23.9    static void gc_epilogue();
   23.10  };
   23.11  
    24.1 --- a/src/share/vm/runtime/arguments.cpp	Wed Dec 11 12:28:09 2013 +0100
    24.2 +++ b/src/share/vm/runtime/arguments.cpp	Thu Dec 12 11:05:39 2013 -0800
    24.3 @@ -2281,18 +2281,6 @@
    24.4    status = status && verify_percentage(MarkSweepDeadRatio, "MarkSweepDeadRatio");
    24.5  
    24.6    status = status && verify_min_value(MarkSweepAlwaysCompactCount, 1, "MarkSweepAlwaysCompactCount");
    24.7 -#ifdef SPARC
    24.8 -  if (UseConcMarkSweepGC || UseG1GC) {
    24.9 -    // Issue a stern warning if the user has explicitly set
   24.10 -    // UseMemSetInBOT (it is known to cause issues), but allow
   24.11 -    // use for experimentation and debugging.
   24.12 -    if (VM_Version::is_sun4v() && UseMemSetInBOT) {
   24.13 -      assert(!FLAG_IS_DEFAULT(UseMemSetInBOT), "Error");
   24.14 -      warning("Experimental flag -XX:+UseMemSetInBOT is known to cause instability"
   24.15 -          " on sun4v; please understand that you are using at your own risk!");
   24.16 -    }
   24.17 -  }
   24.18 -#endif // SPARC
   24.19  
   24.20    if (PrintNMTStatistics) {
   24.21  #if INCLUDE_NMT
    25.1 --- a/test/TEST.groups	Wed Dec 11 12:28:09 2013 +0100
    25.2 +++ b/test/TEST.groups	Thu Dec 12 11:05:39 2013 -0800
    25.3 @@ -70,7 +70,6 @@
    25.4    runtime/7107135/Test7107135.sh \
    25.5    runtime/7158988/FieldMonitor.java \
    25.6    runtime/7194254/Test7194254.java \
    25.7 -  runtime/8026365/InvokeSpecialAnonTest.java \
    25.8    runtime/jsig/Test8017498.sh \
    25.9    runtime/Metaspace/FragmentMetaspace.java \
   25.10    runtime/NMT/BaselineWithParameter.java \
    26.1 --- a/test/compiler/intrinsics/mathexact/AddExactICondTest.java	Wed Dec 11 12:28:09 2013 +0100
    26.2 +++ b/test/compiler/intrinsics/mathexact/AddExactICondTest.java	Thu Dec 12 11:05:39 2013 -0800
    26.3 @@ -26,7 +26,7 @@
    26.4   * @bug 8024924
    26.5   * @summary Test non constant addExact
    26.6   * @compile AddExactICondTest.java
    26.7 - * @run main AddExactICondTest
    26.8 + * @run main AddExactICondTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    26.9   *
   26.10   */
   26.11  
    27.1 --- a/test/compiler/intrinsics/mathexact/AddExactIConstantTest.java	Wed Dec 11 12:28:09 2013 +0100
    27.2 +++ b/test/compiler/intrinsics/mathexact/AddExactIConstantTest.java	Thu Dec 12 11:05:39 2013 -0800
    27.3 @@ -26,7 +26,7 @@
    27.4   * @bug 8024924
    27.5   * @summary Test constant addExact
    27.6   * @compile AddExactIConstantTest.java Verify.java
    27.7 - * @run main AddExactIConstantTest
    27.8 + * @run main AddExactIConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    27.9   *
   27.10   */
   27.11  
    28.1 --- a/test/compiler/intrinsics/mathexact/AddExactILoadTest.java	Wed Dec 11 12:28:09 2013 +0100
    28.2 +++ b/test/compiler/intrinsics/mathexact/AddExactILoadTest.java	Thu Dec 12 11:05:39 2013 -0800
    28.3 @@ -26,7 +26,7 @@
    28.4   * @bug 8024924
    28.5   * @summary Test non constant addExact
    28.6   * @compile AddExactILoadTest.java Verify.java
    28.7 - * @run main AddExactILoadTest
    28.8 + * @run main AddExactILoadTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    28.9   *
   28.10   */
   28.11  
    29.1 --- a/test/compiler/intrinsics/mathexact/AddExactILoopDependentTest.java	Wed Dec 11 12:28:09 2013 +0100
    29.2 +++ b/test/compiler/intrinsics/mathexact/AddExactILoopDependentTest.java	Thu Dec 12 11:05:39 2013 -0800
    29.3 @@ -26,7 +26,7 @@
    29.4   * @bug 8024924
    29.5   * @summary Test non constant addExact
    29.6   * @compile AddExactILoopDependentTest.java Verify.java
    29.7 - * @run main AddExactILoopDependentTest
    29.8 + * @run main AddExactILoopDependentTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    29.9   *
   29.10   */
   29.11  
    30.1 --- a/test/compiler/intrinsics/mathexact/AddExactINonConstantTest.java	Wed Dec 11 12:28:09 2013 +0100
    30.2 +++ b/test/compiler/intrinsics/mathexact/AddExactINonConstantTest.java	Thu Dec 12 11:05:39 2013 -0800
    30.3 @@ -26,7 +26,7 @@
    30.4   * @bug 8024924
    30.5   * @summary Test non constant addExact
    30.6   * @compile AddExactINonConstantTest.java Verify.java
    30.7 - * @run main AddExactINonConstantTest
    30.8 + * @run main AddExactINonConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    30.9   *
   30.10   */
   30.11  
    31.1 --- a/test/compiler/intrinsics/mathexact/AddExactIRepeatTest.java	Wed Dec 11 12:28:09 2013 +0100
    31.2 +++ b/test/compiler/intrinsics/mathexact/AddExactIRepeatTest.java	Thu Dec 12 11:05:39 2013 -0800
    31.3 @@ -26,7 +26,7 @@
    31.4   * @bug 8025657
    31.5   * @summary Test repeating addExact
    31.6   * @compile AddExactIRepeatTest.java Verify.java
    31.7 - * @run main AddExactIRepeatTest
    31.8 + * @run main AddExactIRepeatTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    31.9   *
   31.10   */
   31.11  
    32.1 --- a/test/compiler/intrinsics/mathexact/AddExactLConstantTest.java	Wed Dec 11 12:28:09 2013 +0100
    32.2 +++ b/test/compiler/intrinsics/mathexact/AddExactLConstantTest.java	Thu Dec 12 11:05:39 2013 -0800
    32.3 @@ -26,7 +26,7 @@
    32.4   * @bug 8026844
    32.5   * @summary Test constant addExact
    32.6   * @compile AddExactLConstantTest.java Verify.java
    32.7 - * @run main AddExactLConstantTest
    32.8 + * @run main AddExactLConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    32.9   *
   32.10   */
   32.11  
    33.1 --- a/test/compiler/intrinsics/mathexact/AddExactLNonConstantTest.java	Wed Dec 11 12:28:09 2013 +0100
    33.2 +++ b/test/compiler/intrinsics/mathexact/AddExactLNonConstantTest.java	Thu Dec 12 11:05:39 2013 -0800
    33.3 @@ -26,7 +26,7 @@
    33.4   * @bug 8026844
    33.5   * @summary Test non constant addExact
    33.6   * @compile AddExactLNonConstantTest.java Verify.java
    33.7 - * @run main AddExactLNonConstantTest
    33.8 + * @run main AddExactLNonConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    33.9   *
   33.10   */
   33.11  
    34.1 --- a/test/compiler/intrinsics/mathexact/CompareTest.java	Wed Dec 11 12:28:09 2013 +0100
    34.2 +++ b/test/compiler/intrinsics/mathexact/CompareTest.java	Thu Dec 12 11:05:39 2013 -0800
    34.3 @@ -26,7 +26,7 @@
    34.4   * @bug 8026722
    34.5   * @summary Verify that the compare after addExact is a signed compare
    34.6   * @compile CompareTest.java
    34.7 - * @run main CompareTest
    34.8 + * @run main CompareTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    34.9   *
   34.10   */
   34.11  
    35.1 --- a/test/compiler/intrinsics/mathexact/DecExactITest.java	Wed Dec 11 12:28:09 2013 +0100
    35.2 +++ b/test/compiler/intrinsics/mathexact/DecExactITest.java	Thu Dec 12 11:05:39 2013 -0800
    35.3 @@ -26,7 +26,7 @@
    35.4   * @bug 8026844
    35.5   * @summary Test decrementExact
    35.6   * @compile DecExactITest.java Verify.java
    35.7 - * @run main DecExactITest
    35.8 + * @run main DecExactITest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    35.9   *
   35.10   */
   35.11  
    36.1 --- a/test/compiler/intrinsics/mathexact/DecExactLTest.java	Wed Dec 11 12:28:09 2013 +0100
    36.2 +++ b/test/compiler/intrinsics/mathexact/DecExactLTest.java	Thu Dec 12 11:05:39 2013 -0800
    36.3 @@ -25,8 +25,8 @@
    36.4   * @test
    36.5   * @bug 8026844
    36.6   * @summary Test decrementExact
    36.7 - * @compile DecExactITest.java Verify.java
    36.8 - * @run main DecExactITest
    36.9 + * @compile DecExactLTest.java Verify.java
   36.10 + * @run main DecExactLTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
   36.11   *
   36.12   */
   36.13  
    37.1 --- a/test/compiler/intrinsics/mathexact/GVNTest.java	Wed Dec 11 12:28:09 2013 +0100
    37.2 +++ b/test/compiler/intrinsics/mathexact/GVNTest.java	Thu Dec 12 11:05:39 2013 -0800
    37.3 @@ -26,7 +26,7 @@
    37.4   * @bug 8028207
    37.5   * @summary Verify that GVN doesn't mess up the two addExacts
    37.6   * @compile GVNTest.java
    37.7 - * @run main GVNTest
    37.8 + * @run main GVNTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    37.9   *
   37.10   */
   37.11  
    38.1 --- a/test/compiler/intrinsics/mathexact/IncExactITest.java	Wed Dec 11 12:28:09 2013 +0100
    38.2 +++ b/test/compiler/intrinsics/mathexact/IncExactITest.java	Thu Dec 12 11:05:39 2013 -0800
    38.3 @@ -26,7 +26,7 @@
    38.4   * @bug 8026844
    38.5   * @summary Test incrementExact
    38.6   * @compile IncExactITest.java Verify.java
    38.7 - * @run main IncExactITest
    38.8 + * @run main IncExactITest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    38.9   *
   38.10   */
   38.11  
    39.1 --- a/test/compiler/intrinsics/mathexact/IncExactLTest.java	Wed Dec 11 12:28:09 2013 +0100
    39.2 +++ b/test/compiler/intrinsics/mathexact/IncExactLTest.java	Thu Dec 12 11:05:39 2013 -0800
    39.3 @@ -26,7 +26,7 @@
    39.4   * @bug 8026844
    39.5   * @summary Test incrementExact
    39.6   * @compile IncExactLTest.java Verify.java
    39.7 - * @run main IncExactLTest
    39.8 + * @run main IncExactLTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    39.9   *
   39.10   */
   39.11  
    40.1 --- a/test/compiler/intrinsics/mathexact/MulExactICondTest.java	Wed Dec 11 12:28:09 2013 +0100
    40.2 +++ b/test/compiler/intrinsics/mathexact/MulExactICondTest.java	Thu Dec 12 11:05:39 2013 -0800
    40.3 @@ -26,7 +26,7 @@
    40.4   * @bug 8026844
    40.5   * @summary Test multiplyExact as condition
    40.6   * @compile MulExactICondTest.java
    40.7 - * @run main MulExactICondTest
    40.8 + * @run main MulExactICondTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    40.9   *
   40.10   */
   40.11  
    41.1 --- a/test/compiler/intrinsics/mathexact/MulExactIConstantTest.java	Wed Dec 11 12:28:09 2013 +0100
    41.2 +++ b/test/compiler/intrinsics/mathexact/MulExactIConstantTest.java	Thu Dec 12 11:05:39 2013 -0800
    41.3 @@ -26,7 +26,7 @@
    41.4   * @bug 8026844
    41.5   * @summary Test constant multiplyExact
    41.6   * @compile MulExactIConstantTest.java Verify.java
    41.7 - * @run main MulExactIConstantTest
    41.8 + * @run main MulExactIConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    41.9   *
   41.10   */
   41.11  
    42.1 --- a/test/compiler/intrinsics/mathexact/MulExactILoadTest.java	Wed Dec 11 12:28:09 2013 +0100
    42.2 +++ b/test/compiler/intrinsics/mathexact/MulExactILoadTest.java	Thu Dec 12 11:05:39 2013 -0800
    42.3 @@ -26,7 +26,7 @@
    42.4   * @bug 8026844
    42.5   * @summary Test multiplyExact
    42.6   * @compile MulExactILoadTest.java Verify.java
    42.7 - * @run main MulExactILoadTest
    42.8 + * @run main MulExactILoadTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    42.9   *
   42.10   */
   42.11  
    43.1 --- a/test/compiler/intrinsics/mathexact/MulExactILoopDependentTest.java	Wed Dec 11 12:28:09 2013 +0100
    43.2 +++ b/test/compiler/intrinsics/mathexact/MulExactILoopDependentTest.java	Thu Dec 12 11:05:39 2013 -0800
    43.3 @@ -26,7 +26,7 @@
    43.4   * @bug 8026844
    43.5   * @summary Test loop dependent multiplyExact
    43.6   * @compile MulExactILoopDependentTest.java Verify.java
    43.7 - * @run main MulExactILoopDependentTest
    43.8 + * @run main MulExactILoopDependentTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    43.9   *
   43.10   */
   43.11  public class MulExactILoopDependentTest {
    44.1 --- a/test/compiler/intrinsics/mathexact/MulExactINonConstantTest.java	Wed Dec 11 12:28:09 2013 +0100
    44.2 +++ b/test/compiler/intrinsics/mathexact/MulExactINonConstantTest.java	Thu Dec 12 11:05:39 2013 -0800
    44.3 @@ -26,7 +26,7 @@
    44.4   * @bug 8026844
    44.5   * @summary Test non constant multiplyExact
    44.6   * @compile MulExactINonConstantTest.java Verify.java
    44.7 - * @run main MulExactINonConstantTest
    44.8 + * @run main MulExactINonConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    44.9   *
   44.10   */
   44.11  
    45.1 --- a/test/compiler/intrinsics/mathexact/MulExactIRepeatTest.java	Wed Dec 11 12:28:09 2013 +0100
    45.2 +++ b/test/compiler/intrinsics/mathexact/MulExactIRepeatTest.java	Thu Dec 12 11:05:39 2013 -0800
    45.3 @@ -26,7 +26,7 @@
    45.4   * @bug 8026844
    45.5   * @summary Test repeating multiplyExact
    45.6   * @compile MulExactIRepeatTest.java Verify.java
    45.7 - * @run main MulExactIRepeatTest
    45.8 + * @run main MulExactIRepeatTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    45.9   *
   45.10   */
   45.11  
    46.1 --- a/test/compiler/intrinsics/mathexact/MulExactLConstantTest.java	Wed Dec 11 12:28:09 2013 +0100
    46.2 +++ b/test/compiler/intrinsics/mathexact/MulExactLConstantTest.java	Thu Dec 12 11:05:39 2013 -0800
    46.3 @@ -26,7 +26,7 @@
    46.4   * @bug 8026844
    46.5   * @summary Test constant mulExact
    46.6   * @compile MulExactLConstantTest.java Verify.java
    46.7 - * @run main MulExactLConstantTest
    46.8 + * @run main MulExactLConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    46.9   *
   46.10   */
   46.11  
    47.1 --- a/test/compiler/intrinsics/mathexact/MulExactLNonConstantTest.java	Wed Dec 11 12:28:09 2013 +0100
    47.2 +++ b/test/compiler/intrinsics/mathexact/MulExactLNonConstantTest.java	Thu Dec 12 11:05:39 2013 -0800
    47.3 @@ -26,7 +26,7 @@
    47.4   * @bug 8026844
    47.5   * @summary Test non constant mulExact
    47.6   * @compile MulExactLNonConstantTest.java Verify.java
    47.7 - * @run main MulExactLNonConstantTest
    47.8 + * @run main MulExactLNonConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    47.9   *
   47.10   */
   47.11  
    48.1 --- a/test/compiler/intrinsics/mathexact/NegExactIConstantTest.java	Wed Dec 11 12:28:09 2013 +0100
    48.2 +++ b/test/compiler/intrinsics/mathexact/NegExactIConstantTest.java	Thu Dec 12 11:05:39 2013 -0800
    48.3 @@ -26,7 +26,7 @@
    48.4   * @bug 8026844
    48.5   * @summary Test constant negExact
    48.6   * @compile NegExactIConstantTest.java Verify.java
    48.7 - * @run main NegExactIConstantTest
    48.8 + * @run main NegExactIConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    48.9   *
   48.10   */
   48.11  
    49.1 --- a/test/compiler/intrinsics/mathexact/NegExactILoadTest.java	Wed Dec 11 12:28:09 2013 +0100
    49.2 +++ b/test/compiler/intrinsics/mathexact/NegExactILoadTest.java	Thu Dec 12 11:05:39 2013 -0800
    49.3 @@ -26,7 +26,7 @@
    49.4   * @bug 8026844
    49.5   * @summary Test negExact
    49.6   * @compile NegExactILoadTest.java Verify.java
    49.7 - * @run main NegExactILoadTest
    49.8 + * @run main NegExactILoadTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    49.9   *
   49.10   */
   49.11  
    50.1 --- a/test/compiler/intrinsics/mathexact/NegExactILoopDependentTest.java	Wed Dec 11 12:28:09 2013 +0100
    50.2 +++ b/test/compiler/intrinsics/mathexact/NegExactILoopDependentTest.java	Thu Dec 12 11:05:39 2013 -0800
    50.3 @@ -26,7 +26,7 @@
    50.4   * @bug 8026844
    50.5   * @summary Test negExact loop dependent
    50.6   * @compile NegExactILoopDependentTest.java Verify.java
    50.7 - * @run main NegExactILoopDependentTest
    50.8 + * @run main NegExactILoopDependentTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    50.9   *
   50.10   */
   50.11  public class NegExactILoopDependentTest {
    51.1 --- a/test/compiler/intrinsics/mathexact/NegExactINonConstantTest.java	Wed Dec 11 12:28:09 2013 +0100
    51.2 +++ b/test/compiler/intrinsics/mathexact/NegExactINonConstantTest.java	Thu Dec 12 11:05:39 2013 -0800
    51.3 @@ -26,7 +26,7 @@
    51.4   * @bug 8026844
    51.5   * @summary Test non constant negExact
    51.6   * @compile NegExactINonConstantTest.java Verify.java
    51.7 - * @run main NegExactINonConstantTest
    51.8 + * @run main NegExactINonConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    51.9   *
   51.10   */
   51.11  
    52.1 --- a/test/compiler/intrinsics/mathexact/NegExactLConstantTest.java	Wed Dec 11 12:28:09 2013 +0100
    52.2 +++ b/test/compiler/intrinsics/mathexact/NegExactLConstantTest.java	Thu Dec 12 11:05:39 2013 -0800
    52.3 @@ -26,7 +26,7 @@
    52.4   * @bug 8026844
    52.5   * @summary Test constant negExact
    52.6   * @compile NegExactLConstantTest.java Verify.java
    52.7 - * @run main NegExactLConstantTest
    52.8 + * @run main NegExactLConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    52.9   *
   52.10   */
   52.11  
    53.1 --- a/test/compiler/intrinsics/mathexact/NegExactLNonConstantTest.java	Wed Dec 11 12:28:09 2013 +0100
    53.2 +++ b/test/compiler/intrinsics/mathexact/NegExactLNonConstantTest.java	Thu Dec 12 11:05:39 2013 -0800
    53.3 @@ -26,7 +26,7 @@
    53.4   * @bug 8026844
    53.5   * @summary Test constant negExact
    53.6   * @compile NegExactLNonConstantTest.java Verify.java
    53.7 - * @run main NegExactLNonConstantTest
    53.8 + * @run main NegExactLNonConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    53.9   *
   53.10   */
   53.11  
    54.1 --- a/test/compiler/intrinsics/mathexact/NestedMathExactTest.java	Wed Dec 11 12:28:09 2013 +0100
    54.2 +++ b/test/compiler/intrinsics/mathexact/NestedMathExactTest.java	Thu Dec 12 11:05:39 2013 -0800
    54.3 @@ -26,7 +26,7 @@
    54.4   * @bug 8027444
    54.5   * @summary Test nested loops
    54.6   * @compile NestedMathExactTest.java
    54.7 - * @run main NestedMathExactTest
    54.8 + * @run main NestedMathExactTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    54.9   *
   54.10   */
   54.11  
    55.1 --- a/test/compiler/intrinsics/mathexact/SplitThruPhiTest.java	Wed Dec 11 12:28:09 2013 +0100
    55.2 +++ b/test/compiler/intrinsics/mathexact/SplitThruPhiTest.java	Thu Dec 12 11:05:39 2013 -0800
    55.3 @@ -26,7 +26,7 @@
    55.4   * @bug 8028198
    55.5   * @summary Verify that split through phi does the right thing
    55.6   * @compile SplitThruPhiTest.java
    55.7 - * @run main SplitThruPhiTest
    55.8 + * @run main SplitThruPhiTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    55.9   *
   55.10   */
   55.11  
    56.1 --- a/test/compiler/intrinsics/mathexact/SubExactICondTest.java	Wed Dec 11 12:28:09 2013 +0100
    56.2 +++ b/test/compiler/intrinsics/mathexact/SubExactICondTest.java	Thu Dec 12 11:05:39 2013 -0800
    56.3 @@ -26,7 +26,7 @@
    56.4   * @bug 8026844
    56.5   * @summary Test subtractExact as condition
    56.6   * @compile SubExactICondTest.java Verify.java
    56.7 - * @run main SubExactICondTest
    56.8 + * @run main SubExactICondTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    56.9   *
   56.10   */
   56.11  
    57.1 --- a/test/compiler/intrinsics/mathexact/SubExactIConstantTest.java	Wed Dec 11 12:28:09 2013 +0100
    57.2 +++ b/test/compiler/intrinsics/mathexact/SubExactIConstantTest.java	Thu Dec 12 11:05:39 2013 -0800
    57.3 @@ -26,7 +26,7 @@
    57.4   * @bug 8026844
    57.5   * @summary Test constant subtractExact
    57.6   * @compile SubExactIConstantTest.java Verify.java
    57.7 - * @run main SubExactIConstantTest
    57.8 + * @run main SubExactIConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    57.9   *
   57.10   */
   57.11  
    58.1 --- a/test/compiler/intrinsics/mathexact/SubExactILoadTest.java	Wed Dec 11 12:28:09 2013 +0100
    58.2 +++ b/test/compiler/intrinsics/mathexact/SubExactILoadTest.java	Thu Dec 12 11:05:39 2013 -0800
    58.3 @@ -26,7 +26,7 @@
    58.4   * @bug 8026844
    58.5   * @summary Test non constant subtractExact
    58.6   * @compile SubExactILoadTest.java Verify.java
    58.7 - * @run main SubExactILoadTest
    58.8 + * @run main SubExactILoadTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    58.9   *
   58.10   */
   58.11  
    59.1 --- a/test/compiler/intrinsics/mathexact/SubExactILoopDependentTest.java	Wed Dec 11 12:28:09 2013 +0100
    59.2 +++ b/test/compiler/intrinsics/mathexact/SubExactILoopDependentTest.java	Thu Dec 12 11:05:39 2013 -0800
    59.3 @@ -26,7 +26,7 @@
    59.4   * @bug 8026844
    59.5   * @summary Test non constant subtractExact
    59.6   * @compile SubExactILoopDependentTest.java Verify.java
    59.7 - * @run main SubExactILoopDependentTest
    59.8 + * @run main SubExactILoopDependentTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    59.9   *
   59.10   */
   59.11  
    60.1 --- a/test/compiler/intrinsics/mathexact/SubExactINonConstantTest.java	Wed Dec 11 12:28:09 2013 +0100
    60.2 +++ b/test/compiler/intrinsics/mathexact/SubExactINonConstantTest.java	Thu Dec 12 11:05:39 2013 -0800
    60.3 @@ -26,7 +26,7 @@
    60.4   * @bug 8026844
    60.5   * @summary Test non constant subtractExact
    60.6   * @compile SubExactINonConstantTest.java Verify.java
    60.7 - * @run main SubExactINonConstantTest
    60.8 + * @run main SubExactINonConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    60.9   *
   60.10   */
   60.11  
    61.1 --- a/test/compiler/intrinsics/mathexact/SubExactIRepeatTest.java	Wed Dec 11 12:28:09 2013 +0100
    61.2 +++ b/test/compiler/intrinsics/mathexact/SubExactIRepeatTest.java	Thu Dec 12 11:05:39 2013 -0800
    61.3 @@ -26,7 +26,7 @@
    61.4   * @bug 8026844
    61.5   * @summary Test repeating subtractExact
    61.6   * @compile SubExactIRepeatTest.java Verify.java
    61.7 - * @run main SubExactIRepeatTest
    61.8 + * @run main SubExactIRepeatTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    61.9   *
   61.10   */
   61.11  
    62.1 --- a/test/compiler/intrinsics/mathexact/SubExactLConstantTest.java	Wed Dec 11 12:28:09 2013 +0100
    62.2 +++ b/test/compiler/intrinsics/mathexact/SubExactLConstantTest.java	Thu Dec 12 11:05:39 2013 -0800
    62.3 @@ -27,7 +27,7 @@
    62.4   * @bug 8027353
    62.5   * @summary Test constant subtractExact
    62.6   * @compile SubExactLConstantTest.java Verify.java
    62.7 - * @run main SubExactLConstantTest
    62.8 + * @run main SubExactLConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    62.9   *
   62.10   */
   62.11  
    63.1 --- a/test/compiler/intrinsics/mathexact/SubExactLNonConstantTest.java	Wed Dec 11 12:28:09 2013 +0100
    63.2 +++ b/test/compiler/intrinsics/mathexact/SubExactLNonConstantTest.java	Thu Dec 12 11:05:39 2013 -0800
    63.3 @@ -27,7 +27,7 @@
    63.4   * @bug 8027353
    63.5   * @summary Test non constant subtractExact
    63.6   * @compile SubExactLNonConstantTest.java Verify.java
    63.7 - * @run main SubExactLNonConstantTest
    63.8 + * @run main SubExactLNonConstantTest -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseMathExactIntrinsics
    63.9   *
   63.10   */
   63.11  
    64.1 --- a/test/runtime/8024804/RegisterNatives.java	Wed Dec 11 12:28:09 2013 +0100
    64.2 +++ b/test/runtime/8024804/RegisterNatives.java	Thu Dec 12 11:05:39 2013 -0800
    64.3 @@ -22,6 +22,7 @@
    64.4   */
    64.5  
    64.6  /*
    64.7 + * @ignore 8028741
    64.8   * @test
    64.9   * @bug 8024804
   64.10   * @summary registerNatives() interface resolution should receive IAE

mercurial