Merge
This commit is contained in:
commit
3fa8795fb3
@ -181,3 +181,4 @@ b85b44cced2406792cfb9baab1377ff03e7001d8 jdk8-b55
|
|||||||
522dfac8ca4d07c0b74025d4ac3b6e5feefbb829 jdk8-b57
|
522dfac8ca4d07c0b74025d4ac3b6e5feefbb829 jdk8-b57
|
||||||
9367024804874faf8e958adeb333682bab1c0c47 jdk8-b58
|
9367024804874faf8e958adeb333682bab1c0c47 jdk8-b58
|
||||||
dae9821589ccd2611bdf7084269b98e819091770 jdk8-b59
|
dae9821589ccd2611bdf7084269b98e819091770 jdk8-b59
|
||||||
|
e07f499b9dccb529ecf74172cf6ac11a195ec57a jdk8-b60
|
||||||
|
@ -181,3 +181,4 @@ bf1bb47414e178beff67dc255fc3b97bf401f679 jdk8-b56
|
|||||||
f3ab4163ae012965fc8acdfc25ce0fece8d6906d jdk8-b57
|
f3ab4163ae012965fc8acdfc25ce0fece8d6906d jdk8-b57
|
||||||
18462a19f7bd66d38015f61ea549a5e0c0c889a3 jdk8-b58
|
18462a19f7bd66d38015f61ea549a5e0c0c889a3 jdk8-b58
|
||||||
d54dc53e223ed9ce7d5f4d2cd02ad9d5def3c2db jdk8-b59
|
d54dc53e223ed9ce7d5f4d2cd02ad9d5def3c2db jdk8-b59
|
||||||
|
207ef43ba69ead6cbbab415d81834545e4d46747 jdk8-b60
|
||||||
|
@ -1631,7 +1631,7 @@ public class StubGenerator extends sun.rmi.rmic.iiop.Generator {
|
|||||||
|
|
||||||
// Write data members...
|
// Write data members...
|
||||||
p.pln();
|
p.pln();
|
||||||
p.pln("private " + getName(theType) + " target = null;");
|
p.pln("volatile private " + getName(theType) + " target = null;");
|
||||||
p.pln();
|
p.pln();
|
||||||
|
|
||||||
// Write the ids...
|
// Write the ids...
|
||||||
@ -1695,6 +1695,10 @@ public class StubGenerator extends sun.rmi.rmic.iiop.Generator {
|
|||||||
|
|
||||||
if (remoteMethods.length > 0) {
|
if (remoteMethods.length > 0) {
|
||||||
p.plnI("try {");
|
p.plnI("try {");
|
||||||
|
p.pln(getName(theType) + " target = this.target;");
|
||||||
|
p.plnI("if (target == null) {");
|
||||||
|
p.pln("throw new java.io.IOException();");
|
||||||
|
p.pOln("}");
|
||||||
p.plnI(idExtInputStream + " "+in+" = ");
|
p.plnI(idExtInputStream + " "+in+" = ");
|
||||||
p.pln("(" + idExtInputStream + ") "+_in+";");
|
p.pln("(" + idExtInputStream + ") "+_in+";");
|
||||||
p.pO();
|
p.pO();
|
||||||
|
@ -283,3 +283,5 @@ d70102c4cb73158902acaa6016f47c7bc14e0d67 jdk8-b57
|
|||||||
f2e12eb74117c917c0bb264694c02de4a6a15a10 hs25-b03
|
f2e12eb74117c917c0bb264694c02de4a6a15a10 hs25-b03
|
||||||
8a1a6b9b4f20fd2f6a12441d638e51f19a82db19 jdk8-b59
|
8a1a6b9b4f20fd2f6a12441d638e51f19a82db19 jdk8-b59
|
||||||
1cc7a2a11d00832e3d07f81f3744a6883422db7e hs25-b04
|
1cc7a2a11d00832e3d07f81f3744a6883422db7e hs25-b04
|
||||||
|
3cfd05b2219a29649741a52637696f06acf24a4e jdk8-b60
|
||||||
|
b261523fe66c40a02968f0aa7e73602491bb3386 hs25-b05
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -89,6 +89,7 @@ public interface Address {
|
|||||||
public Address getAddressAt (long offset) throws UnmappedAddressException, UnalignedAddressException;
|
public Address getAddressAt (long offset) throws UnmappedAddressException, UnalignedAddressException;
|
||||||
/** Returns the decoded address at the given offset */
|
/** Returns the decoded address at the given offset */
|
||||||
public Address getCompOopAddressAt (long offset) throws UnmappedAddressException, UnalignedAddressException;
|
public Address getCompOopAddressAt (long offset) throws UnmappedAddressException, UnalignedAddressException;
|
||||||
|
public Address getCompKlassAddressAt (long offset) throws UnmappedAddressException, UnalignedAddressException;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Java-related routines
|
// Java-related routines
|
||||||
|
@ -121,6 +121,9 @@ public interface Debugger extends SymbolLookup, ThreadAccess {
|
|||||||
public long getHeapOopSize();
|
public long getHeapOopSize();
|
||||||
public long getNarrowOopBase();
|
public long getNarrowOopBase();
|
||||||
public int getNarrowOopShift();
|
public int getNarrowOopShift();
|
||||||
|
public long getKlassPtrSize();
|
||||||
|
public long getNarrowKlassBase();
|
||||||
|
public int getNarrowKlassShift();
|
||||||
|
|
||||||
public ReadResult readBytesFromProcess(long address, long numBytes)
|
public ReadResult readBytesFromProcess(long address, long numBytes)
|
||||||
throws DebuggerException;
|
throws DebuggerException;
|
||||||
|
@ -58,6 +58,10 @@ public abstract class DebuggerBase implements Debugger {
|
|||||||
protected long heapOopSize;
|
protected long heapOopSize;
|
||||||
protected long narrowOopBase; // heap base for compressed oops.
|
protected long narrowOopBase; // heap base for compressed oops.
|
||||||
protected int narrowOopShift; // shift to decode compressed oops.
|
protected int narrowOopShift; // shift to decode compressed oops.
|
||||||
|
// class metadata space
|
||||||
|
protected long klassPtrSize;
|
||||||
|
protected long narrowKlassBase; // heap base for compressed klass ptrs.
|
||||||
|
protected int narrowKlassShift; // shift to decode compressed klass ptrs.
|
||||||
// Should be initialized if desired by calling initCache()
|
// Should be initialized if desired by calling initCache()
|
||||||
private PageCache cache;
|
private PageCache cache;
|
||||||
|
|
||||||
@ -159,10 +163,14 @@ public abstract class DebuggerBase implements Debugger {
|
|||||||
javaPrimitiveTypesConfigured = true;
|
javaPrimitiveTypesConfigured = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void putHeapConst(long heapOopSize, long narrowOopBase, int narrowOopShift) {
|
public void putHeapConst(long heapOopSize, long klassPtrSize, long narrowOopBase, int narrowOopShift,
|
||||||
|
long narrowKlassBase, int narrowKlassShift) {
|
||||||
this.heapOopSize = heapOopSize;
|
this.heapOopSize = heapOopSize;
|
||||||
|
this.klassPtrSize = klassPtrSize;
|
||||||
this.narrowOopBase = narrowOopBase;
|
this.narrowOopBase = narrowOopBase;
|
||||||
this.narrowOopShift = narrowOopShift;
|
this.narrowOopShift = narrowOopShift;
|
||||||
|
this.narrowKlassBase = narrowKlassBase;
|
||||||
|
this.narrowKlassShift = narrowKlassShift;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** May be called by subclasses if desired to initialize the page
|
/** May be called by subclasses if desired to initialize the page
|
||||||
@ -464,6 +472,15 @@ public abstract class DebuggerBase implements Debugger {
|
|||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected long readCompKlassAddressValue(long address)
|
||||||
|
throws UnmappedAddressException, UnalignedAddressException {
|
||||||
|
long value = readCInteger(address, getKlassPtrSize(), true);
|
||||||
|
if (value != 0) {
|
||||||
|
value = (long)(narrowKlassBase + (long)(value << narrowKlassShift));
|
||||||
|
}
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
protected void writeAddressValue(long address, long value)
|
protected void writeAddressValue(long address, long value)
|
||||||
throws UnmappedAddressException, UnalignedAddressException {
|
throws UnmappedAddressException, UnalignedAddressException {
|
||||||
writeCInteger(address, machDesc.getAddressSize(), value);
|
writeCInteger(address, machDesc.getAddressSize(), value);
|
||||||
@ -551,4 +568,15 @@ public abstract class DebuggerBase implements Debugger {
|
|||||||
public int getNarrowOopShift() {
|
public int getNarrowOopShift() {
|
||||||
return narrowOopShift;
|
return narrowOopShift;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public long getKlassPtrSize() {
|
||||||
|
return klassPtrSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getNarrowKlassBase() {
|
||||||
|
return narrowKlassBase;
|
||||||
|
}
|
||||||
|
public int getNarrowKlassShift() {
|
||||||
|
return narrowKlassShift;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -42,5 +42,7 @@ public interface JVMDebugger extends Debugger {
|
|||||||
long jintSize,
|
long jintSize,
|
||||||
long jlongSize,
|
long jlongSize,
|
||||||
long jshortSize);
|
long jshortSize);
|
||||||
public void putHeapConst(long heapOopSize, long narrowOopBase, int narrowOopShift);
|
public void putHeapConst(long heapOopSize, long klassPtrSize,
|
||||||
|
long narrowKlassBase, int narrowKlassShift,
|
||||||
|
long narrowOopBase, int narrowOopShift);
|
||||||
}
|
}
|
||||||
|
@ -79,6 +79,11 @@ class BsdAddress implements Address {
|
|||||||
return debugger.readCompOopAddress(addr + offset);
|
return debugger.readCompOopAddress(addr + offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Address getCompKlassAddressAt(long offset)
|
||||||
|
throws UnalignedAddressException, UnmappedAddressException {
|
||||||
|
return debugger.readCompOopAddress(addr + offset);
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Java-related routines
|
// Java-related routines
|
||||||
//
|
//
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -46,6 +46,7 @@ public interface BsdDebugger extends JVMDebugger {
|
|||||||
throws DebuggerException;
|
throws DebuggerException;
|
||||||
public BsdAddress readAddress(long address) throws DebuggerException;
|
public BsdAddress readAddress(long address) throws DebuggerException;
|
||||||
public BsdAddress readCompOopAddress(long address) throws DebuggerException;
|
public BsdAddress readCompOopAddress(long address) throws DebuggerException;
|
||||||
|
public BsdAddress readCompKlassAddress(long address) throws DebuggerException;
|
||||||
public BsdOopHandle readOopHandle(long address) throws DebuggerException;
|
public BsdOopHandle readOopHandle(long address) throws DebuggerException;
|
||||||
public BsdOopHandle readCompOopHandle(long address) throws DebuggerException;
|
public BsdOopHandle readCompOopHandle(long address) throws DebuggerException;
|
||||||
public long[] getThreadIntegerRegisterSet(int lwp_id) throws DebuggerException;
|
public long[] getThreadIntegerRegisterSet(int lwp_id) throws DebuggerException;
|
||||||
|
@ -431,6 +431,12 @@ public class BsdDebuggerLocal extends DebuggerBase implements BsdDebugger {
|
|||||||
return (value == 0 ? null : new BsdAddress(this, value));
|
return (value == 0 ? null : new BsdAddress(this, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BsdAddress readCompKlassAddress(long address)
|
||||||
|
throws UnmappedAddressException, UnalignedAddressException {
|
||||||
|
long value = readCompKlassAddressValue(address);
|
||||||
|
return (value == 0 ? null : new BsdAddress(this, value));
|
||||||
|
}
|
||||||
|
|
||||||
/** From the BsdDebugger interface */
|
/** From the BsdDebugger interface */
|
||||||
public BsdOopHandle readOopHandle(long address)
|
public BsdOopHandle readOopHandle(long address)
|
||||||
throws UnmappedAddressException, UnalignedAddressException,
|
throws UnmappedAddressException, UnalignedAddressException,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2002, 2006, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -80,6 +80,10 @@ class DummyAddress implements Address {
|
|||||||
return new DummyAddress(debugger, badLong);
|
return new DummyAddress(debugger, badLong);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Address getCompKlassAddressAt(long offset) throws UnalignedAddressException, UnmappedAddressException {
|
||||||
|
return new DummyAddress(debugger, badLong);
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Java-related routines
|
// Java-related routines
|
||||||
//
|
//
|
||||||
|
@ -79,6 +79,11 @@ class LinuxAddress implements Address {
|
|||||||
return debugger.readCompOopAddress(addr + offset);
|
return debugger.readCompOopAddress(addr + offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Address getCompKlassAddressAt(long offset)
|
||||||
|
throws UnalignedAddressException, UnmappedAddressException {
|
||||||
|
return debugger.readCompKlassAddress(addr + offset);
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Java-related routines
|
// Java-related routines
|
||||||
//
|
//
|
||||||
|
@ -46,6 +46,7 @@ public interface LinuxDebugger extends JVMDebugger {
|
|||||||
throws DebuggerException;
|
throws DebuggerException;
|
||||||
public LinuxAddress readAddress(long address) throws DebuggerException;
|
public LinuxAddress readAddress(long address) throws DebuggerException;
|
||||||
public LinuxAddress readCompOopAddress(long address) throws DebuggerException;
|
public LinuxAddress readCompOopAddress(long address) throws DebuggerException;
|
||||||
|
public LinuxAddress readCompKlassAddress(long address) throws DebuggerException;
|
||||||
public LinuxOopHandle readOopHandle(long address) throws DebuggerException;
|
public LinuxOopHandle readOopHandle(long address) throws DebuggerException;
|
||||||
public LinuxOopHandle readCompOopHandle(long address) throws DebuggerException;
|
public LinuxOopHandle readCompOopHandle(long address) throws DebuggerException;
|
||||||
public long[] getThreadIntegerRegisterSet(int lwp_id) throws DebuggerException;
|
public long[] getThreadIntegerRegisterSet(int lwp_id) throws DebuggerException;
|
||||||
|
@ -429,6 +429,12 @@ public class LinuxDebuggerLocal extends DebuggerBase implements LinuxDebugger {
|
|||||||
return (value == 0 ? null : new LinuxAddress(this, value));
|
return (value == 0 ? null : new LinuxAddress(this, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public LinuxAddress readCompKlassAddress(long address)
|
||||||
|
throws UnmappedAddressException, UnalignedAddressException {
|
||||||
|
long value = readCompKlassAddressValue(address);
|
||||||
|
return (value == 0 ? null : new LinuxAddress(this, value));
|
||||||
|
}
|
||||||
|
|
||||||
/** From the LinuxDebugger interface */
|
/** From the LinuxDebugger interface */
|
||||||
public LinuxOopHandle readOopHandle(long address)
|
public LinuxOopHandle readOopHandle(long address)
|
||||||
throws UnmappedAddressException, UnalignedAddressException,
|
throws UnmappedAddressException, UnalignedAddressException,
|
||||||
|
@ -76,6 +76,10 @@ class ProcAddress implements Address {
|
|||||||
return debugger.readCompOopAddress(addr + offset);
|
return debugger.readCompOopAddress(addr + offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Address getCompKlassAddressAt(long offset) throws UnalignedAddressException, UnmappedAddressException {
|
||||||
|
return debugger.readCompKlassAddress(addr + offset);
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Java-related routines
|
// Java-related routines
|
||||||
//
|
//
|
||||||
|
@ -47,6 +47,7 @@ public interface ProcDebugger extends JVMDebugger {
|
|||||||
throws DebuggerException;
|
throws DebuggerException;
|
||||||
public ProcAddress readAddress(long address) throws DebuggerException;
|
public ProcAddress readAddress(long address) throws DebuggerException;
|
||||||
public ProcAddress readCompOopAddress(long address) throws DebuggerException;
|
public ProcAddress readCompOopAddress(long address) throws DebuggerException;
|
||||||
|
public ProcAddress readCompKlassAddress(long address) throws DebuggerException;
|
||||||
public ProcOopHandle readOopHandle(long address) throws DebuggerException;
|
public ProcOopHandle readOopHandle(long address) throws DebuggerException;
|
||||||
public ProcOopHandle readCompOopHandle(long address) throws DebuggerException;
|
public ProcOopHandle readCompOopHandle(long address) throws DebuggerException;
|
||||||
public long[] getThreadIntegerRegisterSet(int tid) throws DebuggerException;
|
public long[] getThreadIntegerRegisterSet(int tid) throws DebuggerException;
|
||||||
|
@ -351,6 +351,12 @@ public class ProcDebuggerLocal extends DebuggerBase implements ProcDebugger {
|
|||||||
return (value == 0 ? null : new ProcAddress(this, value));
|
return (value == 0 ? null : new ProcAddress(this, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ProcAddress readCompKlassAddress(long address)
|
||||||
|
throws UnmappedAddressException, UnalignedAddressException {
|
||||||
|
long value = readCompKlassAddressValue(address);
|
||||||
|
return (value == 0 ? null : new ProcAddress(this, value));
|
||||||
|
}
|
||||||
|
|
||||||
/** From the ProcDebugger interface */
|
/** From the ProcDebugger interface */
|
||||||
public ProcOopHandle readOopHandle(long address)
|
public ProcOopHandle readOopHandle(long address)
|
||||||
throws UnmappedAddressException, UnalignedAddressException, NotInHeapException {
|
throws UnmappedAddressException, UnalignedAddressException, NotInHeapException {
|
||||||
|
@ -74,6 +74,9 @@ class RemoteAddress implements Address {
|
|||||||
public Address getCompOopAddressAt(long offset) throws UnalignedAddressException, UnmappedAddressException {
|
public Address getCompOopAddressAt(long offset) throws UnalignedAddressException, UnmappedAddressException {
|
||||||
return debugger.readCompOopAddress(addr + offset);
|
return debugger.readCompOopAddress(addr + offset);
|
||||||
}
|
}
|
||||||
|
public Address getCompKlassAddressAt(long offset) throws UnalignedAddressException, UnmappedAddressException {
|
||||||
|
return debugger.readCompKlassAddress(addr + offset);
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Java-related routines
|
// Java-related routines
|
||||||
|
@ -68,6 +68,9 @@ public interface RemoteDebugger extends Remote {
|
|||||||
public long getHeapOopSize() throws RemoteException;
|
public long getHeapOopSize() throws RemoteException;
|
||||||
public long getNarrowOopBase() throws RemoteException;
|
public long getNarrowOopBase() throws RemoteException;
|
||||||
public int getNarrowOopShift() throws RemoteException;
|
public int getNarrowOopShift() throws RemoteException;
|
||||||
|
public long getKlassPtrSize() throws RemoteException;
|
||||||
|
public long getNarrowKlassBase() throws RemoteException;
|
||||||
|
public int getNarrowKlassShift() throws RemoteException;
|
||||||
|
|
||||||
public boolean areThreadsEqual(long addrOrId1, boolean isAddress1,
|
public boolean areThreadsEqual(long addrOrId1, boolean isAddress1,
|
||||||
long addrOrId2, boolean isAddress2) throws RemoteException;
|
long addrOrId2, boolean isAddress2) throws RemoteException;
|
||||||
|
@ -99,7 +99,10 @@ public class RemoteDebuggerClient extends DebuggerBase implements JVMDebugger {
|
|||||||
javaPrimitiveTypesConfigured = true;
|
javaPrimitiveTypesConfigured = true;
|
||||||
narrowOopBase = remoteDebugger.getNarrowOopBase();
|
narrowOopBase = remoteDebugger.getNarrowOopBase();
|
||||||
narrowOopShift = remoteDebugger.getNarrowOopShift();
|
narrowOopShift = remoteDebugger.getNarrowOopShift();
|
||||||
|
narrowKlassBase = remoteDebugger.getNarrowKlassBase();
|
||||||
|
narrowKlassShift = remoteDebugger.getNarrowKlassShift();
|
||||||
heapOopSize = remoteDebugger.getHeapOopSize();
|
heapOopSize = remoteDebugger.getHeapOopSize();
|
||||||
|
klassPtrSize = remoteDebugger.getKlassPtrSize();
|
||||||
}
|
}
|
||||||
catch (RemoteException e) {
|
catch (RemoteException e) {
|
||||||
throw new DebuggerException(e);
|
throw new DebuggerException(e);
|
||||||
@ -319,6 +322,12 @@ public class RemoteDebuggerClient extends DebuggerBase implements JVMDebugger {
|
|||||||
return (value == 0 ? null : new RemoteAddress(this, value));
|
return (value == 0 ? null : new RemoteAddress(this, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RemoteAddress readCompKlassAddress(long address)
|
||||||
|
throws UnmappedAddressException, UnalignedAddressException {
|
||||||
|
long value = readCompKlassAddressValue(address);
|
||||||
|
return (value == 0 ? null : new RemoteAddress(this, value));
|
||||||
|
}
|
||||||
|
|
||||||
RemoteOopHandle readOopHandle(long address)
|
RemoteOopHandle readOopHandle(long address)
|
||||||
throws UnmappedAddressException, UnalignedAddressException, NotInHeapException {
|
throws UnmappedAddressException, UnalignedAddressException, NotInHeapException {
|
||||||
long value = readAddressValue(address);
|
long value = readAddressValue(address);
|
||||||
|
@ -126,6 +126,18 @@ public class RemoteDebuggerServer extends UnicastRemoteObject
|
|||||||
return debugger.getNarrowOopShift();
|
return debugger.getNarrowOopShift();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public long getKlassPtrSize() throws RemoteException {
|
||||||
|
return debugger.getHeapOopSize();
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getNarrowKlassBase() throws RemoteException {
|
||||||
|
return debugger.getNarrowKlassBase();
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getNarrowKlassShift() throws RemoteException {
|
||||||
|
return debugger.getNarrowKlassShift();
|
||||||
|
}
|
||||||
|
|
||||||
public boolean areThreadsEqual(long addrOrId1, boolean isAddress1,
|
public boolean areThreadsEqual(long addrOrId1, boolean isAddress1,
|
||||||
long addrOrId2, boolean isAddress2) throws RemoteException {
|
long addrOrId2, boolean isAddress2) throws RemoteException {
|
||||||
ThreadProxy t1 = getThreadProxy(addrOrId1, isAddress1);
|
ThreadProxy t1 = getThreadProxy(addrOrId1, isAddress1);
|
||||||
|
@ -76,6 +76,10 @@ class WindbgAddress implements Address {
|
|||||||
return debugger.readCompOopAddress(addr + offset);
|
return debugger.readCompOopAddress(addr + offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Address getCompKlassAddressAt(long offset) throws UnalignedAddressException, UnmappedAddressException {
|
||||||
|
return debugger.readCompKlassAddress(addr + offset);
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Java-related routines
|
// Java-related routines
|
||||||
//
|
//
|
||||||
|
@ -46,6 +46,7 @@ public interface WindbgDebugger extends JVMDebugger {
|
|||||||
throws DebuggerException;
|
throws DebuggerException;
|
||||||
public WindbgAddress readAddress(long address) throws DebuggerException;
|
public WindbgAddress readAddress(long address) throws DebuggerException;
|
||||||
public WindbgAddress readCompOopAddress(long address) throws DebuggerException;
|
public WindbgAddress readCompOopAddress(long address) throws DebuggerException;
|
||||||
|
public WindbgAddress readCompKlassAddress(long address) throws DebuggerException;
|
||||||
public WindbgOopHandle readOopHandle(long address) throws DebuggerException;
|
public WindbgOopHandle readOopHandle(long address) throws DebuggerException;
|
||||||
public WindbgOopHandle readCompOopHandle(long address) throws DebuggerException;
|
public WindbgOopHandle readCompOopHandle(long address) throws DebuggerException;
|
||||||
|
|
||||||
|
@ -321,6 +321,11 @@ public class WindbgDebuggerLocal extends DebuggerBase implements WindbgDebugger
|
|||||||
return (WindbgAddress) newAddress(readCompOopAddressValue(address));
|
return (WindbgAddress) newAddress(readCompOopAddressValue(address));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public WindbgAddress readCompKlassAddress(long address)
|
||||||
|
throws UnmappedAddressException, UnalignedAddressException {
|
||||||
|
return (WindbgAddress) newAddress(readCompKlassAddressValue(address));
|
||||||
|
}
|
||||||
|
|
||||||
/** From the WindbgDebugger interface */
|
/** From the WindbgDebugger interface */
|
||||||
public WindbgOopHandle readOopHandle(long address)
|
public WindbgOopHandle readOopHandle(long address)
|
||||||
throws UnmappedAddressException, UnalignedAddressException, NotInHeapException {
|
throws UnmappedAddressException, UnalignedAddressException, NotInHeapException {
|
||||||
|
@ -53,6 +53,8 @@ public class Universe {
|
|||||||
|
|
||||||
private static AddressField narrowOopBaseField;
|
private static AddressField narrowOopBaseField;
|
||||||
private static CIntegerField narrowOopShiftField;
|
private static CIntegerField narrowOopShiftField;
|
||||||
|
private static AddressField narrowKlassBaseField;
|
||||||
|
private static CIntegerField narrowKlassShiftField;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
VM.registerVMInitializedObserver(new Observer() {
|
VM.registerVMInitializedObserver(new Observer() {
|
||||||
@ -86,6 +88,8 @@ public class Universe {
|
|||||||
|
|
||||||
narrowOopBaseField = type.getAddressField("_narrow_oop._base");
|
narrowOopBaseField = type.getAddressField("_narrow_oop._base");
|
||||||
narrowOopShiftField = type.getCIntegerField("_narrow_oop._shift");
|
narrowOopShiftField = type.getCIntegerField("_narrow_oop._shift");
|
||||||
|
narrowKlassBaseField = type.getAddressField("_narrow_klass._base");
|
||||||
|
narrowKlassShiftField = type.getCIntegerField("_narrow_klass._shift");
|
||||||
}
|
}
|
||||||
|
|
||||||
public Universe() {
|
public Universe() {
|
||||||
@ -111,6 +115,19 @@ public class Universe {
|
|||||||
return (int)narrowOopShiftField.getValue();
|
return (int)narrowOopShiftField.getValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static long getNarrowKlassBase() {
|
||||||
|
if (narrowKlassBaseField.getValue() == null) {
|
||||||
|
return 0;
|
||||||
|
} else {
|
||||||
|
return narrowKlassBaseField.getValue().minus(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int getNarrowKlassShift() {
|
||||||
|
return (int)narrowKlassShiftField.getValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Returns "TRUE" iff "p" points into the allocated area of the heap. */
|
/** Returns "TRUE" iff "p" points into the allocated area of the heap. */
|
||||||
public boolean isIn(Address p) {
|
public boolean isIn(Address p) {
|
||||||
return heap().isIn(p);
|
return heap().isIn(p);
|
||||||
|
@ -59,7 +59,7 @@ public class Array extends Oop {
|
|||||||
if (headerSize != 0) {
|
if (headerSize != 0) {
|
||||||
return headerSize;
|
return headerSize;
|
||||||
}
|
}
|
||||||
if (VM.getVM().isCompressedHeadersEnabled()) {
|
if (VM.getVM().isCompressedKlassPointersEnabled()) {
|
||||||
headerSize = typeSize;
|
headerSize = typeSize;
|
||||||
} else {
|
} else {
|
||||||
headerSize = VM.getVM().alignUp(typeSize + VM.getVM().getIntSize(),
|
headerSize = VM.getVM().alignUp(typeSize + VM.getVM().getIntSize(),
|
||||||
@ -80,7 +80,7 @@ public class Array extends Oop {
|
|||||||
if (lengthOffsetInBytes != 0) {
|
if (lengthOffsetInBytes != 0) {
|
||||||
return lengthOffsetInBytes;
|
return lengthOffsetInBytes;
|
||||||
}
|
}
|
||||||
if (VM.getVM().isCompressedHeadersEnabled()) {
|
if (VM.getVM().isCompressedKlassPointersEnabled()) {
|
||||||
lengthOffsetInBytes = typeSize - VM.getVM().getIntSize();
|
lengthOffsetInBytes = typeSize - VM.getVM().getIntSize();
|
||||||
} else {
|
} else {
|
||||||
lengthOffsetInBytes = typeSize;
|
lengthOffsetInBytes = typeSize;
|
||||||
|
@ -44,7 +44,7 @@ public class ArrayKlass extends Klass {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static synchronized void initialize(TypeDataBase db) throws WrongTypeException {
|
private static synchronized void initialize(TypeDataBase db) throws WrongTypeException {
|
||||||
Type type = db.lookupType("arrayKlass");
|
Type type = db.lookupType("ArrayKlass");
|
||||||
dimension = new CIntField(type.getCIntegerField("_dimension"), 0);
|
dimension = new CIntField(type.getCIntegerField("_dimension"), 0);
|
||||||
higherDimension = new MetadataField(type.getAddressField("_higher_dimension"), 0);
|
higherDimension = new MetadataField(type.getAddressField("_higher_dimension"), 0);
|
||||||
lowerDimension = new MetadataField(type.getAddressField("_lower_dimension"), 0);
|
lowerDimension = new MetadataField(type.getAddressField("_lower_dimension"), 0);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -53,7 +53,7 @@ public class Instance extends Oop {
|
|||||||
|
|
||||||
// Returns header size in bytes.
|
// Returns header size in bytes.
|
||||||
public static long getHeaderSize() {
|
public static long getHeaderSize() {
|
||||||
if (VM.getVM().isCompressedHeadersEnabled()) {
|
if (VM.getVM().isCompressedKlassPointersEnabled()) {
|
||||||
return typeSize - VM.getVM().getIntSize();
|
return typeSize - VM.getVM().getIntSize();
|
||||||
} else {
|
} else {
|
||||||
return typeSize;
|
return typeSize;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -188,11 +188,11 @@ public class Klass extends Metadata implements ClassConstants {
|
|||||||
public Klass arrayKlassOrNull() { return arrayKlassImpl(true); }
|
public Klass arrayKlassOrNull() { return arrayKlassImpl(true); }
|
||||||
|
|
||||||
public Klass arrayKlassImpl(boolean orNull, int rank) {
|
public Klass arrayKlassImpl(boolean orNull, int rank) {
|
||||||
throw new RuntimeException("array_klass should be dispatched to InstanceKlass, objArrayKlass or typeArrayKlass");
|
throw new RuntimeException("array_klass should be dispatched to InstanceKlass, ObjArrayKlass or TypeArrayKlass");
|
||||||
}
|
}
|
||||||
|
|
||||||
public Klass arrayKlassImpl(boolean orNull) {
|
public Klass arrayKlassImpl(boolean orNull) {
|
||||||
throw new RuntimeException("array_klass should be dispatched to InstanceKlass, objArrayKlass or typeArrayKlass");
|
throw new RuntimeException("array_klass should be dispatched to InstanceKlass, ObjArrayKlass or TypeArrayKlass");
|
||||||
}
|
}
|
||||||
|
|
||||||
// This returns the name in the form java/lang/String which isn't really a signature
|
// This returns the name in the form java/lang/String which isn't really a signature
|
||||||
|
@ -55,8 +55,8 @@ abstract public class Metadata extends VMObject {
|
|||||||
metadataConstructor.addMapping("InstanceMirrorKlass", InstanceMirrorKlass.class);
|
metadataConstructor.addMapping("InstanceMirrorKlass", InstanceMirrorKlass.class);
|
||||||
metadataConstructor.addMapping("InstanceRefKlass", InstanceRefKlass.class);
|
metadataConstructor.addMapping("InstanceRefKlass", InstanceRefKlass.class);
|
||||||
metadataConstructor.addMapping("InstanceClassLoaderKlass", InstanceClassLoaderKlass.class);
|
metadataConstructor.addMapping("InstanceClassLoaderKlass", InstanceClassLoaderKlass.class);
|
||||||
metadataConstructor.addMapping("typeArrayKlass", TypeArrayKlass.class);
|
metadataConstructor.addMapping("TypeArrayKlass", TypeArrayKlass.class);
|
||||||
metadataConstructor.addMapping("objArrayKlass", ObjArrayKlass.class);
|
metadataConstructor.addMapping("ObjArrayKlass", ObjArrayKlass.class);
|
||||||
metadataConstructor.addMapping("Method", Method.class);
|
metadataConstructor.addMapping("Method", Method.class);
|
||||||
metadataConstructor.addMapping("MethodData", MethodData.class);
|
metadataConstructor.addMapping("MethodData", MethodData.class);
|
||||||
metadataConstructor.addMapping("ConstMethod", ConstMethod.class);
|
metadataConstructor.addMapping("ConstMethod", ConstMethod.class);
|
||||||
|
@ -27,7 +27,6 @@ package sun.jvm.hotspot.oops;
|
|||||||
import sun.jvm.hotspot.runtime.VMObject;
|
import sun.jvm.hotspot.runtime.VMObject;
|
||||||
import sun.jvm.hotspot.debugger.*;
|
import sun.jvm.hotspot.debugger.*;
|
||||||
|
|
||||||
// The class for an C int field simply provides access to the value.
|
|
||||||
public class MetadataField extends Field {
|
public class MetadataField extends Field {
|
||||||
|
|
||||||
public MetadataField(sun.jvm.hotspot.types.AddressField vmField, long startOffset) {
|
public MetadataField(sun.jvm.hotspot.types.AddressField vmField, long startOffset) {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -0,0 +1,41 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
package sun.jvm.hotspot.oops;
|
||||||
|
|
||||||
|
import sun.jvm.hotspot.debugger.*;
|
||||||
|
|
||||||
|
public class NarrowKlassField extends MetadataField {
|
||||||
|
|
||||||
|
public NarrowKlassField(sun.jvm.hotspot.types.AddressField vmField, long startOffset) {
|
||||||
|
super(vmField, startOffset);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Metadata getValue(Address addr) {
|
||||||
|
return Metadata.instantiateWrapperFor(addr.getCompKlassAddressAt(getOffset()));
|
||||||
|
}
|
||||||
|
public void setValue(Oop obj, long value) throws MutationException {
|
||||||
|
// Fix this: set* missing in Address
|
||||||
|
}
|
||||||
|
}
|
@ -43,7 +43,7 @@ public class ObjArrayKlass extends ArrayKlass {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static synchronized void initialize(TypeDataBase db) throws WrongTypeException {
|
private static synchronized void initialize(TypeDataBase db) throws WrongTypeException {
|
||||||
Type type = db.lookupType("objArrayKlass");
|
Type type = db.lookupType("ObjArrayKlass");
|
||||||
elementKlass = new MetadataField(type.getAddressField("_element_klass"), 0);
|
elementKlass = new MetadataField(type.getAddressField("_element_klass"), 0);
|
||||||
bottomKlass = new MetadataField(type.getAddressField("_bottom_klass"), 0);
|
bottomKlass = new MetadataField(type.getAddressField("_bottom_klass"), 0);
|
||||||
}
|
}
|
||||||
|
@ -47,10 +47,7 @@ public class Oop {
|
|||||||
Type type = db.lookupType("oopDesc");
|
Type type = db.lookupType("oopDesc");
|
||||||
mark = new CIntField(type.getCIntegerField("_mark"), 0);
|
mark = new CIntField(type.getCIntegerField("_mark"), 0);
|
||||||
klass = new MetadataField(type.getAddressField("_metadata._klass"), 0);
|
klass = new MetadataField(type.getAddressField("_metadata._klass"), 0);
|
||||||
if (VM.getVM().isCompressedHeadersEnabled()) {
|
compressedKlass = new NarrowKlassField(type.getAddressField("_metadata._compressed_klass"), 0);
|
||||||
// compressedKlass = new CIntField(type.getCIntegerField("_metadata._compressed_klass"), 0);
|
|
||||||
throw new InternalError("unimplemented");
|
|
||||||
}
|
|
||||||
headerSize = type.getSize();
|
headerSize = type.getSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -74,13 +71,13 @@ public class Oop {
|
|||||||
|
|
||||||
private static CIntField mark;
|
private static CIntField mark;
|
||||||
private static MetadataField klass;
|
private static MetadataField klass;
|
||||||
private static CIntField compressedKlass;
|
private static NarrowKlassField compressedKlass;
|
||||||
|
|
||||||
// Accessors for declared fields
|
// Accessors for declared fields
|
||||||
public Mark getMark() { return new Mark(getHandle()); }
|
public Mark getMark() { return new Mark(getHandle()); }
|
||||||
public Klass getKlass() {
|
public Klass getKlass() {
|
||||||
if (VM.getVM().isCompressedHeadersEnabled()) {
|
if (VM.getVM().isCompressedKlassPointersEnabled()) {
|
||||||
throw new InternalError("unimplemented");
|
return (Klass)compressedKlass.getValue(getHandle());
|
||||||
} else {
|
} else {
|
||||||
return (Klass)klass.getValue(getHandle());
|
return (Klass)klass.getValue(getHandle());
|
||||||
}
|
}
|
||||||
@ -150,7 +147,7 @@ public class Oop {
|
|||||||
void iterateFields(OopVisitor visitor, boolean doVMFields) {
|
void iterateFields(OopVisitor visitor, boolean doVMFields) {
|
||||||
if (doVMFields) {
|
if (doVMFields) {
|
||||||
visitor.doCInt(mark, true);
|
visitor.doCInt(mark, true);
|
||||||
if (VM.getVM().isCompressedHeadersEnabled()) {
|
if (VM.getVM().isCompressedKlassPointersEnabled()) {
|
||||||
throw new InternalError("unimplemented");
|
throw new InternalError("unimplemented");
|
||||||
} else {
|
} else {
|
||||||
visitor.doMetadata(klass, true);
|
visitor.doMetadata(klass, true);
|
||||||
@ -210,8 +207,8 @@ public class Oop {
|
|||||||
if (handle == null) {
|
if (handle == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if (VM.getVM().isCompressedHeadersEnabled()) {
|
if (VM.getVM().isCompressedKlassPointersEnabled()) {
|
||||||
throw new InternalError("Unimplemented");
|
return (Klass)Metadata.instantiateWrapperFor(handle.getCompKlassAddressAt(compressedKlass.getOffset()));
|
||||||
} else {
|
} else {
|
||||||
return (Klass)Metadata.instantiateWrapperFor(handle.getAddressAt(klass.getOffset()));
|
return (Klass)Metadata.instantiateWrapperFor(handle.getAddressAt(klass.getOffset()));
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ import sun.jvm.hotspot.runtime.*;
|
|||||||
import sun.jvm.hotspot.types.*;
|
import sun.jvm.hotspot.types.*;
|
||||||
import sun.jvm.hotspot.utilities.*;
|
import sun.jvm.hotspot.utilities.*;
|
||||||
|
|
||||||
// TypeArrayKlass is a proxy for typeArrayKlass in the JVM
|
// TypeArrayKlass is a proxy for TypeArrayKlass in the JVM
|
||||||
|
|
||||||
public class TypeArrayKlass extends ArrayKlass {
|
public class TypeArrayKlass extends ArrayKlass {
|
||||||
static {
|
static {
|
||||||
@ -43,7 +43,7 @@ public class TypeArrayKlass extends ArrayKlass {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static synchronized void initialize(TypeDataBase db) throws WrongTypeException {
|
private static synchronized void initialize(TypeDataBase db) throws WrongTypeException {
|
||||||
Type t = db.lookupType("typeArrayKlass");
|
Type t = db.lookupType("TypeArrayKlass");
|
||||||
maxLength = new CIntField(t.getCIntegerField("_max_length"), 0);
|
maxLength = new CIntField(t.getCIntegerField("_max_length"), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -63,12 +63,8 @@ public class java_lang_Class {
|
|||||||
|
|
||||||
/** get Klass* field at offset hc_klass_offset from a java.lang.Class object */
|
/** get Klass* field at offset hc_klass_offset from a java.lang.Class object */
|
||||||
public static Klass asKlass(Oop aClass) {
|
public static Klass asKlass(Oop aClass) {
|
||||||
if (VM.getVM().isCompressedHeadersEnabled()) {
|
|
||||||
throw new InternalError("unimplemented");
|
|
||||||
} else {
|
|
||||||
return (Klass)Metadata.instantiateWrapperFor(aClass.getHandle().getAddressAt(klassOffset));
|
return (Klass)Metadata.instantiateWrapperFor(aClass.getHandle().getAddressAt(klassOffset));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/** get oop_size field at offset oop_size_offset from a java.lang.Class object */
|
/** get oop_size field at offset oop_size_offset from a java.lang.Class object */
|
||||||
public static long getOopSize(Oop aClass) {
|
public static long getOopSize(Oop aClass) {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -103,6 +103,7 @@ public class VM {
|
|||||||
private int logMinObjAlignmentInBytes;
|
private int logMinObjAlignmentInBytes;
|
||||||
private int heapWordSize;
|
private int heapWordSize;
|
||||||
private int heapOopSize;
|
private int heapOopSize;
|
||||||
|
private int klassPtrSize;
|
||||||
private int oopSize;
|
private int oopSize;
|
||||||
/** This is only present in a non-core build */
|
/** This is only present in a non-core build */
|
||||||
private CodeCache codeCache;
|
private CodeCache codeCache;
|
||||||
@ -129,7 +130,7 @@ public class VM {
|
|||||||
private static CIntegerType boolType;
|
private static CIntegerType boolType;
|
||||||
private Boolean sharingEnabled;
|
private Boolean sharingEnabled;
|
||||||
private Boolean compressedOopsEnabled;
|
private Boolean compressedOopsEnabled;
|
||||||
private Boolean compressedHeadersEnabled;
|
private Boolean compressedKlassPointersEnabled;
|
||||||
|
|
||||||
// command line flags supplied to VM - see struct Flag in globals.hpp
|
// command line flags supplied to VM - see struct Flag in globals.hpp
|
||||||
public static final class Flag {
|
public static final class Flag {
|
||||||
@ -350,6 +351,12 @@ public class VM {
|
|||||||
} else {
|
} else {
|
||||||
heapOopSize = (int)getOopSize();
|
heapOopSize = (int)getOopSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isCompressedKlassPointersEnabled()) {
|
||||||
|
klassPtrSize = (int)getIntSize();
|
||||||
|
} else {
|
||||||
|
klassPtrSize = (int)getOopSize(); // same as an oop
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** This could be used by a reflective runtime system */
|
/** This could be used by a reflective runtime system */
|
||||||
@ -374,8 +381,9 @@ public class VM {
|
|||||||
((Observer) iter.next()).update(null, null);
|
((Observer) iter.next()).update(null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
debugger.putHeapConst(soleInstance.getHeapOopSize(), Universe.getNarrowOopBase(),
|
debugger.putHeapConst(soleInstance.getHeapOopSize(), soleInstance.getKlassPtrSize(),
|
||||||
Universe.getNarrowOopShift());
|
Universe.getNarrowOopBase(), Universe.getNarrowOopShift(),
|
||||||
|
Universe.getNarrowKlassBase(), Universe.getNarrowKlassShift());
|
||||||
}
|
}
|
||||||
|
|
||||||
/** This is used by the debugging system */
|
/** This is used by the debugging system */
|
||||||
@ -536,6 +544,10 @@ public class VM {
|
|||||||
public int getHeapOopSize() {
|
public int getHeapOopSize() {
|
||||||
return heapOopSize;
|
return heapOopSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getKlassPtrSize() {
|
||||||
|
return klassPtrSize;
|
||||||
|
}
|
||||||
/** Utility routine for getting data structure alignment correct */
|
/** Utility routine for getting data structure alignment correct */
|
||||||
public long alignUp(long size, long alignment) {
|
public long alignUp(long size, long alignment) {
|
||||||
return (size + alignment - 1) & ~(alignment - 1);
|
return (size + alignment - 1) & ~(alignment - 1);
|
||||||
@ -784,13 +796,13 @@ public class VM {
|
|||||||
return compressedOopsEnabled.booleanValue();
|
return compressedOopsEnabled.booleanValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isCompressedHeadersEnabled() {
|
public boolean isCompressedKlassPointersEnabled() {
|
||||||
if (compressedHeadersEnabled == null) {
|
if (compressedKlassPointersEnabled == null) {
|
||||||
Flag flag = getCommandLineFlag("UseCompressedHeaders");
|
Flag flag = getCommandLineFlag("UseCompressedKlassPointers");
|
||||||
compressedHeadersEnabled = (flag == null) ? Boolean.FALSE:
|
compressedKlassPointersEnabled = (flag == null) ? Boolean.FALSE:
|
||||||
(flag.getBool()? Boolean.TRUE: Boolean.FALSE);
|
(flag.getBool()? Boolean.TRUE: Boolean.FALSE);
|
||||||
}
|
}
|
||||||
return compressedHeadersEnabled.booleanValue();
|
return compressedKlassPointersEnabled.booleanValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getObjectAlignmentInBytes() {
|
public int getObjectAlignmentInBytes() {
|
||||||
|
@ -354,15 +354,14 @@ public class ClassWriter implements /* imports */ ClassConstants
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void writeFields() throws IOException {
|
protected void writeFields() throws IOException {
|
||||||
U2Array fields = klass.getFields();
|
final int javaFieldsCount = klass.getJavaFieldsCount();
|
||||||
final int length = (int) fields.length();
|
|
||||||
|
|
||||||
// write number of fields
|
// write number of fields
|
||||||
dos.writeShort((short) length);
|
dos.writeShort((short) javaFieldsCount);
|
||||||
|
|
||||||
if (DEBUG) debugMessage("number of fields = " + length);
|
if (DEBUG) debugMessage("number of fields = " + javaFieldsCount);
|
||||||
|
|
||||||
for (int index = 0; index < length; index++) {
|
for (int index = 0; index < javaFieldsCount; index++) {
|
||||||
short accessFlags = klass.getFieldAccessFlags(index);
|
short accessFlags = klass.getFieldAccessFlags(index);
|
||||||
dos.writeShort(accessFlags & (short) JVM_RECOGNIZED_FIELD_MODIFIERS);
|
dos.writeShort(accessFlags & (short) JVM_RECOGNIZED_FIELD_MODIFIERS);
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -53,9 +53,8 @@ public class RobustOopDeterminator {
|
|||||||
private static void initialize(TypeDataBase db) {
|
private static void initialize(TypeDataBase db) {
|
||||||
Type type = db.lookupType("oopDesc");
|
Type type = db.lookupType("oopDesc");
|
||||||
|
|
||||||
if (VM.getVM().isCompressedHeadersEnabled()) {
|
if (VM.getVM().isCompressedKlassPointersEnabled()) {
|
||||||
// klassField = type.getNarrowOopField("_metadata._compressed_klass");
|
klassField = type.getAddressField("_metadata._compressed_klass");
|
||||||
throw new InternalError("unimplemented");
|
|
||||||
} else {
|
} else {
|
||||||
klassField = type.getAddressField("_metadata._klass");
|
klassField = type.getAddressField("_metadata._klass");
|
||||||
}
|
}
|
||||||
@ -70,7 +69,11 @@ public class RobustOopDeterminator {
|
|||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
// Try to instantiate the Klass
|
// Try to instantiate the Klass
|
||||||
|
if (VM.getVM().isCompressedKlassPointersEnabled()) {
|
||||||
|
Metadata.instantiateWrapperFor(oop.getCompKlassAddressAt(klassField.getOffset()));
|
||||||
|
} else {
|
||||||
Metadata.instantiateWrapperFor(klassField.getValue(oop));
|
Metadata.instantiateWrapperFor(klassField.getValue(oop));
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
catch (AddressException e) {
|
catch (AddressException e) {
|
||||||
|
@ -46,7 +46,7 @@
|
|||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#include <strings.h>
|
#include <string.h>
|
||||||
#include <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
#include <link.h>
|
#include <link.h>
|
||||||
|
|
||||||
|
@ -76,6 +76,8 @@ endif
|
|||||||
|
|
||||||
include $(GAMMADIR)/make/altsrc.make
|
include $(GAMMADIR)/make/altsrc.make
|
||||||
|
|
||||||
|
-include $(HS_ALT_MAKE)/Makefile.make
|
||||||
|
|
||||||
ifneq ($(ALT_OUTPUTDIR),)
|
ifneq ($(ALT_OUTPUTDIR),)
|
||||||
ALT_OUT=ALT_OUTPUTDIR=$(ALT_OUTPUTDIR)
|
ALT_OUT=ALT_OUTPUTDIR=$(ALT_OUTPUTDIR)
|
||||||
else
|
else
|
||||||
@ -88,16 +90,23 @@ C2_VM_TARGETS=product fastdebug optimized jvmg
|
|||||||
KERNEL_VM_TARGETS=productkernel fastdebugkernel optimizedkernel jvmgkernel
|
KERNEL_VM_TARGETS=productkernel fastdebugkernel optimizedkernel jvmgkernel
|
||||||
ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero jvmgzero
|
ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero jvmgzero
|
||||||
SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark jvmgshark
|
SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark jvmgshark
|
||||||
|
MINIMAL1_VM_TARGETS=productminimal1 fastdebugminimal1 jvmgminimal1
|
||||||
|
|
||||||
COMMON_VM_PRODUCT_TARGETS=product product1 productkernel docs export_product
|
COMMON_VM_PRODUCT_TARGETS=product product1 docs export_product
|
||||||
COMMON_VM_FASTDEBUG_TARGETS=fastdebug fastdebug1 fastdebugkernel docs export_fastdebug
|
COMMON_VM_FASTDEBUG_TARGETS=fastdebug fastdebug1 docs export_fastdebug
|
||||||
COMMON_VM_DEBUG_TARGETS=jvmg jvmg1 jvmgkernel docs export_debug
|
COMMON_VM_DEBUG_TARGETS=jvmg jvmg1 docs export_debug
|
||||||
|
|
||||||
# JDK directory list
|
# JDK directory list
|
||||||
JDK_DIRS=bin include jre lib demo
|
JDK_DIRS=bin include jre lib demo
|
||||||
|
|
||||||
all: all_product all_fastdebug
|
all: all_product all_fastdebug
|
||||||
|
|
||||||
|
ifeq ($(JVM_VARIANT_MINIMAL1),true)
|
||||||
|
all_product: productminimal1
|
||||||
|
all_fastdebug: fastdebugminimal1
|
||||||
|
all_debug: jvmgminimal1
|
||||||
|
endif
|
||||||
|
|
||||||
ifdef BUILD_CLIENT_ONLY
|
ifdef BUILD_CLIENT_ONLY
|
||||||
all_product: product1 docs export_product
|
all_product: product1 docs export_product
|
||||||
all_fastdebug: fastdebug1 docs export_fastdebug
|
all_fastdebug: fastdebug1 docs export_fastdebug
|
||||||
@ -114,7 +123,7 @@ all_debug: $(COMMON_VM_DEBUG_TARGETS)
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
all_optimized: optimized optimized1 optimizedkernel docs export_optimized
|
all_optimized: optimized optimized1 docs export_optimized
|
||||||
|
|
||||||
allzero: all_productzero all_fastdebugzero
|
allzero: all_productzero all_fastdebugzero
|
||||||
all_productzero: productzero docs export_product
|
all_productzero: productzero docs export_product
|
||||||
@ -167,6 +176,11 @@ $(SHARK_VM_TARGETS):
|
|||||||
$(MAKE) BUILD_FLAVOR=$(@:%shark=%) VM_TARGET=$@ \
|
$(MAKE) BUILD_FLAVOR=$(@:%shark=%) VM_TARGET=$@ \
|
||||||
generic_buildshark $(ALT_OUT)
|
generic_buildshark $(ALT_OUT)
|
||||||
|
|
||||||
|
$(MINIMAL1_VM_TARGETS):
|
||||||
|
$(CD) $(GAMMADIR)/make; \
|
||||||
|
$(MAKE) BUILD_FLAVOR=$(@:%minimal1=%) VM_TARGET=$@ \
|
||||||
|
generic_buildminimal1 $(ALT_OUT)
|
||||||
|
|
||||||
# Build compiler1 (client) rule, different for platforms
|
# Build compiler1 (client) rule, different for platforms
|
||||||
generic_build1:
|
generic_build1:
|
||||||
$(MKDIR) -p $(OUTPUTDIR)
|
$(MKDIR) -p $(OUTPUTDIR)
|
||||||
@ -239,6 +253,27 @@ generic_buildshark:
|
|||||||
$(MAKE) -f $(ABS_OS_MAKEFILE) \
|
$(MAKE) -f $(ABS_OS_MAKEFILE) \
|
||||||
$(MAKE_ARGS) $(VM_TARGET)
|
$(MAKE_ARGS) $(VM_TARGET)
|
||||||
|
|
||||||
|
generic_buildminimal1:
|
||||||
|
ifeq ($(JVM_VARIANT_MINIMAL1),true)
|
||||||
|
$(MKDIR) -p $(OUTPUTDIR)
|
||||||
|
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||||
|
ifeq ($(OSNAME),windows)
|
||||||
|
$(ECHO) "No ($(VM_TARGET)) for $(OSNAME) ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)" ;
|
||||||
|
else
|
||||||
|
ifeq ($(OSNAME),solaris)
|
||||||
|
$(ECHO) "No ($(VM_TARGET)) for $(OSNAME) ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)" ;
|
||||||
|
else
|
||||||
|
$(CD) $(OUTPUTDIR); \
|
||||||
|
$(MAKE) -f $(ABS_OS_MAKEFILE) $(MAKE_ARGS) $(VM_TARGET) ;
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
@$(ECHO) "No ($(VM_TARGET)) for $(OSNAME) ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)"
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
@$(ECHO) "Error: trying to build a minimal target but JVM_VARIANT_MINIMAL1 is not true."
|
||||||
|
endif
|
||||||
|
|
||||||
# Export file rule
|
# Export file rule
|
||||||
generic_export: $(EXPORT_LIST)
|
generic_export: $(EXPORT_LIST)
|
||||||
export_product:
|
export_product:
|
||||||
@ -287,6 +322,8 @@ C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR)
|
|||||||
KERNEL_DIR=$(KERNEL_BASE_DIR)/$(VM_SUBDIR)
|
KERNEL_DIR=$(KERNEL_BASE_DIR)/$(VM_SUBDIR)
|
||||||
ZERO_DIR=$(ZERO_BASE_DIR)/$(VM_SUBDIR)
|
ZERO_DIR=$(ZERO_BASE_DIR)/$(VM_SUBDIR)
|
||||||
SHARK_DIR=$(SHARK_BASE_DIR)/$(VM_SUBDIR)
|
SHARK_DIR=$(SHARK_BASE_DIR)/$(VM_SUBDIR)
|
||||||
|
MINIMAL1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_minimal1
|
||||||
|
MINIMAL1_DIR=$(MINIMAL1_BASE_DIR)/$(VM_SUBDIR)
|
||||||
|
|
||||||
ifeq ($(JVM_VARIANT_SERVER), true)
|
ifeq ($(JVM_VARIANT_SERVER), true)
|
||||||
MISC_DIR=$(C2_DIR)
|
MISC_DIR=$(C2_DIR)
|
||||||
@ -308,6 +345,10 @@ ifeq ($(JVM_VARIANT_ZERO), true)
|
|||||||
MISC_DIR=$(ZERO_DIR)
|
MISC_DIR=$(ZERO_DIR)
|
||||||
GEN_DIR=$(ZERO_BASE_DIR)/generated
|
GEN_DIR=$(ZERO_BASE_DIR)/generated
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(JVM_VARIANT_MINIMAL1), true)
|
||||||
|
MISC_DIR=$(MINIMAL1_DIR)
|
||||||
|
GEN_DIR=$(MINIMAL1_BASE_DIR)/generated
|
||||||
|
endif
|
||||||
|
|
||||||
# Bin files (windows)
|
# Bin files (windows)
|
||||||
ifeq ($(OSNAME),windows)
|
ifeq ($(OSNAME),windows)
|
||||||
@ -357,6 +398,16 @@ $(EXPORT_KERNEL_DIR)/%.map: $(KERNEL_DIR)/%.map
|
|||||||
$(install-file)
|
$(install-file)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Minimal JVM files always come from minimal area
|
||||||
|
$(EXPORT_MINIMAL_DIR)/%.diz: $(MINIMAL1_DIR)/%.diz
|
||||||
|
$(install-file)
|
||||||
|
$(EXPORT_MINIMAL_DIR)/%.dll: $(MINIMAL1_DIR)/%.dll
|
||||||
|
$(install-file)
|
||||||
|
$(EXPORT_MINIMAL_DIR)/%.pdb: $(MINIMAL1_DIR)/%.pdb
|
||||||
|
$(install-file)
|
||||||
|
$(EXPORT_MINIMAL_DIR)/%.map: $(MINIMAL1_DIR)/%.map
|
||||||
|
$(install-file)
|
||||||
|
|
||||||
# Shared Library
|
# Shared Library
|
||||||
ifneq ($(OSNAME),windows)
|
ifneq ($(OSNAME),windows)
|
||||||
ifeq ($(JVM_VARIANT_SERVER), true)
|
ifeq ($(JVM_VARIANT_SERVER), true)
|
||||||
@ -411,6 +462,26 @@ ifneq ($(OSNAME),windows)
|
|||||||
$(EXPORT_SERVER_DIR)/%.$(LIBRARY_SUFFIX): $(ZERO_DIR)/%.$(LIBRARY_SUFFIX)
|
$(EXPORT_SERVER_DIR)/%.$(LIBRARY_SUFFIX): $(ZERO_DIR)/%.$(LIBRARY_SUFFIX)
|
||||||
$(install-file)
|
$(install-file)
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(JVM_VARIANT_MINIMAL1), true)
|
||||||
|
$(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(MINIMAL1_DIR)/%.$(LIBRARY_SUFFIX)
|
||||||
|
$(install-file)
|
||||||
|
$(EXPORT_MINIMAL_DIR)/%.$(LIBRARY_SUFFIX): $(MINIMAL1_DIR)/%.$(LIBRARY_SUFFIX)
|
||||||
|
$(install-file)
|
||||||
|
$(EXPORT_MINIMAL_DIR)/64/%.$(LIBRARY_SUFFIX): $(MINIMAL1_DIR)/%.$(LIBRARY_SUFFIX)
|
||||||
|
$(install-file)
|
||||||
|
$(EXPORT_JRE_LIB_ARCH_DIR)/%.debuginfo: $(MINIMAL1_DIR)/%.debuginfo
|
||||||
|
$(install-file)
|
||||||
|
$(EXPORT_MINIMAL_DIR)/%.debuginfo: $(MINIMAL1_DIR)/%.debuginfo
|
||||||
|
$(install-file)
|
||||||
|
$(EXPORT_MINIMAL_DIR)/64/%.debuginfo: $(MINIMAL1_DIR)/%.debuginfo
|
||||||
|
$(install-file)
|
||||||
|
$(EXPORT_JRE_LIB_ARCH_DIR)/%.diz: $(MINIMAL1_DIR)/%.diz
|
||||||
|
$(install-file)
|
||||||
|
$(EXPORT_MINIMAL_DIR)/%.diz: $(MINIMAL1_DIR)/%.diz
|
||||||
|
$(install-file)
|
||||||
|
$(EXPORT_MINIMAL_DIR)/64/%.diz: $(MINIMAL1_DIR)/%.diz
|
||||||
|
$(install-file)
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Jar file (sa-jdi.jar)
|
# Jar file (sa-jdi.jar)
|
||||||
@ -451,7 +522,7 @@ $(EXPORT_DOCS_DIR)/platform/jvmti/%: $(DOCS_DIR)/%
|
|||||||
$(install-file)
|
$(install-file)
|
||||||
|
|
||||||
# Xusage file
|
# Xusage file
|
||||||
$(EXPORT_SERVER_DIR)/Xusage.txt $(EXPORT_CLIENT_DIR)/Xusage.txt $(EXPORT_KERNEL_DIR)/Xusage.txt: $(XUSAGE)
|
$(EXPORT_SERVER_DIR)/Xusage.txt $(EXPORT_CLIENT_DIR)/Xusage.txt $(EXPORT_KERNEL_DIR)/Xusage.txt $(EXPORT_MINIMAL_DIR)/Xusage.txt: $(XUSAGE)
|
||||||
$(prep-target)
|
$(prep-target)
|
||||||
$(RM) $@.temp
|
$(RM) $@.temp
|
||||||
$(SED) 's/\(separated by \)[;:]/\1$(PATH_SEP)/g' $< > $@.temp
|
$(SED) 's/\(separated by \)[;:]/\1$(PATH_SEP)/g' $< > $@.temp
|
||||||
@ -467,6 +538,7 @@ clean_build:
|
|||||||
$(RM) -r $(KERNEL_DIR)
|
$(RM) -r $(KERNEL_DIR)
|
||||||
$(RM) -r $(ZERO_DIR)
|
$(RM) -r $(ZERO_DIR)
|
||||||
$(RM) -r $(SHARK_DIR)
|
$(RM) -r $(SHARK_DIR)
|
||||||
|
$(RM) -r $(MINIMAL1_DIR)
|
||||||
clean_export:
|
clean_export:
|
||||||
$(RM) -r $(EXPORT_PATH)
|
$(RM) -r $(EXPORT_PATH)
|
||||||
clean_jdk:
|
clean_jdk:
|
||||||
@ -574,10 +646,11 @@ target_help:
|
|||||||
@$(ECHO) "create_jdk: Create JDK image, export all files into it"
|
@$(ECHO) "create_jdk: Create JDK image, export all files into it"
|
||||||
@$(ECHO) "update_jdk: Update JDK image with fresh exported files"
|
@$(ECHO) "update_jdk: Update JDK image with fresh exported files"
|
||||||
@$(ECHO) " "
|
@$(ECHO) " "
|
||||||
@$(ECHO) "Others targets are:"
|
@$(ECHO) "Other targets are:"
|
||||||
@$(ECHO) " $(C1_VM_TARGETS)"
|
@$(ECHO) " $(C1_VM_TARGETS)"
|
||||||
@$(ECHO) " $(C2_VM_TARGETS)"
|
@$(ECHO) " $(C2_VM_TARGETS)"
|
||||||
@$(ECHO) " $(KERNEL_VM_TARGETS)"
|
@$(ECHO) " $(KERNEL_VM_TARGETS)"
|
||||||
|
@$(ECHO) " $(MINIMAL1_VM_TARGETS)"
|
||||||
|
|
||||||
# Variable help (only common ones used by this workspace)
|
# Variable help (only common ones used by this workspace)
|
||||||
variable_help: variable_help_intro variable_list variable_help_end
|
variable_help: variable_help_intro variable_list variable_help_end
|
||||||
@ -672,9 +745,10 @@ endif
|
|||||||
include $(GAMMADIR)/make/jprt.gmk
|
include $(GAMMADIR)/make/jprt.gmk
|
||||||
|
|
||||||
.PHONY: all world clobber clean help $(C1_VM_TARGETS) $(C2_VM_TARGETS) \
|
.PHONY: all world clobber clean help $(C1_VM_TARGETS) $(C2_VM_TARGETS) \
|
||||||
$(KERNEL_VM_TARGETS) \
|
$(KERNEL_VM_TARGETS) $(MINIMAL1_VM_TARGETS) \
|
||||||
generic_build1 generic_build2 generic_buildkernel generic_export \
|
generic_build1 generic_build2 generic_buildkernel generic_buildminimal1 generic_export \
|
||||||
export_product export_fastdebug export_debug export_optimized \
|
export_product export_fastdebug export_debug export_optimized \
|
||||||
export_jdk_product export_jdk_fastdebug export_jdk_debug \
|
export_jdk_product export_jdk_fastdebug export_jdk_debug \
|
||||||
create_jdk copy_jdk update_jdk test_jdk \
|
create_jdk copy_jdk update_jdk test_jdk \
|
||||||
copy_product_jdk copy_fastdebug_jdk copy_debug_jdk
|
copy_product_jdk copy_fastdebug_jdk copy_debug_jdk \
|
||||||
|
$(HS_ALT_MAKE)/Makefile.make
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -175,6 +175,10 @@ VARIANTARCH = $(subst i386,i486,$(ZERO_LIBARCH))
|
|||||||
# profiledshark shark <os>_<arch>_shark/profiled
|
# profiledshark shark <os>_<arch>_shark/profiled
|
||||||
# productshark shark <os>_<arch>_shark/product
|
# productshark shark <os>_<arch>_shark/product
|
||||||
#
|
#
|
||||||
|
# fastdebugminimal1 minimal1 <os>_<arch>_minimal1/fastdebug
|
||||||
|
# jvmgminimal1 minimal1 <os>_<arch>_minimal1/jvmg
|
||||||
|
# productminimal1 minimal1 <os>_<arch>_minimal1/product
|
||||||
|
#
|
||||||
# What you get with each target:
|
# What you get with each target:
|
||||||
#
|
#
|
||||||
# debug* - "thin" libjvm_g - debug info linked into the gamma_g launcher
|
# debug* - "thin" libjvm_g - debug info linked into the gamma_g launcher
|
||||||
@ -199,6 +203,7 @@ SUBDIRS_TIERED = $(addprefix $(OSNAME)_$(BUILDARCH)_tiered/,$(TARGETS))
|
|||||||
SUBDIRS_CORE = $(addprefix $(OSNAME)_$(BUILDARCH)_core/,$(TARGETS))
|
SUBDIRS_CORE = $(addprefix $(OSNAME)_$(BUILDARCH)_core/,$(TARGETS))
|
||||||
SUBDIRS_ZERO = $(addprefix $(OSNAME)_$(VARIANTARCH)_zero/,$(TARGETS))
|
SUBDIRS_ZERO = $(addprefix $(OSNAME)_$(VARIANTARCH)_zero/,$(TARGETS))
|
||||||
SUBDIRS_SHARK = $(addprefix $(OSNAME)_$(VARIANTARCH)_shark/,$(TARGETS))
|
SUBDIRS_SHARK = $(addprefix $(OSNAME)_$(VARIANTARCH)_shark/,$(TARGETS))
|
||||||
|
SUBDIRS_MINIMAL1 = $(addprefix $(OSNAME)_$(BUILDARCH)_minimal1/,$(TARGETS))
|
||||||
|
|
||||||
TARGETS_C2 = $(TARGETS)
|
TARGETS_C2 = $(TARGETS)
|
||||||
TARGETS_C1 = $(addsuffix 1,$(TARGETS))
|
TARGETS_C1 = $(addsuffix 1,$(TARGETS))
|
||||||
@ -206,6 +211,7 @@ TARGETS_TIERED = $(addsuffix tiered,$(TARGETS))
|
|||||||
TARGETS_CORE = $(addsuffix core,$(TARGETS))
|
TARGETS_CORE = $(addsuffix core,$(TARGETS))
|
||||||
TARGETS_ZERO = $(addsuffix zero,$(TARGETS))
|
TARGETS_ZERO = $(addsuffix zero,$(TARGETS))
|
||||||
TARGETS_SHARK = $(addsuffix shark,$(TARGETS))
|
TARGETS_SHARK = $(addsuffix shark,$(TARGETS))
|
||||||
|
TARGETS_MINIMAL1 = $(addsuffix minimal1,$(TARGETS))
|
||||||
|
|
||||||
BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make
|
BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make
|
||||||
BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) LIBRARY_SUFFIX=$(LIBRARY_SUFFIX)
|
BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) LIBRARY_SUFFIX=$(LIBRARY_SUFFIX)
|
||||||
@ -223,6 +229,7 @@ all:
|
|||||||
@echo " $(TARGETS_CORE)"
|
@echo " $(TARGETS_CORE)"
|
||||||
@echo " $(TARGETS_ZERO)"
|
@echo " $(TARGETS_ZERO)"
|
||||||
@echo " $(TARGETS_SHARK)"
|
@echo " $(TARGETS_SHARK)"
|
||||||
|
@echo " $(TARGETS_MINIMAL1)"
|
||||||
|
|
||||||
checks: check_os_version check_j2se_version
|
checks: check_os_version check_j2se_version
|
||||||
|
|
||||||
@ -281,6 +288,10 @@ $(SUBDIRS_SHARK): $(BUILDTREE_MAKE) platform_zero
|
|||||||
$(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
|
$(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
|
||||||
$(BUILDTREE) VARIANT=shark VARIANTARCH=$(VARIANTARCH)
|
$(BUILDTREE) VARIANT=shark VARIANTARCH=$(VARIANTARCH)
|
||||||
|
|
||||||
|
$(SUBDIRS_MINIMAL1): $(BUILDTREE_MAKE)
|
||||||
|
$(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
|
||||||
|
$(BUILDTREE) VARIANT=minimal1
|
||||||
|
|
||||||
platform_zero: $(GAMMADIR)/make/$(OSNAME)/platform_zero.in
|
platform_zero: $(GAMMADIR)/make/$(OSNAME)/platform_zero.in
|
||||||
$(SED) 's/@ZERO_ARCHDEF@/$(ZERO_ARCHDEF)/g;s/@ZERO_LIBARCH@/$(ZERO_LIBARCH)/g;' < $< > $@
|
$(SED) 's/@ZERO_ARCHDEF@/$(ZERO_ARCHDEF)/g;s/@ZERO_LIBARCH@/$(ZERO_LIBARCH)/g;' < $< > $@
|
||||||
|
|
||||||
@ -340,12 +351,22 @@ ifdef INSTALL
|
|||||||
cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) install
|
cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) install
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
$(TARGETS_MINIMAL1): $(SUBDIRS_MINIMAL1)
|
||||||
|
cd $(OSNAME)_$(BUILDARCH)_minimal1/$(patsubst %minimal1,%,$@) && $(MAKE) $(MFLAGS)
|
||||||
|
ifeq ($(TEST_IN_BUILD),true)
|
||||||
|
cd $(OSNAME)_$(BUILDARCH)_minimal1/$(patsubst %minimal1,%,$@) && ./test_gamma
|
||||||
|
endif
|
||||||
|
ifdef INSTALL
|
||||||
|
cd $(OSNAME)_$(BUILDARCH)_minimal1/$(patsubst %minimal1,%,$@) && $(MAKE) $(MFLAGS) install
|
||||||
|
endif
|
||||||
|
|
||||||
# Just build the tree, and nothing else:
|
# Just build the tree, and nothing else:
|
||||||
tree: $(SUBDIRS_C2)
|
tree: $(SUBDIRS_C2)
|
||||||
tree1: $(SUBDIRS_C1)
|
tree1: $(SUBDIRS_C1)
|
||||||
treecore: $(SUBDIRS_CORE)
|
treecore: $(SUBDIRS_CORE)
|
||||||
treezero: $(SUBDIRS_ZERO)
|
treezero: $(SUBDIRS_ZERO)
|
||||||
treeshark: $(SUBDIRS_SHARK)
|
treeshark: $(SUBDIRS_SHARK)
|
||||||
|
treeminimal1: $(SUBDIRS_MINIMAL1)
|
||||||
|
|
||||||
# Doc target. This is the same for all build options.
|
# Doc target. This is the same for all build options.
|
||||||
# Hence create a docs directory beside ...$(ARCH)_[...]
|
# Hence create a docs directory beside ...$(ARCH)_[...]
|
||||||
@ -367,17 +388,23 @@ shark: jvmgshark productshark
|
|||||||
clean_docs:
|
clean_docs:
|
||||||
rm -rf $(SUBDIR_DOCS)
|
rm -rf $(SUBDIR_DOCS)
|
||||||
|
|
||||||
clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark:
|
clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark clean_minimal1:
|
||||||
rm -rf $(OSNAME)_$(BUILDARCH)_$(subst clean_,,$@)
|
rm -rf $(OSNAME)_$(BUILDARCH)_$(subst clean_,,$@)
|
||||||
|
|
||||||
clean: clean_compiler2 clean_compiler1 clean_core clean_zero clean_shark clean_docs
|
clean: clean_compiler2 clean_compiler1 clean_core clean_zero clean_shark clean_minimal1 clean_docs
|
||||||
|
|
||||||
include $(GAMMADIR)/make/cscope.make
|
include $(GAMMADIR)/make/cscope.make
|
||||||
|
|
||||||
|
#
|
||||||
|
# Include alternate Makefile if it exists.
|
||||||
|
#
|
||||||
|
-include $(HS_ALT_MAKE)/$(OSNAME)/Makefile.make
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
.PHONY: $(TARGETS_C2) $(TARGETS_C1) $(TARGETS_CORE) $(TARGETS_ZERO) $(TARGETS_SHARK)
|
.PHONY: $(TARGETS_C2) $(TARGETS_C1) $(TARGETS_CORE) $(TARGETS_ZERO) $(TARGETS_SHARK) $(TARGETS_MINIMAL1)
|
||||||
.PHONY: tree tree1 treecore treezero treeshark
|
.PHONY: tree tree1 treecore treezero treeshark
|
||||||
.PHONY: all compiler1 compiler2 core zero shark
|
.PHONY: all compiler1 compiler2 core zero shark
|
||||||
.PHONY: clean clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark docs clean_docs
|
.PHONY: clean clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark docs clean_docs
|
||||||
.PHONY: checks check_os_version check_j2se_version
|
.PHONY: checks check_os_version check_j2se_version
|
||||||
|
.PHONY: $(HS_ALT_MAKE)/$(OSNAME)/Makefile.make
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -60,6 +60,7 @@ OS_VENDOR:=$(shell uname -s)
|
|||||||
|
|
||||||
-include $(SPEC)
|
-include $(SPEC)
|
||||||
include $(GAMMADIR)/make/scm.make
|
include $(GAMMADIR)/make/scm.make
|
||||||
|
include $(GAMMADIR)/make/defs.make
|
||||||
include $(GAMMADIR)/make/altsrc.make
|
include $(GAMMADIR)/make/altsrc.make
|
||||||
|
|
||||||
|
|
||||||
@ -163,6 +164,13 @@ ifndef HOTSPOT_VM_DISTRO
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# if hotspot-only build and/or OPENJDK isn't passed down, need to set OPENJDK
|
||||||
|
ifndef OPENJDK
|
||||||
|
ifneq ($(call if-has-altsrc,$(HS_COMMON_SRC)/,true,false),true)
|
||||||
|
OPENJDK=true
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HS_BUILD_VER) HOTSPOT_BUILD_VERSION= JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
|
BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HS_BUILD_VER) HOTSPOT_BUILD_VERSION= JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
|
||||||
|
|
||||||
BUILDTREE = \
|
BUILDTREE = \
|
||||||
@ -195,6 +203,8 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
|||||||
sed -n '/=/s/^ */Platform_/p' < $(PLATFORM_FILE); \
|
sed -n '/=/s/^ */Platform_/p' < $(PLATFORM_FILE); \
|
||||||
echo; \
|
echo; \
|
||||||
echo "GAMMADIR = $(GAMMADIR)"; \
|
echo "GAMMADIR = $(GAMMADIR)"; \
|
||||||
|
echo "HS_ALT_MAKE = $(HS_ALT_MAKE)"; \
|
||||||
|
echo "OSNAME = $(OSNAME)"; \
|
||||||
echo "SYSDEFS = \$$(Platform_sysdefs)"; \
|
echo "SYSDEFS = \$$(Platform_sysdefs)"; \
|
||||||
echo "SRCARCH = $(SRCARCH)"; \
|
echo "SRCARCH = $(SRCARCH)"; \
|
||||||
echo "BUILDARCH = $(BUILDARCH)"; \
|
echo "BUILDARCH = $(BUILDARCH)"; \
|
||||||
@ -205,6 +215,7 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
|||||||
echo "SA_BUILD_VERSION = $(HS_BUILD_VER)"; \
|
echo "SA_BUILD_VERSION = $(HS_BUILD_VER)"; \
|
||||||
echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \
|
echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \
|
||||||
echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \
|
echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \
|
||||||
|
echo "OPENJDK = $(OPENJDK)"; \
|
||||||
echo; \
|
echo; \
|
||||||
echo "# Used for platform dispatching"; \
|
echo "# Used for platform dispatching"; \
|
||||||
echo "TARGET_DEFINES = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \
|
echo "TARGET_DEFINES = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \
|
||||||
@ -251,6 +262,7 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
|||||||
[ -n "$(SPEC)" ] && \
|
[ -n "$(SPEC)" ] && \
|
||||||
echo "include $(SPEC)"; \
|
echo "include $(SPEC)"; \
|
||||||
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(VARIANT).make"; \
|
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(VARIANT).make"; \
|
||||||
|
echo "include \$$(GAMMADIR)/make/excludeSrc.make"; \
|
||||||
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(COMPILER).make"; \
|
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(COMPILER).make"; \
|
||||||
) > $@
|
) > $@
|
||||||
|
|
||||||
|
@ -155,6 +155,7 @@ EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
|
|||||||
EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
|
EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
|
||||||
EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
|
EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
|
||||||
EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
|
EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
|
||||||
|
EXPORT_MINIMAL_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/minimal
|
||||||
|
|
||||||
EXPORT_LIST += $(EXPORT_JRE_LIB_DIR)/wb.jar
|
EXPORT_LIST += $(EXPORT_JRE_LIB_DIR)/wb.jar
|
||||||
|
|
||||||
@ -168,6 +169,19 @@ ifeq ($(JVM_VARIANT_CLIENT),true)
|
|||||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
|
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(JVM_VARIANT_MINIMAL1),true)
|
||||||
|
EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/Xusage.txt
|
||||||
|
EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.$(LIBRARY_SUFFIX)
|
||||||
|
|
||||||
|
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||||
|
ifeq ($(ZIP_DEBUGINFO_FILES),1)
|
||||||
|
EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.diz
|
||||||
|
else
|
||||||
|
EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.debuginfo
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
# Serviceability Binaries
|
# Serviceability Binaries
|
||||||
# No SA Support for PPC, IA64, ARM or zero
|
# No SA Support for PPC, IA64, ARM or zero
|
||||||
ADD_SA_BINARIES/x86 = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
|
ADD_SA_BINARIES/x86 = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -114,21 +114,21 @@ $(GENOFFS): $(DTRACE_SRCDIR)/$(GENOFFS)Main.c lib$(GENOFFS).dylib
|
|||||||
|
|
||||||
# $@.tmp is created first to avoid an empty $(JVMOFFS).h if an error occurs.
|
# $@.tmp is created first to avoid an empty $(JVMOFFS).h if an error occurs.
|
||||||
$(JVMOFFS).h: $(GENOFFS)
|
$(JVMOFFS).h: $(GENOFFS)
|
||||||
$(QUIETLY) DYLD_LIBRARY_PATH=. ./$(GENOFFS) -header > $@.tmp; touch $@; \
|
$(QUIETLY) DYLD_LIBRARY_PATH=.:$(DYLD_LIBRARY_PATH) ./$(GENOFFS) -header > $@.tmp; touch $@; \
|
||||||
if [ `diff $@.tmp $@ > /dev/null 2>&1; echo $$?` -ne 0 ] ; \
|
if [ `diff $@.tmp $@ > /dev/null 2>&1; echo $$?` -ne 0 ] ; \
|
||||||
then rm -f $@; mv $@.tmp $@; \
|
then rm -f $@; mv $@.tmp $@; \
|
||||||
else rm -f $@.tmp; \
|
else rm -f $@.tmp; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
$(JVMOFFS)Index.h: $(GENOFFS)
|
$(JVMOFFS)Index.h: $(GENOFFS)
|
||||||
$(QUIETLY) DYLD_LIBRARY_PATH=. ./$(GENOFFS) -index > $@.tmp; touch $@; \
|
$(QUIETLY) DYLD_LIBRARY_PATH=.:$(DYLD_LIBRARY_PATH) ./$(GENOFFS) -index > $@.tmp; touch $@; \
|
||||||
if [ `diff $@.tmp $@ > /dev/null 2>&1; echo $$?` -ne 0 ] ; \
|
if [ `diff $@.tmp $@ > /dev/null 2>&1; echo $$?` -ne 0 ] ; \
|
||||||
then rm -f $@; mv $@.tmp $@; \
|
then rm -f $@; mv $@.tmp $@; \
|
||||||
else rm -f $@.tmp; \
|
else rm -f $@.tmp; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
$(JVMOFFS).cpp: $(GENOFFS) $(JVMOFFS).h $(JVMOFFS)Index.h
|
$(JVMOFFS).cpp: $(GENOFFS) $(JVMOFFS).h $(JVMOFFS)Index.h
|
||||||
$(QUIETLY) DYLD_LIBRARY_PATH=. ./$(GENOFFS) -table > $@.tmp; touch $@; \
|
$(QUIETLY) DYLD_LIBRARY_PATH=.:$(DYLD_LIBRARY_PATH) ./$(GENOFFS) -table > $@.tmp; touch $@; \
|
||||||
if [ `diff $@.tmp $@ > /dev/null 2>&1; echo $$?` -ne 0 ] ; \
|
if [ `diff $@.tmp $@ > /dev/null 2>&1; echo $$?` -ne 0 ] ; \
|
||||||
then rm -f $@; mv $@.tmp $@; \
|
then rm -f $@; mv $@.tmp $@; \
|
||||||
else rm -f $@.tmp; \
|
else rm -f $@.tmp; \
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -151,11 +151,6 @@ ifdef CC_INTERP
|
|||||||
CFLAGS += -DCC_INTERP
|
CFLAGS += -DCC_INTERP
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Build for embedded targets
|
|
||||||
ifdef JAVASE_EMBEDDED
|
|
||||||
CFLAGS += -DJAVASE_EMBEDDED
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Keep temporary files (.ii, .s)
|
# Keep temporary files (.ii, .s)
|
||||||
ifdef NEED_ASM
|
ifdef NEED_ASM
|
||||||
CFLAGS += -save-temps
|
CFLAGS += -save-temps
|
||||||
@ -186,18 +181,30 @@ ifeq ($(OS_VENDOR), Darwin)
|
|||||||
CFLAGS_WARN/os_bsd.o = $(CFLAGS_WARN/DEFAULT) -Wno-deprecated-declarations
|
CFLAGS_WARN/os_bsd.o = $(CFLAGS_WARN/DEFAULT) -Wno-deprecated-declarations
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
OPT_CFLAGS/SIZE=-Os
|
||||||
|
OPT_CFLAGS/SPEED=-O3
|
||||||
|
|
||||||
|
# Hotspot uses very unstrict aliasing turn this optimization off
|
||||||
|
# This option is added to CFLAGS rather than OPT_CFLAGS
|
||||||
|
# so that OPT_CFLAGS overrides get this option too.
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
# The flags to use for an Optimized g++ build
|
# The flags to use for an Optimized g++ build
|
||||||
ifeq ($(OS_VENDOR), Darwin)
|
ifeq ($(OS_VENDOR), Darwin)
|
||||||
# use -Os by default, unless -O3 can be proved to be worth the cost, as per policy
|
# use -Os by default, unless -O3 can be proved to be worth the cost, as per policy
|
||||||
# <http://wikis.sun.com/display/OpenJDK/Mac+OS+X+Port+Compilers>
|
# <http://wikis.sun.com/display/OpenJDK/Mac+OS+X+Port+Compilers>
|
||||||
OPT_CFLAGS += -Os
|
OPT_CFLAGS_DEFAULT ?= SIZE
|
||||||
else
|
else
|
||||||
OPT_CFLAGS += -O3
|
OPT_CFLAGS_DEFAULT ?= SPEED
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Hotspot uses very unstrict aliasing turn this optimization off
|
ifdef OPT_CFLAGS
|
||||||
OPT_CFLAGS += -fno-strict-aliasing
|
ifneq ("$(origin OPT_CFLAGS)", "command line")
|
||||||
|
$(error " Use OPT_EXTRAS instead of OPT_CFLAGS to add extra flags to OPT_CFLAGS.")
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
OPT_CFLAGS = $(OPT_CFLAGS/$(OPT_CFLAGS_DEFAULT)) $(OPT_EXTRAS)
|
||||||
|
|
||||||
# The gcc compiler segv's on ia64 when compiling bytecodeInterpreter.cpp
|
# The gcc compiler segv's on ia64 when compiling bytecodeInterpreter.cpp
|
||||||
# if we use expensive-optimizations
|
# if we use expensive-optimizations
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -25,8 +25,6 @@
|
|||||||
#
|
#
|
||||||
# IA64 only uses c++ based interpreter
|
# IA64 only uses c++ based interpreter
|
||||||
CFLAGS += -DCC_INTERP -D_LP64=1 -DVM_LITTLE_ENDIAN
|
CFLAGS += -DCC_INTERP -D_LP64=1 -DVM_LITTLE_ENDIAN
|
||||||
# Hotspot uses very unstrict aliasing turn this optimization off
|
|
||||||
OPT_CFLAGS += -fno-strict-aliasing
|
|
||||||
ifeq ($(VERSION),debug)
|
ifeq ($(VERSION),debug)
|
||||||
ASM_FLAGS= -DDEBUG
|
ASM_FLAGS= -DDEBUG
|
||||||
else
|
else
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
# Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
|
#
|
||||||
|
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
# under the terms of the GNU General Public License version 2 only, as
|
# under the terms of the GNU General Public License version 2 only, as
|
||||||
# published by the Free Software Foundation. Oracle designates this
|
# published by the Free Software Foundation.
|
||||||
# particular file as subject to the "Classpath" exception as provided
|
|
||||||
# by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
#
|
#
|
||||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
@ -22,10 +21,26 @@
|
|||||||
# questions.
|
# questions.
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# The config file for the packer, define all the test properties here.
|
|
||||||
pack.effort=1
|
|
||||||
pack.unknown.attribute=error
|
|
||||||
pack.deflate.hint=false
|
|
||||||
pack.keep.class.order=true
|
|
||||||
pack.verbose=1
|
|
||||||
|
|
||||||
|
TYPE=MINIMAL1
|
||||||
|
|
||||||
|
INCLUDE_JVMTI ?= false
|
||||||
|
INCLUDE_FPROF ?= false
|
||||||
|
INCLUDE_VM_STRUCTS ?= false
|
||||||
|
INCLUDE_JNI_CHECK ?= false
|
||||||
|
INCLUDE_SERVICES ?= false
|
||||||
|
INCLUDE_MANAGEMENT ?= false
|
||||||
|
INCLUDE_ALTERNATE_GCS ?= false
|
||||||
|
INCLUDE_NMT ?= false
|
||||||
|
INCLUDE_CDS ?= false
|
||||||
|
|
||||||
|
CXXFLAGS += -DMINIMAL_JVM -DCOMPILER1 -DVMTYPE=\"Minimal\"
|
||||||
|
CFLAGS += -DMINIMAL_JVM -DCOMPILER1 -DVMTYPE=\"Minimal\"
|
||||||
|
|
||||||
|
Src_Dirs/MINIMAL1 = $(CORE_PATHS) $(COMPILER1_PATHS)
|
||||||
|
|
||||||
|
Src_Files_EXCLUDE/MINIMAL1 += $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) ciTypeFlow.cpp
|
||||||
|
|
||||||
|
-include $(HS_ALT_MAKE)/$(OSNAME)/makefiles/minimal1.make
|
||||||
|
|
||||||
|
.PHONY: $(HS_ALT_MAKE)/$(OSNAME)/makefiles/minimal1.make
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -190,7 +190,7 @@ SHARK_SPECIFIC_FILES := shark
|
|||||||
ZERO_SPECIFIC_FILES := zero
|
ZERO_SPECIFIC_FILES := zero
|
||||||
|
|
||||||
# Always exclude these.
|
# Always exclude these.
|
||||||
Src_Files_EXCLUDE := jsig.c jvmtiEnvRecommended.cpp jvmtiEnvStub.cpp
|
Src_Files_EXCLUDE += jsig.c jvmtiEnvRecommended.cpp jvmtiEnvStub.cpp
|
||||||
|
|
||||||
# Exclude per type.
|
# Exclude per type.
|
||||||
Src_Files_EXCLUDE/CORE := $(COMPILER1_SPECIFIC_FILES) $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) ciTypeFlow.cpp
|
Src_Files_EXCLUDE/CORE := $(COMPILER1_SPECIFIC_FILES) $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) ciTypeFlow.cpp
|
||||||
|
@ -22,6 +22,27 @@
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# The common definitions for hotspot builds.
|
||||||
|
|
||||||
|
# Optionally include SPEC file generated by configure.
|
||||||
|
ifneq ($(SPEC),)
|
||||||
|
include $(SPEC)
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Directory paths and user name
|
||||||
|
# Unless GAMMADIR is set on the command line, search upward from
|
||||||
|
# the current directory for a parent directory containing "src/share/vm".
|
||||||
|
# If that fails, look for $GAMMADIR in the environment.
|
||||||
|
# When the tree of subdirs is built, this setting is stored in each flags.make.
|
||||||
|
GAMMADIR := $(shell until ([ -d dev ]&&echo $${GAMMADIR:-/GAMMADIR/}) || ([ -d src/share/vm ]&&pwd); do cd ..; done)
|
||||||
|
HS_SRC_DIR=$(GAMMADIR)/src
|
||||||
|
HS_MAKE_DIR=$(GAMMADIR)/make
|
||||||
|
HS_BUILD_DIR=$(GAMMADIR)/build
|
||||||
|
|
||||||
|
ifeq ($(USER),)
|
||||||
|
USER=$(USERNAME)
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(HS_ALT_MAKE),)
|
ifeq ($(HS_ALT_MAKE),)
|
||||||
ifneq ($(OPENJDK),true)
|
ifneq ($(OPENJDK),true)
|
||||||
HS_ALT_MAKE=$(GAMMADIR)/make/closed
|
HS_ALT_MAKE=$(GAMMADIR)/make/closed
|
||||||
@ -30,12 +51,10 @@ ifeq ($(HS_ALT_MAKE),)
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# The common definitions for hotspot builds.
|
#
|
||||||
|
# Include alternate defs.make if it exists
|
||||||
# Optionally include SPEC file generated by configure.
|
#
|
||||||
ifneq ($(SPEC),)
|
-include $(HS_ALT_MAKE)/defs.make
|
||||||
include $(SPEC)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Default to verbose build logs (show all compile lines):
|
# Default to verbose build logs (show all compile lines):
|
||||||
MAKE_VERBOSE=y
|
MAKE_VERBOSE=y
|
||||||
@ -84,20 +103,6 @@ ifeq ($(JVM_VARIANTS),)
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Directory paths and user name
|
|
||||||
# Unless GAMMADIR is set on the command line, search upward from
|
|
||||||
# the current directory for a parent directory containing "src/share/vm".
|
|
||||||
# If that fails, look for $GAMMADIR in the environment.
|
|
||||||
# When the tree of subdirs is built, this setting is stored in each flags.make.
|
|
||||||
GAMMADIR := $(shell until ([ -d dev ]&&echo $${GAMMADIR:-/GAMMADIR/}) || ([ -d src/share/vm ]&&pwd); do cd ..; done)
|
|
||||||
HS_SRC_DIR=$(GAMMADIR)/src
|
|
||||||
HS_MAKE_DIR=$(GAMMADIR)/make
|
|
||||||
HS_BUILD_DIR=$(GAMMADIR)/build
|
|
||||||
|
|
||||||
ifeq ($(USER),)
|
|
||||||
USER=$(USERNAME)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# hotspot version definitions
|
# hotspot version definitions
|
||||||
include $(GAMMADIR)/make/hotspot_version
|
include $(GAMMADIR)/make/hotspot_version
|
||||||
|
|
||||||
@ -339,3 +344,4 @@ ifndef JAVASE_EMBEDDED
|
|||||||
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jfr.h
|
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jfr.h
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
.PHONY: $(HS_ALT_MAKE)/defs.make
|
||||||
|
110
hotspot/make/excludeSrc.make
Normal file
110
hotspot/make/excludeSrc.make
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
#
|
||||||
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU General Public License version 2 only, as
|
||||||
|
# published by the Free Software Foundation.
|
||||||
|
#
|
||||||
|
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
# version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
# accompanied this code).
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License version
|
||||||
|
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
#
|
||||||
|
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
# or visit www.oracle.com if you need additional information or have any
|
||||||
|
# questions.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
ifeq ($(INCLUDE_JVMTI), false)
|
||||||
|
CXXFLAGS += -DINCLUDE_JVMTI=0
|
||||||
|
CFLAGS += -DINCLUDE_JVMTI=0
|
||||||
|
|
||||||
|
Src_Files_EXCLUDE += jvmtiGetLoadedClasses.cpp forte.cpp jvmtiThreadState.cpp jvmtiExtensions.cpp \
|
||||||
|
jvmtiImpl.cpp jvmtiManageCapabilities.cpp jvmtiRawMonitor.cpp jvmtiUtil.cpp jvmtiTrace.cpp \
|
||||||
|
jvmtiCodeBlobEvents.cpp jvmtiEnv.cpp jvmtiRedefineClasses.cpp jvmtiEnvBase.cpp jvmtiEnvThreadState.cpp \
|
||||||
|
jvmtiTagMap.cpp jvmtiEventController.cpp evmCompat.cpp jvmtiEnter.xsl jvmtiExport.cpp
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(INCLUDE_FPROF), false)
|
||||||
|
CXXFLAGS += -DINCLUDE_FPROF=0
|
||||||
|
CFLAGS += -DINCLUDE_FPROF=0
|
||||||
|
|
||||||
|
Src_Files_EXCLUDE += fprofiler.cpp
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(INCLUDE_VM_STRUCTS), false)
|
||||||
|
CXXFLAGS += -DINCLUDE_VM_STRUCTS=0
|
||||||
|
CFLAGS += -DINCLUDE_VM_STRUCTS=0
|
||||||
|
|
||||||
|
Src_Files_EXCLUDE += vmStructs.cpp
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(INCLUDE_JNI_CHECK), false)
|
||||||
|
CXXFLAGS += -DINCLUDE_JNI_CHECK=0
|
||||||
|
CFLAGS += -DINCLUDE_JNI_CHECK=0
|
||||||
|
|
||||||
|
Src_Files_EXCLUDE += jniCheck.cpp
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(INCLUDE_SERVICES), false)
|
||||||
|
CXXFLAGS += -DINCLUDE_SERVICES=0
|
||||||
|
CFLAGS += -DINCLUDE_SERVICES=0
|
||||||
|
|
||||||
|
Src_Files_EXCLUDE += heapDumper.cpp heapInspection.cpp \
|
||||||
|
attachListener_linux.cpp attachListener.cpp
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(INCLUDE_MANAGEMENT), false)
|
||||||
|
CXXFLAGS += -DINCLUDE_MANAGEMENT=0
|
||||||
|
CFLAGS += -DINCLUDE_MANAGEMENT=0
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(INCLUDE_CDS), false)
|
||||||
|
CXXFLAGS += -DINCLUDE_CDS=0
|
||||||
|
CFLAGS += -DINCLUDE_CDS=0
|
||||||
|
|
||||||
|
Src_Files_EXCLUDE += metaspaceShared.cpp
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(INCLUDE_ALTERNATE_GCS), false)
|
||||||
|
CXXFLAGS += -DINCLUDE_ALTERNATE_GCS=0
|
||||||
|
CFLAGS += -DINCLUDE_ALTERNATE_GCS=0
|
||||||
|
|
||||||
|
CXXFLAGS += -DSERIALGC
|
||||||
|
CFLAGS += -DSERIALGC
|
||||||
|
Src_Files_EXCLUDE += \
|
||||||
|
binaryTreeDictionary.cpp cmsAdaptiveSizePolicy.cpp cmsCollectorPolicy.cpp \
|
||||||
|
cmsGCAdaptivePolicyCounters.cpp cmsLockVerifier.cpp cmsPermGen.cpp compactibleFreeListSpace.cpp \
|
||||||
|
concurrentMarkSweepGeneration.cpp concurrentMarkSweepThread.cpp freeBlockDictionary.cpp \
|
||||||
|
freeChunk.cpp freeList.cpp promotionInfo.cpp vmCMSOperations.cpp collectionSetChooser.cpp \
|
||||||
|
concurrentG1Refine.cpp concurrentG1RefineThread.cpp concurrentMark.cpp concurrentMarkThread.cpp \
|
||||||
|
dirtyCardQueue.cpp g1AllocRegion.cpp g1BlockOffsetTable.cpp g1CollectedHeap.cpp g1GCPhaseTimes.cpp \
|
||||||
|
g1CollectorPolicy.cpp g1ErgoVerbose.cpp g1_globals.cpp g1HRPrinter.cpp g1MarkSweep.cpp \
|
||||||
|
g1MMUTracker.cpp g1MonitoringSupport.cpp g1RemSet.cpp g1SATBCardTableModRefBS.cpp heapRegion.cpp \
|
||||||
|
heapRegionRemSet.cpp heapRegionSeq.cpp heapRegionSet.cpp heapRegionSets.cpp ptrQueue.cpp \
|
||||||
|
satbQueue.cpp sparsePRT.cpp survRateGroup.cpp vm_operations_g1.cpp adjoiningGenerations.cpp \
|
||||||
|
adjoiningVirtualSpaces.cpp asPSOldGen.cpp asPSYoungGen.cpp cardTableExtension.cpp \
|
||||||
|
gcTaskManager.cpp gcTaskThread.cpp objectStartArray.cpp parallelScavengeHeap.cpp parMarkBitMap.cpp \
|
||||||
|
pcTasks.cpp psAdaptiveSizePolicy.cpp psCompactionManager.cpp psGCAdaptivePolicyCounters.cpp \
|
||||||
|
psGenerationCounters.cpp psMarkSweep.cpp psMarkSweepDecorator.cpp psOldGen.cpp psParallelCompact.cpp \
|
||||||
|
psPermGen.cpp psPromotionLAB.cpp psPromotionManager.cpp psScavenge.cpp psTasks.cpp psVirtualspace.cpp \
|
||||||
|
psYoungGen.cpp vmPSOperations.cpp asParNewGeneration.cpp parCardTableModRefBS.cpp \
|
||||||
|
parGCAllocBuffer.cpp parNewGeneration.cpp mutableSpace.cpp gSpaceCounters.cpp allocationStats.cpp \
|
||||||
|
spaceCounters.cpp gcAdaptivePolicyCounters.cpp mutableNUMASpace.cpp immutableSpace.cpp \
|
||||||
|
immutableSpace.cpp g1MemoryPool.cpp psMemoryPool.cpp yieldWorkingGroup.cpp g1Log.cpp
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(INCLUDE_NMT), false)
|
||||||
|
CXXFLAGS += -DINCLUDE_NMT=0
|
||||||
|
CFLAGS += -DINCLUDE_NMT=0
|
||||||
|
|
||||||
|
Src_Files_EXCLUDE += \
|
||||||
|
memBaseline.cpp memPtr.cpp memRecorder.cpp memReporter.cpp memSnapshot.cpp memTrackWorker.cpp \
|
||||||
|
memTracker.cpp nmtDCmd.cpp
|
||||||
|
endif
|
@ -35,7 +35,7 @@ HOTSPOT_VM_COPYRIGHT=Copyright 2012
|
|||||||
|
|
||||||
HS_MAJOR_VER=25
|
HS_MAJOR_VER=25
|
||||||
HS_MINOR_VER=0
|
HS_MINOR_VER=0
|
||||||
HS_BUILD_NUMBER=04
|
HS_BUILD_NUMBER=05
|
||||||
|
|
||||||
JDK_MAJOR_VER=1
|
JDK_MAJOR_VER=1
|
||||||
JDK_MINOR_VER=8
|
JDK_MINOR_VER=8
|
||||||
|
@ -175,6 +175,10 @@ VARIANTARCH = $(subst i386,i486,$(ZERO_LIBARCH))
|
|||||||
# profiledshark shark <os>_<arch>_shark/profiled
|
# profiledshark shark <os>_<arch>_shark/profiled
|
||||||
# productshark shark <os>_<arch>_shark/product
|
# productshark shark <os>_<arch>_shark/product
|
||||||
#
|
#
|
||||||
|
# fastdebugminimal1 minimal1 <os>_<arch>_minimal1/fastdebug
|
||||||
|
# jvmgminimal1 minimal1 <os>_<arch>_minimal1/jvmg
|
||||||
|
# productminimal1 minimal1 <os>_<arch>_minimal1/product
|
||||||
|
#
|
||||||
# What you get with each target:
|
# What you get with each target:
|
||||||
#
|
#
|
||||||
# debug* - "thin" libjvm_g - debug info linked into the gamma_g launcher
|
# debug* - "thin" libjvm_g - debug info linked into the gamma_g launcher
|
||||||
@ -199,6 +203,7 @@ SUBDIRS_TIERED = $(addprefix $(OSNAME)_$(BUILDARCH)_tiered/,$(TARGETS))
|
|||||||
SUBDIRS_CORE = $(addprefix $(OSNAME)_$(BUILDARCH)_core/,$(TARGETS))
|
SUBDIRS_CORE = $(addprefix $(OSNAME)_$(BUILDARCH)_core/,$(TARGETS))
|
||||||
SUBDIRS_ZERO = $(addprefix $(OSNAME)_$(VARIANTARCH)_zero/,$(TARGETS))
|
SUBDIRS_ZERO = $(addprefix $(OSNAME)_$(VARIANTARCH)_zero/,$(TARGETS))
|
||||||
SUBDIRS_SHARK = $(addprefix $(OSNAME)_$(VARIANTARCH)_shark/,$(TARGETS))
|
SUBDIRS_SHARK = $(addprefix $(OSNAME)_$(VARIANTARCH)_shark/,$(TARGETS))
|
||||||
|
SUBDIRS_MINIMAL1 = $(addprefix $(OSNAME)_$(BUILDARCH)_minimal1/,$(TARGETS))
|
||||||
|
|
||||||
TARGETS_C2 = $(TARGETS)
|
TARGETS_C2 = $(TARGETS)
|
||||||
TARGETS_C1 = $(addsuffix 1,$(TARGETS))
|
TARGETS_C1 = $(addsuffix 1,$(TARGETS))
|
||||||
@ -206,6 +211,7 @@ TARGETS_TIERED = $(addsuffix tiered,$(TARGETS))
|
|||||||
TARGETS_CORE = $(addsuffix core,$(TARGETS))
|
TARGETS_CORE = $(addsuffix core,$(TARGETS))
|
||||||
TARGETS_ZERO = $(addsuffix zero,$(TARGETS))
|
TARGETS_ZERO = $(addsuffix zero,$(TARGETS))
|
||||||
TARGETS_SHARK = $(addsuffix shark,$(TARGETS))
|
TARGETS_SHARK = $(addsuffix shark,$(TARGETS))
|
||||||
|
TARGETS_MINIMAL1 = $(addsuffix minimal1,$(TARGETS))
|
||||||
|
|
||||||
BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make
|
BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make
|
||||||
BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH)
|
BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH)
|
||||||
@ -224,6 +230,7 @@ all:
|
|||||||
@echo " $(TARGETS_CORE)"
|
@echo " $(TARGETS_CORE)"
|
||||||
@echo " $(TARGETS_ZERO)"
|
@echo " $(TARGETS_ZERO)"
|
||||||
@echo " $(TARGETS_SHARK)"
|
@echo " $(TARGETS_SHARK)"
|
||||||
|
@echo " $(TARGETS_MINIMAL1)"
|
||||||
|
|
||||||
checks: check_os_version check_j2se_version
|
checks: check_os_version check_j2se_version
|
||||||
|
|
||||||
@ -281,6 +288,11 @@ $(SUBDIRS_SHARK): $(BUILDTREE_MAKE) platform_zero
|
|||||||
$(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
|
$(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
|
||||||
$(BUILDTREE) VARIANT=shark VARIANTARCH=$(VARIANTARCH)
|
$(BUILDTREE) VARIANT=shark VARIANTARCH=$(VARIANTARCH)
|
||||||
|
|
||||||
|
$(SUBDIRS_MINIMAL1): $(BUILDTREE_MAKE)
|
||||||
|
$(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
|
||||||
|
$(BUILDTREE) VARIANT=minimal1
|
||||||
|
|
||||||
|
|
||||||
platform_zero: $(GAMMADIR)/make/$(OSNAME)/platform_zero.in
|
platform_zero: $(GAMMADIR)/make/$(OSNAME)/platform_zero.in
|
||||||
$(SED) 's/@ZERO_ARCHDEF@/$(ZERO_ARCHDEF)/g;s/@ZERO_LIBARCH@/$(ZERO_LIBARCH)/g;' < $< > $@
|
$(SED) 's/@ZERO_ARCHDEF@/$(ZERO_ARCHDEF)/g;s/@ZERO_LIBARCH@/$(ZERO_LIBARCH)/g;' < $< > $@
|
||||||
|
|
||||||
@ -340,12 +352,22 @@ ifdef INSTALL
|
|||||||
cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) install
|
cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) install
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
$(TARGETS_MINIMAL1): $(SUBDIRS_MINIMAL1)
|
||||||
|
cd $(OSNAME)_$(BUILDARCH)_minimal1/$(patsubst %minimal1,%,$@) && $(MAKE) $(MFLAGS)
|
||||||
|
ifeq ($(TEST_IN_BUILD),true)
|
||||||
|
cd $(OSNAME)_$(BUILDARCH)_minimal1/$(patsubst %minimal1,%,$@) && ./test_gamma
|
||||||
|
endif
|
||||||
|
ifdef INSTALL
|
||||||
|
cd $(OSNAME)_$(BUILDARCH)_minimal1/$(patsubst %minimal1,%,$@) && $(MAKE) $(MFLAGS) install
|
||||||
|
endif
|
||||||
|
|
||||||
# Just build the tree, and nothing else:
|
# Just build the tree, and nothing else:
|
||||||
tree: $(SUBDIRS_C2)
|
tree: $(SUBDIRS_C2)
|
||||||
tree1: $(SUBDIRS_C1)
|
tree1: $(SUBDIRS_C1)
|
||||||
treecore: $(SUBDIRS_CORE)
|
treecore: $(SUBDIRS_CORE)
|
||||||
treezero: $(SUBDIRS_ZERO)
|
treezero: $(SUBDIRS_ZERO)
|
||||||
treeshark: $(SUBDIRS_SHARK)
|
treeshark: $(SUBDIRS_SHARK)
|
||||||
|
treeminimal1: $(SUBDIRS_MINIMAL1)
|
||||||
|
|
||||||
# Doc target. This is the same for all build options.
|
# Doc target. This is the same for all build options.
|
||||||
# Hence create a docs directory beside ...$(ARCH)_[...]
|
# Hence create a docs directory beside ...$(ARCH)_[...]
|
||||||
@ -369,17 +391,23 @@ shark: jvmgshark productshark
|
|||||||
clean_docs:
|
clean_docs:
|
||||||
rm -rf $(SUBDIR_DOCS)
|
rm -rf $(SUBDIR_DOCS)
|
||||||
|
|
||||||
clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark:
|
clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark clean_minimal1:
|
||||||
rm -rf $(OSNAME)_$(BUILDARCH)_$(subst clean_,,$@)
|
rm -rf $(OSNAME)_$(BUILDARCH)_$(subst clean_,,$@)
|
||||||
|
|
||||||
clean: clean_compiler2 clean_compiler1 clean_core clean_zero clean_shark clean_docs
|
clean: clean_compiler2 clean_compiler1 clean_core clean_zero clean_shark clean_minimal1 clean_docs
|
||||||
|
|
||||||
include $(GAMMADIR)/make/cscope.make
|
include $(GAMMADIR)/make/cscope.make
|
||||||
|
|
||||||
|
#
|
||||||
|
# Include alternate Makefile if it exists.
|
||||||
|
#
|
||||||
|
-include $(HS_ALT_MAKE)/$(OSNAME)/Makefile.make
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
.PHONY: $(TARGETS_C2) $(TARGETS_C1) $(TARGETS_CORE) $(TARGETS_ZERO) $(TARGETS_SHARK)
|
.PHONY: $(TARGETS_C2) $(TARGETS_C1) $(TARGETS_CORE) $(TARGETS_ZERO) $(TARGETS_SHARK) $(TARGETS_MINIMAL1)
|
||||||
.PHONY: tree tree1 treecore treezero treeshark
|
.PHONY: tree tree1 treecore treezero treeshark
|
||||||
.PHONY: all compiler1 compiler2 core zero shark
|
.PHONY: all compiler1 compiler2 core zero shark
|
||||||
.PHONY: clean clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark docs clean_docs
|
.PHONY: clean clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark docs clean_docs
|
||||||
.PHONY: checks check_os_version check_j2se_version
|
.PHONY: checks check_os_version check_j2se_version
|
||||||
|
.PHONY: $(HS_ALT_MAKE)/$(OSNAME)/Makefile.make
|
||||||
|
@ -57,6 +57,7 @@
|
|||||||
|
|
||||||
-include $(SPEC)
|
-include $(SPEC)
|
||||||
include $(GAMMADIR)/make/scm.make
|
include $(GAMMADIR)/make/scm.make
|
||||||
|
include $(GAMMADIR)/make/defs.make
|
||||||
include $(GAMMADIR)/make/altsrc.make
|
include $(GAMMADIR)/make/altsrc.make
|
||||||
|
|
||||||
|
|
||||||
@ -156,6 +157,13 @@ ifndef HOTSPOT_VM_DISTRO
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# if hotspot-only build and/or OPENJDK isn't passed down, need to set OPENJDK
|
||||||
|
ifndef OPENJDK
|
||||||
|
ifneq ($(call if-has-altsrc,$(HS_COMMON_SRC)/,true,false),true)
|
||||||
|
OPENJDK=true
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HS_BUILD_VER) HOTSPOT_BUILD_VERSION= JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
|
BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HS_BUILD_VER) HOTSPOT_BUILD_VERSION= JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
|
||||||
|
|
||||||
BUILDTREE = \
|
BUILDTREE = \
|
||||||
@ -188,6 +196,8 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
|||||||
sed -n '/=/s/^ */Platform_/p' < $(PLATFORM_FILE); \
|
sed -n '/=/s/^ */Platform_/p' < $(PLATFORM_FILE); \
|
||||||
echo; \
|
echo; \
|
||||||
echo "GAMMADIR = $(GAMMADIR)"; \
|
echo "GAMMADIR = $(GAMMADIR)"; \
|
||||||
|
echo "HS_ALT_MAKE = $(HS_ALT_MAKE)"; \
|
||||||
|
echo "OSNAME = $(OSNAME)"; \
|
||||||
echo "SYSDEFS = \$$(Platform_sysdefs)"; \
|
echo "SYSDEFS = \$$(Platform_sysdefs)"; \
|
||||||
echo "SRCARCH = $(SRCARCH)"; \
|
echo "SRCARCH = $(SRCARCH)"; \
|
||||||
echo "BUILDARCH = $(BUILDARCH)"; \
|
echo "BUILDARCH = $(BUILDARCH)"; \
|
||||||
@ -198,6 +208,7 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
|||||||
echo "SA_BUILD_VERSION = $(HS_BUILD_VER)"; \
|
echo "SA_BUILD_VERSION = $(HS_BUILD_VER)"; \
|
||||||
echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \
|
echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \
|
||||||
echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \
|
echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \
|
||||||
|
echo "OPENJDK = $(OPENJDK)"; \
|
||||||
echo; \
|
echo; \
|
||||||
echo "# Used for platform dispatching"; \
|
echo "# Used for platform dispatching"; \
|
||||||
echo "TARGET_DEFINES = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \
|
echo "TARGET_DEFINES = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \
|
||||||
@ -254,6 +265,7 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
|||||||
[ -n "$(SPEC)" ] && \
|
[ -n "$(SPEC)" ] && \
|
||||||
echo "include $(SPEC)"; \
|
echo "include $(SPEC)"; \
|
||||||
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(VARIANT).make"; \
|
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(VARIANT).make"; \
|
||||||
|
echo "include \$$(GAMMADIR)/make/excludeSrc.make"; \
|
||||||
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(COMPILER).make"; \
|
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(COMPILER).make"; \
|
||||||
) > $@
|
) > $@
|
||||||
|
|
||||||
|
@ -254,6 +254,7 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
|||||||
endif
|
endif
|
||||||
EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
|
EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
|
||||||
EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
|
EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
|
||||||
|
EXPORT_MINIMAL_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/minimal
|
||||||
|
|
||||||
EXPORT_LIST += $(EXPORT_JRE_LIB_DIR)/wb.jar
|
EXPORT_LIST += $(EXPORT_JRE_LIB_DIR)/wb.jar
|
||||||
|
|
||||||
@ -281,6 +282,19 @@ ifeq ($(JVM_VARIANT_CLIENT),true)
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(JVM_VARIANT_MINIMAL1),true)
|
||||||
|
EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/Xusage.txt
|
||||||
|
EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.$(LIBRARY_SUFFIX)
|
||||||
|
|
||||||
|
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||||
|
ifeq ($(ZIP_DEBUGINFO_FILES),1)
|
||||||
|
EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.diz
|
||||||
|
else
|
||||||
|
EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.debuginfo
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
# Serviceability Binaries
|
# Serviceability Binaries
|
||||||
# No SA Support for PPC, IA64, ARM or zero
|
# No SA Support for PPC, IA64, ARM or zero
|
||||||
ADD_SA_BINARIES/x86 = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
|
ADD_SA_BINARIES/x86 = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
# Copyright (c) 2012 Red Hat, Inc.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -25,3 +26,40 @@
|
|||||||
# Linux does not build jvm_db
|
# Linux does not build jvm_db
|
||||||
LIBJVM_DB =
|
LIBJVM_DB =
|
||||||
|
|
||||||
|
# Only OPENJDK builds test and support SDT probes currently.
|
||||||
|
ifndef OPENJDK
|
||||||
|
REASON = "This JDK does not support SDT probes"
|
||||||
|
else
|
||||||
|
|
||||||
|
# We need a recent GCC for the default
|
||||||
|
ifeq "$(shell expr \( $(CC_VER_MAJOR) \>= 4 \) \& \( $(CC_VER_MINOR) \>= 4 \) )" "0"
|
||||||
|
REASON = "gcc version is too old"
|
||||||
|
else
|
||||||
|
|
||||||
|
# But it does have a SystemTap dtrace compatible sys/sdt.h
|
||||||
|
ifneq ($(ALT_SDT_H),)
|
||||||
|
SDT_H_FILE = $(ALT_SDT_H)
|
||||||
|
else
|
||||||
|
SDT_H_FILE = /usr/include/sys/sdt.h
|
||||||
|
endif
|
||||||
|
DTRACE_ENABLED = $(shell test -f $(SDT_H_FILE) && echo $(SDT_H_FILE))
|
||||||
|
REASON = "$(SDT_H_FILE) not found"
|
||||||
|
|
||||||
|
ifneq ($(DTRACE_ENABLED),)
|
||||||
|
CFLAGS += -DDTRACE_ENABLED
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Phony target used in vm.make build target to check whether enabled.
|
||||||
|
.PHONY: dtraceCheck
|
||||||
|
ifeq ($(DTRACE_ENABLED),)
|
||||||
|
dtraceCheck:
|
||||||
|
$(QUIETLY) echo "**NOTICE** Dtrace support disabled: $(REASON)"
|
||||||
|
else
|
||||||
|
dtraceCheck:
|
||||||
|
endif
|
||||||
|
|
||||||
|
# It doesn't support HAVE_DTRACE_H though.
|
||||||
|
|
||||||
|
@ -116,11 +116,6 @@ ifdef CC_INTERP
|
|||||||
CFLAGS += -DCC_INTERP
|
CFLAGS += -DCC_INTERP
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Build for embedded targets
|
|
||||||
ifdef JAVASE_EMBEDDED
|
|
||||||
CFLAGS += -DJAVASE_EMBEDDED
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Keep temporary files (.ii, .s)
|
# Keep temporary files (.ii, .s)
|
||||||
ifdef NEED_ASM
|
ifdef NEED_ASM
|
||||||
CFLAGS += -save-temps
|
CFLAGS += -save-temps
|
||||||
@ -146,10 +141,23 @@ CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(ACCEPTABLE_WARNINGS)
|
|||||||
CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@))
|
CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@))
|
||||||
|
|
||||||
# The flags to use for an Optimized g++ build
|
# The flags to use for an Optimized g++ build
|
||||||
OPT_CFLAGS += -O3
|
OPT_CFLAGS/SIZE=-Os
|
||||||
|
OPT_CFLAGS/SPEED=-O3
|
||||||
|
|
||||||
# Hotspot uses very unstrict aliasing turn this optimization off
|
# Hotspot uses very unstrict aliasing turn this optimization off
|
||||||
OPT_CFLAGS += -fno-strict-aliasing
|
# This option is added to CFLAGS rather than OPT_CFLAGS
|
||||||
|
# so that OPT_CFLAGS overrides get this option too.
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
|
OPT_CFLAGS_DEFAULT ?= SPEED
|
||||||
|
|
||||||
|
ifdef OPT_CFLAGS
|
||||||
|
ifneq ("$(origin OPT_CFLAGS)", "command line")
|
||||||
|
$(error " Use OPT_EXTRAS instead of OPT_CFLAGS to add extra flags to OPT_CFLAGS.")
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
OPT_CFLAGS = $(OPT_CFLAGS/$(OPT_CFLAGS_DEFAULT)) $(OPT_EXTRAS)
|
||||||
|
|
||||||
# The gcc compiler segv's on ia64 when compiling bytecodeInterpreter.cpp
|
# The gcc compiler segv's on ia64 when compiling bytecodeInterpreter.cpp
|
||||||
# if we use expensive-optimizations
|
# if we use expensive-optimizations
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -25,8 +25,6 @@
|
|||||||
#
|
#
|
||||||
# IA64 only uses c++ based interpreter
|
# IA64 only uses c++ based interpreter
|
||||||
CFLAGS += -DCC_INTERP -D_LP64=1 -DVM_LITTLE_ENDIAN
|
CFLAGS += -DCC_INTERP -D_LP64=1 -DVM_LITTLE_ENDIAN
|
||||||
# Hotspot uses very unstrict aliasing turn this optimization off
|
|
||||||
OPT_CFLAGS += -fno-strict-aliasing
|
|
||||||
ifeq ($(VERSION),debug)
|
ifeq ($(VERSION),debug)
|
||||||
ASM_FLAGS= -DDEBUG
|
ASM_FLAGS= -DDEBUG
|
||||||
else
|
else
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
46
hotspot/make/linux/makefiles/minimal1.make
Normal file
46
hotspot/make/linux/makefiles/minimal1.make
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
#
|
||||||
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU General Public License version 2 only, as
|
||||||
|
# published by the Free Software Foundation.
|
||||||
|
#
|
||||||
|
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
# version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
# accompanied this code).
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License version
|
||||||
|
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
#
|
||||||
|
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
# or visit www.oracle.com if you need additional information or have any
|
||||||
|
# questions.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
TYPE=MINIMAL1
|
||||||
|
|
||||||
|
INCLUDE_JVMTI ?= false
|
||||||
|
INCLUDE_FPROF ?= false
|
||||||
|
INCLUDE_VM_STRUCTS ?= false
|
||||||
|
INCLUDE_JNI_CHECK ?= false
|
||||||
|
INCLUDE_SERVICES ?= false
|
||||||
|
INCLUDE_MANAGEMENT ?= false
|
||||||
|
INCLUDE_ALTERNATE_GCS ?= false
|
||||||
|
INCLUDE_NMT ?= false
|
||||||
|
INCLUDE_CDS ?= false
|
||||||
|
|
||||||
|
CXXFLAGS += -DMINIMAL_JVM -DCOMPILER1 -DVMTYPE=\"Minimal\"
|
||||||
|
CFLAGS += -DMINIMAL_JVM -DCOMPILER1 -DVMTYPE=\"Minimal\"
|
||||||
|
|
||||||
|
Src_Dirs/MINIMAL1 = $(CORE_PATHS) $(COMPILER1_PATHS)
|
||||||
|
|
||||||
|
Src_Files_EXCLUDE/MINIMAL1 += $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) ciTypeFlow.cpp
|
||||||
|
|
||||||
|
-include $(HS_ALT_MAKE)/$(OSNAME)/makefiles/minimal1.make
|
||||||
|
|
||||||
|
.PHONY: $(HS_ALT_MAKE)/$(OSNAME)/makefiles/minimal1.make
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -192,7 +192,7 @@ SHARK_SPECIFIC_FILES := shark
|
|||||||
ZERO_SPECIFIC_FILES := zero
|
ZERO_SPECIFIC_FILES := zero
|
||||||
|
|
||||||
# Always exclude these.
|
# Always exclude these.
|
||||||
Src_Files_EXCLUDE := jsig.c jvmtiEnvRecommended.cpp jvmtiEnvStub.cpp
|
Src_Files_EXCLUDE += jsig.c jvmtiEnvRecommended.cpp jvmtiEnvStub.cpp
|
||||||
|
|
||||||
# Exclude per type.
|
# Exclude per type.
|
||||||
Src_Files_EXCLUDE/CORE := $(COMPILER1_SPECIFIC_FILES) $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) ciTypeFlow.cpp
|
Src_Files_EXCLUDE/CORE := $(COMPILER1_SPECIFIC_FILES) $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) ciTypeFlow.cpp
|
||||||
@ -387,7 +387,7 @@ include $(MAKEFILES_DIR)/wb.make
|
|||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) $(WB_JAR)
|
build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) dtraceCheck $(WB_JAR)
|
||||||
|
|
||||||
install: install_jvm install_jsig install_saproc
|
install: install_jvm install_jsig install_saproc
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -148,6 +148,13 @@ ifndef HOTSPOT_VM_DISTRO
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# if hotspot-only build and/or OPENJDK isn't passed down, need to set OPENJDK
|
||||||
|
ifndef OPENJDK
|
||||||
|
ifneq ($(call if-has-altsrc,$(HS_COMMON_SRC)/,true,false),true)
|
||||||
|
OPENJDK=true
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HS_BUILD_VER) HOTSPOT_BUILD_VERSION= JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
|
BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HS_BUILD_VER) HOTSPOT_BUILD_VERSION= JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
|
||||||
|
|
||||||
BUILDTREE = \
|
BUILDTREE = \
|
||||||
@ -190,6 +197,7 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
|||||||
echo "SA_BUILD_VERSION = $(HS_BUILD_VER)"; \
|
echo "SA_BUILD_VERSION = $(HS_BUILD_VER)"; \
|
||||||
echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \
|
echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \
|
||||||
echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \
|
echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \
|
||||||
|
echo "OPENJDK = $(OPENJDK)"; \
|
||||||
echo "$(LP64_SETTING/$(DATA_MODE))"; \
|
echo "$(LP64_SETTING/$(DATA_MODE))"; \
|
||||||
echo; \
|
echo; \
|
||||||
echo "# Used for platform dispatching"; \
|
echo "# Used for platform dispatching"; \
|
||||||
|
@ -206,15 +206,15 @@ CONDITIONALLY_UPDATE_JVMOFFS_TARGET = \
|
|||||||
|
|
||||||
# $@.tmp is created first to avoid an empty $(JVMOFFS).h if an error occurs.
|
# $@.tmp is created first to avoid an empty $(JVMOFFS).h if an error occurs.
|
||||||
$(JVMOFFS).h: $(GENOFFS)
|
$(JVMOFFS).h: $(GENOFFS)
|
||||||
$(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -header > $@.tmp
|
$(QUIETLY) LD_LIBRARY_PATH=.:$(LD_LIBRARY_PATH) ./$(GENOFFS) -header > $@.tmp
|
||||||
$(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET)
|
$(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET)
|
||||||
|
|
||||||
$(JVMOFFS)Index.h: $(GENOFFS)
|
$(JVMOFFS)Index.h: $(GENOFFS)
|
||||||
$(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -index > $@.tmp
|
$(QUIETLY) LD_LIBRARY_PATH=.:$(LD_LIBRARY_PATH) ./$(GENOFFS) -index > $@.tmp
|
||||||
$(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET)
|
$(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET)
|
||||||
|
|
||||||
$(JVMOFFS).cpp: $(GENOFFS) $(JVMOFFS).h $(JVMOFFS)Index.h
|
$(JVMOFFS).cpp: $(GENOFFS) $(JVMOFFS).h $(JVMOFFS)Index.h
|
||||||
$(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -table > $@.tmp
|
$(QUIETLY) LD_LIBRARY_PATH=.:$(LD_LIBRARY_PATH) ./$(GENOFFS) -table > $@.tmp
|
||||||
$(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET)
|
$(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET)
|
||||||
|
|
||||||
$(JVMOFFS.o): $(JVMOFFS).h $(JVMOFFS).cpp
|
$(JVMOFFS.o): $(JVMOFFS).h $(JVMOFFS).cpp
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
@echo off
|
@echo off
|
||||||
REM
|
REM
|
||||||
REM Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
|
REM Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
REM
|
REM
|
||||||
REM This code is free software; you can redistribute it and/or modify it
|
REM This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user