Merge
This commit is contained in:
commit
9f17fd50fc
@ -181,3 +181,4 @@ b85b44cced2406792cfb9baab1377ff03e7001d8 jdk8-b55
|
||||
522dfac8ca4d07c0b74025d4ac3b6e5feefbb829 jdk8-b57
|
||||
9367024804874faf8e958adeb333682bab1c0c47 jdk8-b58
|
||||
dae9821589ccd2611bdf7084269b98e819091770 jdk8-b59
|
||||
e07f499b9dccb529ecf74172cf6ac11a195ec57a jdk8-b60
|
||||
|
@ -181,3 +181,4 @@ bf1bb47414e178beff67dc255fc3b97bf401f679 jdk8-b56
|
||||
f3ab4163ae012965fc8acdfc25ce0fece8d6906d jdk8-b57
|
||||
18462a19f7bd66d38015f61ea549a5e0c0c889a3 jdk8-b58
|
||||
d54dc53e223ed9ce7d5f4d2cd02ad9d5def3c2db jdk8-b59
|
||||
207ef43ba69ead6cbbab415d81834545e4d46747 jdk8-b60
|
||||
|
@ -1631,7 +1631,7 @@ public class StubGenerator extends sun.rmi.rmic.iiop.Generator {
|
||||
|
||||
// Write data members...
|
||||
p.pln();
|
||||
p.pln("private " + getName(theType) + " target = null;");
|
||||
p.pln("volatile private " + getName(theType) + " target = null;");
|
||||
p.pln();
|
||||
|
||||
// Write the ids...
|
||||
@ -1695,6 +1695,10 @@ public class StubGenerator extends sun.rmi.rmic.iiop.Generator {
|
||||
|
||||
if (remoteMethods.length > 0) {
|
||||
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.pln("(" + idExtInputStream + ") "+_in+";");
|
||||
p.pO();
|
||||
|
@ -283,3 +283,5 @@ d70102c4cb73158902acaa6016f47c7bc14e0d67 jdk8-b57
|
||||
f2e12eb74117c917c0bb264694c02de4a6a15a10 hs25-b03
|
||||
8a1a6b9b4f20fd2f6a12441d638e51f19a82db19 jdk8-b59
|
||||
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.
|
||||
*
|
||||
* 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;
|
||||
/** Returns the decoded address at the given offset */
|
||||
public Address getCompOopAddressAt (long offset) throws UnmappedAddressException, UnalignedAddressException;
|
||||
public Address getCompKlassAddressAt (long offset) throws UnmappedAddressException, UnalignedAddressException;
|
||||
|
||||
//
|
||||
// Java-related routines
|
||||
|
@ -121,6 +121,9 @@ public interface Debugger extends SymbolLookup, ThreadAccess {
|
||||
public long getHeapOopSize();
|
||||
public long getNarrowOopBase();
|
||||
public int getNarrowOopShift();
|
||||
public long getKlassPtrSize();
|
||||
public long getNarrowKlassBase();
|
||||
public int getNarrowKlassShift();
|
||||
|
||||
public ReadResult readBytesFromProcess(long address, long numBytes)
|
||||
throws DebuggerException;
|
||||
|
@ -58,6 +58,10 @@ public abstract class DebuggerBase implements Debugger {
|
||||
protected long heapOopSize;
|
||||
protected long narrowOopBase; // heap base for 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()
|
||||
private PageCache cache;
|
||||
|
||||
@ -159,10 +163,14 @@ public abstract class DebuggerBase implements Debugger {
|
||||
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.klassPtrSize = klassPtrSize;
|
||||
this.narrowOopBase = narrowOopBase;
|
||||
this.narrowOopShift = narrowOopShift;
|
||||
this.narrowKlassBase = narrowKlassBase;
|
||||
this.narrowKlassShift = narrowKlassShift;
|
||||
}
|
||||
|
||||
/** May be called by subclasses if desired to initialize the page
|
||||
@ -464,6 +472,15 @@ public abstract class DebuggerBase implements Debugger {
|
||||
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)
|
||||
throws UnmappedAddressException, UnalignedAddressException {
|
||||
writeCInteger(address, machDesc.getAddressSize(), value);
|
||||
@ -551,4 +568,15 @@ public abstract class DebuggerBase implements Debugger {
|
||||
public int getNarrowOopShift() {
|
||||
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 jlongSize,
|
||||
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);
|
||||
}
|
||||
|
||||
public Address getCompKlassAddressAt(long offset)
|
||||
throws UnalignedAddressException, UnmappedAddressException {
|
||||
return debugger.readCompOopAddress(addr + offset);
|
||||
}
|
||||
|
||||
//
|
||||
// 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.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -46,6 +46,7 @@ public interface BsdDebugger extends JVMDebugger {
|
||||
throws DebuggerException;
|
||||
public BsdAddress readAddress(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 readCompOopHandle(long address) 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));
|
||||
}
|
||||
|
||||
public BsdAddress readCompKlassAddress(long address)
|
||||
throws UnmappedAddressException, UnalignedAddressException {
|
||||
long value = readCompKlassAddressValue(address);
|
||||
return (value == 0 ? null : new BsdAddress(this, value));
|
||||
}
|
||||
|
||||
/** From the BsdDebugger interface */
|
||||
public BsdOopHandle readOopHandle(long address)
|
||||
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.
|
||||
*
|
||||
* 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);
|
||||
}
|
||||
|
||||
public Address getCompKlassAddressAt(long offset) throws UnalignedAddressException, UnmappedAddressException {
|
||||
return new DummyAddress(debugger, badLong);
|
||||
}
|
||||
|
||||
//
|
||||
// Java-related routines
|
||||
//
|
||||
|
@ -79,6 +79,11 @@ class LinuxAddress implements Address {
|
||||
return debugger.readCompOopAddress(addr + offset);
|
||||
}
|
||||
|
||||
public Address getCompKlassAddressAt(long offset)
|
||||
throws UnalignedAddressException, UnmappedAddressException {
|
||||
return debugger.readCompKlassAddress(addr + offset);
|
||||
}
|
||||
|
||||
//
|
||||
// Java-related routines
|
||||
//
|
||||
|
@ -46,6 +46,7 @@ public interface LinuxDebugger extends JVMDebugger {
|
||||
throws DebuggerException;
|
||||
public LinuxAddress readAddress(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 readCompOopHandle(long address) 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));
|
||||
}
|
||||
|
||||
public LinuxAddress readCompKlassAddress(long address)
|
||||
throws UnmappedAddressException, UnalignedAddressException {
|
||||
long value = readCompKlassAddressValue(address);
|
||||
return (value == 0 ? null : new LinuxAddress(this, value));
|
||||
}
|
||||
|
||||
/** From the LinuxDebugger interface */
|
||||
public LinuxOopHandle readOopHandle(long address)
|
||||
throws UnmappedAddressException, UnalignedAddressException,
|
||||
|
@ -76,6 +76,10 @@ class ProcAddress implements Address {
|
||||
return debugger.readCompOopAddress(addr + offset);
|
||||
}
|
||||
|
||||
public Address getCompKlassAddressAt(long offset) throws UnalignedAddressException, UnmappedAddressException {
|
||||
return debugger.readCompKlassAddress(addr + offset);
|
||||
}
|
||||
|
||||
//
|
||||
// Java-related routines
|
||||
//
|
||||
|
@ -47,6 +47,7 @@ public interface ProcDebugger extends JVMDebugger {
|
||||
throws DebuggerException;
|
||||
public ProcAddress readAddress(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 readCompOopHandle(long address) 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));
|
||||
}
|
||||
|
||||
public ProcAddress readCompKlassAddress(long address)
|
||||
throws UnmappedAddressException, UnalignedAddressException {
|
||||
long value = readCompKlassAddressValue(address);
|
||||
return (value == 0 ? null : new ProcAddress(this, value));
|
||||
}
|
||||
|
||||
/** From the ProcDebugger interface */
|
||||
public ProcOopHandle readOopHandle(long address)
|
||||
throws UnmappedAddressException, UnalignedAddressException, NotInHeapException {
|
||||
|
@ -74,6 +74,9 @@ class RemoteAddress implements Address {
|
||||
public Address getCompOopAddressAt(long offset) throws UnalignedAddressException, UnmappedAddressException {
|
||||
return debugger.readCompOopAddress(addr + offset);
|
||||
}
|
||||
public Address getCompKlassAddressAt(long offset) throws UnalignedAddressException, UnmappedAddressException {
|
||||
return debugger.readCompKlassAddress(addr + offset);
|
||||
}
|
||||
|
||||
//
|
||||
// Java-related routines
|
||||
|
@ -68,6 +68,9 @@ public interface RemoteDebugger extends Remote {
|
||||
public long getHeapOopSize() throws RemoteException;
|
||||
public long getNarrowOopBase() 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,
|
||||
long addrOrId2, boolean isAddress2) throws RemoteException;
|
||||
|
@ -99,7 +99,10 @@ public class RemoteDebuggerClient extends DebuggerBase implements JVMDebugger {
|
||||
javaPrimitiveTypesConfigured = true;
|
||||
narrowOopBase = remoteDebugger.getNarrowOopBase();
|
||||
narrowOopShift = remoteDebugger.getNarrowOopShift();
|
||||
narrowKlassBase = remoteDebugger.getNarrowKlassBase();
|
||||
narrowKlassShift = remoteDebugger.getNarrowKlassShift();
|
||||
heapOopSize = remoteDebugger.getHeapOopSize();
|
||||
klassPtrSize = remoteDebugger.getKlassPtrSize();
|
||||
}
|
||||
catch (RemoteException e) {
|
||||
throw new DebuggerException(e);
|
||||
@ -319,6 +322,12 @@ public class RemoteDebuggerClient extends DebuggerBase implements JVMDebugger {
|
||||
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)
|
||||
throws UnmappedAddressException, UnalignedAddressException, NotInHeapException {
|
||||
long value = readAddressValue(address);
|
||||
|
@ -126,6 +126,18 @@ public class RemoteDebuggerServer extends UnicastRemoteObject
|
||||
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,
|
||||
long addrOrId2, boolean isAddress2) throws RemoteException {
|
||||
ThreadProxy t1 = getThreadProxy(addrOrId1, isAddress1);
|
||||
|
@ -76,6 +76,10 @@ class WindbgAddress implements Address {
|
||||
return debugger.readCompOopAddress(addr + offset);
|
||||
}
|
||||
|
||||
public Address getCompKlassAddressAt(long offset) throws UnalignedAddressException, UnmappedAddressException {
|
||||
return debugger.readCompKlassAddress(addr + offset);
|
||||
}
|
||||
|
||||
//
|
||||
// Java-related routines
|
||||
//
|
||||
|
@ -46,6 +46,7 @@ public interface WindbgDebugger extends JVMDebugger {
|
||||
throws DebuggerException;
|
||||
public WindbgAddress readAddress(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 readCompOopHandle(long address) throws DebuggerException;
|
||||
|
||||
|
@ -321,6 +321,11 @@ public class WindbgDebuggerLocal extends DebuggerBase implements WindbgDebugger
|
||||
return (WindbgAddress) newAddress(readCompOopAddressValue(address));
|
||||
}
|
||||
|
||||
public WindbgAddress readCompKlassAddress(long address)
|
||||
throws UnmappedAddressException, UnalignedAddressException {
|
||||
return (WindbgAddress) newAddress(readCompKlassAddressValue(address));
|
||||
}
|
||||
|
||||
/** From the WindbgDebugger interface */
|
||||
public WindbgOopHandle readOopHandle(long address)
|
||||
throws UnmappedAddressException, UnalignedAddressException, NotInHeapException {
|
||||
|
@ -53,6 +53,8 @@ public class Universe {
|
||||
|
||||
private static AddressField narrowOopBaseField;
|
||||
private static CIntegerField narrowOopShiftField;
|
||||
private static AddressField narrowKlassBaseField;
|
||||
private static CIntegerField narrowKlassShiftField;
|
||||
|
||||
static {
|
||||
VM.registerVMInitializedObserver(new Observer() {
|
||||
@ -86,6 +88,8 @@ public class Universe {
|
||||
|
||||
narrowOopBaseField = type.getAddressField("_narrow_oop._base");
|
||||
narrowOopShiftField = type.getCIntegerField("_narrow_oop._shift");
|
||||
narrowKlassBaseField = type.getAddressField("_narrow_klass._base");
|
||||
narrowKlassShiftField = type.getCIntegerField("_narrow_klass._shift");
|
||||
}
|
||||
|
||||
public Universe() {
|
||||
@ -111,6 +115,19 @@ public class Universe {
|
||||
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. */
|
||||
public boolean isIn(Address p) {
|
||||
return heap().isIn(p);
|
||||
|
@ -59,7 +59,7 @@ public class Array extends Oop {
|
||||
if (headerSize != 0) {
|
||||
return headerSize;
|
||||
}
|
||||
if (VM.getVM().isCompressedHeadersEnabled()) {
|
||||
if (VM.getVM().isCompressedKlassPointersEnabled()) {
|
||||
headerSize = typeSize;
|
||||
} else {
|
||||
headerSize = VM.getVM().alignUp(typeSize + VM.getVM().getIntSize(),
|
||||
@ -80,7 +80,7 @@ public class Array extends Oop {
|
||||
if (lengthOffsetInBytes != 0) {
|
||||
return lengthOffsetInBytes;
|
||||
}
|
||||
if (VM.getVM().isCompressedHeadersEnabled()) {
|
||||
if (VM.getVM().isCompressedKlassPointersEnabled()) {
|
||||
lengthOffsetInBytes = typeSize - VM.getVM().getIntSize();
|
||||
} else {
|
||||
lengthOffsetInBytes = typeSize;
|
||||
|
@ -44,7 +44,7 @@ public class ArrayKlass extends Klass {
|
||||
}
|
||||
|
||||
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);
|
||||
higherDimension = new MetadataField(type.getAddressField("_higher_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.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* 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.
|
||||
public static long getHeaderSize() {
|
||||
if (VM.getVM().isCompressedHeadersEnabled()) {
|
||||
if (VM.getVM().isCompressedKlassPointersEnabled()) {
|
||||
return typeSize - VM.getVM().getIntSize();
|
||||
} else {
|
||||
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.
|
||||
*
|
||||
* 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 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) {
|
||||
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
|
||||
|
@ -55,8 +55,8 @@ abstract public class Metadata extends VMObject {
|
||||
metadataConstructor.addMapping("InstanceMirrorKlass", InstanceMirrorKlass.class);
|
||||
metadataConstructor.addMapping("InstanceRefKlass", InstanceRefKlass.class);
|
||||
metadataConstructor.addMapping("InstanceClassLoaderKlass", InstanceClassLoaderKlass.class);
|
||||
metadataConstructor.addMapping("typeArrayKlass", TypeArrayKlass.class);
|
||||
metadataConstructor.addMapping("objArrayKlass", ObjArrayKlass.class);
|
||||
metadataConstructor.addMapping("TypeArrayKlass", TypeArrayKlass.class);
|
||||
metadataConstructor.addMapping("ObjArrayKlass", ObjArrayKlass.class);
|
||||
metadataConstructor.addMapping("Method", Method.class);
|
||||
metadataConstructor.addMapping("MethodData", MethodData.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.debugger.*;
|
||||
|
||||
// The class for an C int field simply provides access to the value.
|
||||
public class MetadataField extends Field {
|
||||
|
||||
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.
|
||||
*
|
||||
* 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 {
|
||||
Type type = db.lookupType("objArrayKlass");
|
||||
Type type = db.lookupType("ObjArrayKlass");
|
||||
elementKlass = new MetadataField(type.getAddressField("_element_klass"), 0);
|
||||
bottomKlass = new MetadataField(type.getAddressField("_bottom_klass"), 0);
|
||||
}
|
||||
|
@ -47,10 +47,7 @@ public class Oop {
|
||||
Type type = db.lookupType("oopDesc");
|
||||
mark = new CIntField(type.getCIntegerField("_mark"), 0);
|
||||
klass = new MetadataField(type.getAddressField("_metadata._klass"), 0);
|
||||
if (VM.getVM().isCompressedHeadersEnabled()) {
|
||||
// compressedKlass = new CIntField(type.getCIntegerField("_metadata._compressed_klass"), 0);
|
||||
throw new InternalError("unimplemented");
|
||||
}
|
||||
compressedKlass = new NarrowKlassField(type.getAddressField("_metadata._compressed_klass"), 0);
|
||||
headerSize = type.getSize();
|
||||
}
|
||||
|
||||
@ -74,13 +71,13 @@ public class Oop {
|
||||
|
||||
private static CIntField mark;
|
||||
private static MetadataField klass;
|
||||
private static CIntField compressedKlass;
|
||||
private static NarrowKlassField compressedKlass;
|
||||
|
||||
// Accessors for declared fields
|
||||
public Mark getMark() { return new Mark(getHandle()); }
|
||||
public Klass getKlass() {
|
||||
if (VM.getVM().isCompressedHeadersEnabled()) {
|
||||
throw new InternalError("unimplemented");
|
||||
if (VM.getVM().isCompressedKlassPointersEnabled()) {
|
||||
return (Klass)compressedKlass.getValue(getHandle());
|
||||
} else {
|
||||
return (Klass)klass.getValue(getHandle());
|
||||
}
|
||||
@ -150,7 +147,7 @@ public class Oop {
|
||||
void iterateFields(OopVisitor visitor, boolean doVMFields) {
|
||||
if (doVMFields) {
|
||||
visitor.doCInt(mark, true);
|
||||
if (VM.getVM().isCompressedHeadersEnabled()) {
|
||||
if (VM.getVM().isCompressedKlassPointersEnabled()) {
|
||||
throw new InternalError("unimplemented");
|
||||
} else {
|
||||
visitor.doMetadata(klass, true);
|
||||
@ -210,8 +207,8 @@ public class Oop {
|
||||
if (handle == null) {
|
||||
return null;
|
||||
}
|
||||
if (VM.getVM().isCompressedHeadersEnabled()) {
|
||||
throw new InternalError("Unimplemented");
|
||||
if (VM.getVM().isCompressedKlassPointersEnabled()) {
|
||||
return (Klass)Metadata.instantiateWrapperFor(handle.getCompKlassAddressAt(compressedKlass.getOffset()));
|
||||
} else {
|
||||
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.utilities.*;
|
||||
|
||||
// TypeArrayKlass is a proxy for typeArrayKlass in the JVM
|
||||
// TypeArrayKlass is a proxy for TypeArrayKlass in the JVM
|
||||
|
||||
public class TypeArrayKlass extends ArrayKlass {
|
||||
static {
|
||||
@ -43,7 +43,7 @@ public class TypeArrayKlass extends ArrayKlass {
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -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.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -63,11 +63,7 @@ public class java_lang_Class {
|
||||
|
||||
/** get Klass* field at offset hc_klass_offset from a java.lang.Class object */
|
||||
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 */
|
||||
|
@ -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.
|
||||
*
|
||||
* 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 heapWordSize;
|
||||
private int heapOopSize;
|
||||
private int klassPtrSize;
|
||||
private int oopSize;
|
||||
/** This is only present in a non-core build */
|
||||
private CodeCache codeCache;
|
||||
@ -129,7 +130,7 @@ public class VM {
|
||||
private static CIntegerType boolType;
|
||||
private Boolean sharingEnabled;
|
||||
private Boolean compressedOopsEnabled;
|
||||
private Boolean compressedHeadersEnabled;
|
||||
private Boolean compressedKlassPointersEnabled;
|
||||
|
||||
// command line flags supplied to VM - see struct Flag in globals.hpp
|
||||
public static final class Flag {
|
||||
@ -350,6 +351,12 @@ public class VM {
|
||||
} else {
|
||||
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 */
|
||||
@ -374,8 +381,9 @@ public class VM {
|
||||
((Observer) iter.next()).update(null, null);
|
||||
}
|
||||
|
||||
debugger.putHeapConst(soleInstance.getHeapOopSize(), Universe.getNarrowOopBase(),
|
||||
Universe.getNarrowOopShift());
|
||||
debugger.putHeapConst(soleInstance.getHeapOopSize(), soleInstance.getKlassPtrSize(),
|
||||
Universe.getNarrowOopBase(), Universe.getNarrowOopShift(),
|
||||
Universe.getNarrowKlassBase(), Universe.getNarrowKlassShift());
|
||||
}
|
||||
|
||||
/** This is used by the debugging system */
|
||||
@ -536,6 +544,10 @@ public class VM {
|
||||
public int getHeapOopSize() {
|
||||
return heapOopSize;
|
||||
}
|
||||
|
||||
public int getKlassPtrSize() {
|
||||
return klassPtrSize;
|
||||
}
|
||||
/** Utility routine for getting data structure alignment correct */
|
||||
public long alignUp(long size, long alignment) {
|
||||
return (size + alignment - 1) & ~(alignment - 1);
|
||||
@ -784,13 +796,13 @@ public class VM {
|
||||
return compressedOopsEnabled.booleanValue();
|
||||
}
|
||||
|
||||
public boolean isCompressedHeadersEnabled() {
|
||||
if (compressedHeadersEnabled == null) {
|
||||
Flag flag = getCommandLineFlag("UseCompressedHeaders");
|
||||
compressedHeadersEnabled = (flag == null) ? Boolean.FALSE:
|
||||
public boolean isCompressedKlassPointersEnabled() {
|
||||
if (compressedKlassPointersEnabled == null) {
|
||||
Flag flag = getCommandLineFlag("UseCompressedKlassPointers");
|
||||
compressedKlassPointersEnabled = (flag == null) ? Boolean.FALSE:
|
||||
(flag.getBool()? Boolean.TRUE: Boolean.FALSE);
|
||||
}
|
||||
return compressedHeadersEnabled.booleanValue();
|
||||
return compressedKlassPointersEnabled.booleanValue();
|
||||
}
|
||||
|
||||
public int getObjectAlignmentInBytes() {
|
||||
|
@ -354,15 +354,14 @@ public class ClassWriter implements /* imports */ ClassConstants
|
||||
}
|
||||
|
||||
protected void writeFields() throws IOException {
|
||||
U2Array fields = klass.getFields();
|
||||
final int length = (int) fields.length();
|
||||
final int javaFieldsCount = klass.getJavaFieldsCount();
|
||||
|
||||
// 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);
|
||||
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.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* 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) {
|
||||
Type type = db.lookupType("oopDesc");
|
||||
|
||||
if (VM.getVM().isCompressedHeadersEnabled()) {
|
||||
// klassField = type.getNarrowOopField("_metadata._compressed_klass");
|
||||
throw new InternalError("unimplemented");
|
||||
if (VM.getVM().isCompressedKlassPointersEnabled()) {
|
||||
klassField = type.getAddressField("_metadata._compressed_klass");
|
||||
} else {
|
||||
klassField = type.getAddressField("_metadata._klass");
|
||||
}
|
||||
@ -70,7 +69,11 @@ public class RobustOopDeterminator {
|
||||
}
|
||||
try {
|
||||
// Try to instantiate the Klass
|
||||
Metadata.instantiateWrapperFor(klassField.getValue(oop));
|
||||
if (VM.getVM().isCompressedKlassPointersEnabled()) {
|
||||
Metadata.instantiateWrapperFor(oop.getCompKlassAddressAt(klassField.getOffset()));
|
||||
} else {
|
||||
Metadata.instantiateWrapperFor(klassField.getValue(oop));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
catch (AddressException e) {
|
||||
|
@ -46,7 +46,7 @@
|
||||
|
||||
#else
|
||||
|
||||
#include <strings.h>
|
||||
#include <string.h>
|
||||
#include <dlfcn.h>
|
||||
#include <link.h>
|
||||
|
||||
|
@ -76,6 +76,8 @@ endif
|
||||
|
||||
include $(GAMMADIR)/make/altsrc.make
|
||||
|
||||
-include $(HS_ALT_MAKE)/Makefile.make
|
||||
|
||||
ifneq ($(ALT_OUTPUTDIR),)
|
||||
ALT_OUT=ALT_OUTPUTDIR=$(ALT_OUTPUTDIR)
|
||||
else
|
||||
@ -88,16 +90,23 @@ C2_VM_TARGETS=product fastdebug optimized jvmg
|
||||
KERNEL_VM_TARGETS=productkernel fastdebugkernel optimizedkernel jvmgkernel
|
||||
ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero jvmgzero
|
||||
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_FASTDEBUG_TARGETS=fastdebug fastdebug1 fastdebugkernel docs export_fastdebug
|
||||
COMMON_VM_DEBUG_TARGETS=jvmg jvmg1 jvmgkernel docs export_debug
|
||||
COMMON_VM_PRODUCT_TARGETS=product product1 docs export_product
|
||||
COMMON_VM_FASTDEBUG_TARGETS=fastdebug fastdebug1 docs export_fastdebug
|
||||
COMMON_VM_DEBUG_TARGETS=jvmg jvmg1 docs export_debug
|
||||
|
||||
# JDK directory list
|
||||
JDK_DIRS=bin include jre lib demo
|
||||
|
||||
all: all_product all_fastdebug
|
||||
|
||||
ifeq ($(JVM_VARIANT_MINIMAL1),true)
|
||||
all_product: productminimal1
|
||||
all_fastdebug: fastdebugminimal1
|
||||
all_debug: jvmgminimal1
|
||||
endif
|
||||
|
||||
ifdef BUILD_CLIENT_ONLY
|
||||
all_product: product1 docs export_product
|
||||
all_fastdebug: fastdebug1 docs export_fastdebug
|
||||
@ -114,7 +123,7 @@ all_debug: $(COMMON_VM_DEBUG_TARGETS)
|
||||
endif
|
||||
endif
|
||||
|
||||
all_optimized: optimized optimized1 optimizedkernel docs export_optimized
|
||||
all_optimized: optimized optimized1 docs export_optimized
|
||||
|
||||
allzero: all_productzero all_fastdebugzero
|
||||
all_productzero: productzero docs export_product
|
||||
@ -167,6 +176,11 @@ $(SHARK_VM_TARGETS):
|
||||
$(MAKE) BUILD_FLAVOR=$(@:%shark=%) VM_TARGET=$@ \
|
||||
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
|
||||
generic_build1:
|
||||
$(MKDIR) -p $(OUTPUTDIR)
|
||||
@ -239,6 +253,27 @@ generic_buildshark:
|
||||
$(MAKE) -f $(ABS_OS_MAKEFILE) \
|
||||
$(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
|
||||
generic_export: $(EXPORT_LIST)
|
||||
export_product:
|
||||
@ -287,6 +322,8 @@ C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR)
|
||||
KERNEL_DIR=$(KERNEL_BASE_DIR)/$(VM_SUBDIR)
|
||||
ZERO_DIR=$(ZERO_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)
|
||||
MISC_DIR=$(C2_DIR)
|
||||
@ -308,6 +345,10 @@ ifeq ($(JVM_VARIANT_ZERO), true)
|
||||
MISC_DIR=$(ZERO_DIR)
|
||||
GEN_DIR=$(ZERO_BASE_DIR)/generated
|
||||
endif
|
||||
ifeq ($(JVM_VARIANT_MINIMAL1), true)
|
||||
MISC_DIR=$(MINIMAL1_DIR)
|
||||
GEN_DIR=$(MINIMAL1_BASE_DIR)/generated
|
||||
endif
|
||||
|
||||
# Bin files (windows)
|
||||
ifeq ($(OSNAME),windows)
|
||||
@ -357,6 +398,16 @@ $(EXPORT_KERNEL_DIR)/%.map: $(KERNEL_DIR)/%.map
|
||||
$(install-file)
|
||||
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
|
||||
ifneq ($(OSNAME),windows)
|
||||
ifeq ($(JVM_VARIANT_SERVER), true)
|
||||
@ -411,6 +462,26 @@ ifneq ($(OSNAME),windows)
|
||||
$(EXPORT_SERVER_DIR)/%.$(LIBRARY_SUFFIX): $(ZERO_DIR)/%.$(LIBRARY_SUFFIX)
|
||||
$(install-file)
|
||||
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
|
||||
|
||||
# Jar file (sa-jdi.jar)
|
||||
@ -451,7 +522,7 @@ $(EXPORT_DOCS_DIR)/platform/jvmti/%: $(DOCS_DIR)/%
|
||||
$(install-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)
|
||||
$(RM) $@.temp
|
||||
$(SED) 's/\(separated by \)[;:]/\1$(PATH_SEP)/g' $< > $@.temp
|
||||
@ -467,6 +538,7 @@ clean_build:
|
||||
$(RM) -r $(KERNEL_DIR)
|
||||
$(RM) -r $(ZERO_DIR)
|
||||
$(RM) -r $(SHARK_DIR)
|
||||
$(RM) -r $(MINIMAL1_DIR)
|
||||
clean_export:
|
||||
$(RM) -r $(EXPORT_PATH)
|
||||
clean_jdk:
|
||||
@ -574,10 +646,11 @@ target_help:
|
||||
@$(ECHO) "create_jdk: Create JDK image, export all files into it"
|
||||
@$(ECHO) "update_jdk: Update JDK image with fresh exported files"
|
||||
@$(ECHO) " "
|
||||
@$(ECHO) "Others targets are:"
|
||||
@$(ECHO) "Other targets are:"
|
||||
@$(ECHO) " $(C1_VM_TARGETS)"
|
||||
@$(ECHO) " $(C2_VM_TARGETS)"
|
||||
@$(ECHO) " $(KERNEL_VM_TARGETS)"
|
||||
@$(ECHO) " $(MINIMAL1_VM_TARGETS)"
|
||||
|
||||
# Variable help (only common ones used by this workspace)
|
||||
variable_help: variable_help_intro variable_list variable_help_end
|
||||
@ -672,9 +745,10 @@ endif
|
||||
include $(GAMMADIR)/make/jprt.gmk
|
||||
|
||||
.PHONY: all world clobber clean help $(C1_VM_TARGETS) $(C2_VM_TARGETS) \
|
||||
$(KERNEL_VM_TARGETS) \
|
||||
generic_build1 generic_build2 generic_buildkernel generic_export \
|
||||
$(KERNEL_VM_TARGETS) $(MINIMAL1_VM_TARGETS) \
|
||||
generic_build1 generic_build2 generic_buildkernel generic_buildminimal1 generic_export \
|
||||
export_product export_fastdebug export_debug export_optimized \
|
||||
export_jdk_product export_jdk_fastdebug export_jdk_debug \
|
||||
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.
|
||||
#
|
||||
# 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
|
||||
# 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:
|
||||
#
|
||||
# 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_ZERO = $(addprefix $(OSNAME)_$(VARIANTARCH)_zero/,$(TARGETS))
|
||||
SUBDIRS_SHARK = $(addprefix $(OSNAME)_$(VARIANTARCH)_shark/,$(TARGETS))
|
||||
SUBDIRS_MINIMAL1 = $(addprefix $(OSNAME)_$(BUILDARCH)_minimal1/,$(TARGETS))
|
||||
|
||||
TARGETS_C2 = $(TARGETS)
|
||||
TARGETS_C1 = $(addsuffix 1,$(TARGETS))
|
||||
@ -206,6 +211,7 @@ TARGETS_TIERED = $(addsuffix tiered,$(TARGETS))
|
||||
TARGETS_CORE = $(addsuffix core,$(TARGETS))
|
||||
TARGETS_ZERO = $(addsuffix zero,$(TARGETS))
|
||||
TARGETS_SHARK = $(addsuffix shark,$(TARGETS))
|
||||
TARGETS_MINIMAL1 = $(addsuffix minimal1,$(TARGETS))
|
||||
|
||||
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)
|
||||
@ -223,6 +229,7 @@ all:
|
||||
@echo " $(TARGETS_CORE)"
|
||||
@echo " $(TARGETS_ZERO)"
|
||||
@echo " $(TARGETS_SHARK)"
|
||||
@echo " $(TARGETS_MINIMAL1)"
|
||||
|
||||
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
|
||||
$(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
|
||||
$(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
|
||||
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:
|
||||
tree: $(SUBDIRS_C2)
|
||||
tree1: $(SUBDIRS_C1)
|
||||
treecore: $(SUBDIRS_CORE)
|
||||
treezero: $(SUBDIRS_ZERO)
|
||||
treeshark: $(SUBDIRS_SHARK)
|
||||
treeminimal1: $(SUBDIRS_MINIMAL1)
|
||||
|
||||
# Doc target. This is the same for all build options.
|
||||
# Hence create a docs directory beside ...$(ARCH)_[...]
|
||||
@ -367,17 +388,23 @@ shark: jvmgshark productshark
|
||||
clean_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_,,$@)
|
||||
|
||||
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 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: all compiler1 compiler2 core zero shark
|
||||
.PHONY: clean clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark docs clean_docs
|
||||
.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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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 $(GAMMADIR)/make/scm.make
|
||||
include $(GAMMADIR)/make/defs.make
|
||||
include $(GAMMADIR)/make/altsrc.make
|
||||
|
||||
|
||||
@ -163,6 +164,13 @@ ifndef HOTSPOT_VM_DISTRO
|
||||
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 = \
|
||||
@ -195,6 +203,8 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
||||
sed -n '/=/s/^ */Platform_/p' < $(PLATFORM_FILE); \
|
||||
echo; \
|
||||
echo "GAMMADIR = $(GAMMADIR)"; \
|
||||
echo "HS_ALT_MAKE = $(HS_ALT_MAKE)"; \
|
||||
echo "OSNAME = $(OSNAME)"; \
|
||||
echo "SYSDEFS = \$$(Platform_sysdefs)"; \
|
||||
echo "SRCARCH = $(SRCARCH)"; \
|
||||
echo "BUILDARCH = $(BUILDARCH)"; \
|
||||
@ -205,6 +215,7 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
||||
echo "SA_BUILD_VERSION = $(HS_BUILD_VER)"; \
|
||||
echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \
|
||||
echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \
|
||||
echo "OPENJDK = $(OPENJDK)"; \
|
||||
echo; \
|
||||
echo "# Used for platform dispatching"; \
|
||||
echo "TARGET_DEFINES = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \
|
||||
@ -251,6 +262,7 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
||||
[ -n "$(SPEC)" ] && \
|
||||
echo "include $(SPEC)"; \
|
||||
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(VARIANT).make"; \
|
||||
echo "include \$$(GAMMADIR)/make/excludeSrc.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_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
|
||||
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
|
||||
|
||||
@ -168,6 +169,19 @@ ifeq ($(JVM_VARIANT_CLIENT),true)
|
||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
|
||||
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
|
||||
# No SA Support for PPC, IA64, ARM or zero
|
||||
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.
|
||||
#
|
||||
# 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.
|
||||
$(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 ] ; \
|
||||
then rm -f $@; mv $@.tmp $@; \
|
||||
else rm -f $@.tmp; \
|
||||
fi
|
||||
|
||||
$(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 ] ; \
|
||||
then rm -f $@; mv $@.tmp $@; \
|
||||
else rm -f $@.tmp; \
|
||||
fi
|
||||
|
||||
$(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 ] ; \
|
||||
then rm -f $@; mv $@.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.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@ -151,11 +151,6 @@ ifdef CC_INTERP
|
||||
CFLAGS += -DCC_INTERP
|
||||
endif
|
||||
|
||||
# Build for embedded targets
|
||||
ifdef JAVASE_EMBEDDED
|
||||
CFLAGS += -DJAVASE_EMBEDDED
|
||||
endif
|
||||
|
||||
# Keep temporary files (.ii, .s)
|
||||
ifdef NEED_ASM
|
||||
CFLAGS += -save-temps
|
||||
@ -186,20 +181,32 @@ ifeq ($(OS_VENDOR), Darwin)
|
||||
CFLAGS_WARN/os_bsd.o = $(CFLAGS_WARN/DEFAULT) -Wno-deprecated-declarations
|
||||
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
|
||||
ifeq ($(OS_VENDOR), Darwin)
|
||||
# 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>
|
||||
OPT_CFLAGS += -Os
|
||||
OPT_CFLAGS_DEFAULT ?= SIZE
|
||||
else
|
||||
OPT_CFLAGS += -O3
|
||||
OPT_CFLAGS_DEFAULT ?= SPEED
|
||||
endif
|
||||
|
||||
# Hotspot uses very unstrict aliasing turn this optimization off
|
||||
OPT_CFLAGS += -fno-strict-aliasing
|
||||
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
|
||||
|
||||
# The gcc compiler segv's on ia64 when compiling bytecodeInterpreter.cpp
|
||||
OPT_CFLAGS = $(OPT_CFLAGS/$(OPT_CFLAGS_DEFAULT)) $(OPT_EXTRAS)
|
||||
|
||||
# The gcc compiler segv's on ia64 when compiling bytecodeInterpreter.cpp
|
||||
# if we use expensive-optimizations
|
||||
ifeq ($(BUILDARCH), ia64)
|
||||
OPT_CFLAGS += -fno-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.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@ -25,8 +25,6 @@
|
||||
#
|
||||
# IA64 only uses c++ based interpreter
|
||||
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)
|
||||
ASM_FLAGS= -DDEBUG
|
||||
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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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. Oracle designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Oracle in the LICENSE file that accompanied this code.
|
||||
# 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
|
||||
@ -20,12 +19,28 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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
|
||||
|
||||
# Always exclude these.
|
||||
Src_Files_EXCLUDE := jsig.c jvmtiEnvRecommended.cpp jvmtiEnvStub.cpp
|
||||
Src_Files_EXCLUDE += jsig.c jvmtiEnvRecommended.cpp jvmtiEnvStub.cpp
|
||||
|
||||
# Exclude per type.
|
||||
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),)
|
||||
ifneq ($(OPENJDK),true)
|
||||
HS_ALT_MAKE=$(GAMMADIR)/make/closed
|
||||
@ -30,12 +51,10 @@ ifeq ($(HS_ALT_MAKE),)
|
||||
endif
|
||||
endif
|
||||
|
||||
# The common definitions for hotspot builds.
|
||||
|
||||
# Optionally include SPEC file generated by configure.
|
||||
ifneq ($(SPEC),)
|
||||
include $(SPEC)
|
||||
endif
|
||||
#
|
||||
# Include alternate defs.make if it exists
|
||||
#
|
||||
-include $(HS_ALT_MAKE)/defs.make
|
||||
|
||||
# Default to verbose build logs (show all compile lines):
|
||||
MAKE_VERBOSE=y
|
||||
@ -84,20 +103,6 @@ ifeq ($(JVM_VARIANTS),)
|
||||
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
|
||||
include $(GAMMADIR)/make/hotspot_version
|
||||
|
||||
@ -339,3 +344,4 @@ ifndef JAVASE_EMBEDDED
|
||||
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jfr.h
|
||||
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_MINOR_VER=0
|
||||
HS_BUILD_NUMBER=04
|
||||
HS_BUILD_NUMBER=05
|
||||
|
||||
JDK_MAJOR_VER=1
|
||||
JDK_MINOR_VER=8
|
||||
|
@ -175,6 +175,10 @@ VARIANTARCH = $(subst i386,i486,$(ZERO_LIBARCH))
|
||||
# profiledshark shark <os>_<arch>_shark/profiled
|
||||
# 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:
|
||||
#
|
||||
# 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_ZERO = $(addprefix $(OSNAME)_$(VARIANTARCH)_zero/,$(TARGETS))
|
||||
SUBDIRS_SHARK = $(addprefix $(OSNAME)_$(VARIANTARCH)_shark/,$(TARGETS))
|
||||
SUBDIRS_MINIMAL1 = $(addprefix $(OSNAME)_$(BUILDARCH)_minimal1/,$(TARGETS))
|
||||
|
||||
TARGETS_C2 = $(TARGETS)
|
||||
TARGETS_C1 = $(addsuffix 1,$(TARGETS))
|
||||
@ -206,6 +211,7 @@ TARGETS_TIERED = $(addsuffix tiered,$(TARGETS))
|
||||
TARGETS_CORE = $(addsuffix core,$(TARGETS))
|
||||
TARGETS_ZERO = $(addsuffix zero,$(TARGETS))
|
||||
TARGETS_SHARK = $(addsuffix shark,$(TARGETS))
|
||||
TARGETS_MINIMAL1 = $(addsuffix minimal1,$(TARGETS))
|
||||
|
||||
BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make
|
||||
BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH)
|
||||
@ -224,6 +230,7 @@ all:
|
||||
@echo " $(TARGETS_CORE)"
|
||||
@echo " $(TARGETS_ZERO)"
|
||||
@echo " $(TARGETS_SHARK)"
|
||||
@echo " $(TARGETS_MINIMAL1)"
|
||||
|
||||
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
|
||||
$(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
|
||||
$(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
|
||||
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:
|
||||
tree: $(SUBDIRS_C2)
|
||||
tree1: $(SUBDIRS_C1)
|
||||
treecore: $(SUBDIRS_CORE)
|
||||
treezero: $(SUBDIRS_ZERO)
|
||||
treeshark: $(SUBDIRS_SHARK)
|
||||
treeminimal1: $(SUBDIRS_MINIMAL1)
|
||||
|
||||
# Doc target. This is the same for all build options.
|
||||
# Hence create a docs directory beside ...$(ARCH)_[...]
|
||||
@ -369,17 +391,23 @@ shark: jvmgshark productshark
|
||||
clean_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_,,$@)
|
||||
|
||||
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 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: all compiler1 compiler2 core zero shark
|
||||
.PHONY: clean clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark docs clean_docs
|
||||
.PHONY: checks check_os_version check_j2se_version
|
||||
.PHONY: $(HS_ALT_MAKE)/$(OSNAME)/Makefile.make
|
||||
|
@ -57,6 +57,7 @@
|
||||
|
||||
-include $(SPEC)
|
||||
include $(GAMMADIR)/make/scm.make
|
||||
include $(GAMMADIR)/make/defs.make
|
||||
include $(GAMMADIR)/make/altsrc.make
|
||||
|
||||
|
||||
@ -156,6 +157,13 @@ ifndef HOTSPOT_VM_DISTRO
|
||||
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 = \
|
||||
@ -188,6 +196,8 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
||||
sed -n '/=/s/^ */Platform_/p' < $(PLATFORM_FILE); \
|
||||
echo; \
|
||||
echo "GAMMADIR = $(GAMMADIR)"; \
|
||||
echo "HS_ALT_MAKE = $(HS_ALT_MAKE)"; \
|
||||
echo "OSNAME = $(OSNAME)"; \
|
||||
echo "SYSDEFS = \$$(Platform_sysdefs)"; \
|
||||
echo "SRCARCH = $(SRCARCH)"; \
|
||||
echo "BUILDARCH = $(BUILDARCH)"; \
|
||||
@ -198,6 +208,7 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
||||
echo "SA_BUILD_VERSION = $(HS_BUILD_VER)"; \
|
||||
echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \
|
||||
echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \
|
||||
echo "OPENJDK = $(OPENJDK)"; \
|
||||
echo; \
|
||||
echo "# Used for platform dispatching"; \
|
||||
echo "TARGET_DEFINES = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \
|
||||
@ -254,6 +265,7 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
||||
[ -n "$(SPEC)" ] && \
|
||||
echo "include $(SPEC)"; \
|
||||
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(VARIANT).make"; \
|
||||
echo "include \$$(GAMMADIR)/make/excludeSrc.make"; \
|
||||
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(COMPILER).make"; \
|
||||
) > $@
|
||||
|
||||
|
@ -254,6 +254,7 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||
endif
|
||||
EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
|
||||
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
|
||||
|
||||
@ -281,6 +282,19 @@ ifeq ($(JVM_VARIANT_CLIENT),true)
|
||||
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
|
||||
# No SA Support for PPC, IA64, ARM or zero
|
||||
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.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@ -25,3 +26,40 @@
|
||||
# Linux does not build jvm_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
|
||||
endif
|
||||
|
||||
# Build for embedded targets
|
||||
ifdef JAVASE_EMBEDDED
|
||||
CFLAGS += -DJAVASE_EMBEDDED
|
||||
endif
|
||||
|
||||
# Keep temporary files (.ii, .s)
|
||||
ifdef NEED_ASM
|
||||
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/$@))
|
||||
|
||||
# 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
|
||||
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
|
||||
# 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.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@ -25,8 +25,6 @@
|
||||
#
|
||||
# IA64 only uses c++ based interpreter
|
||||
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)
|
||||
ASM_FLAGS= -DDEBUG
|
||||
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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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
|
||||
|
||||
# Always exclude these.
|
||||
Src_Files_EXCLUDE := jsig.c jvmtiEnvRecommended.cpp jvmtiEnvStub.cpp
|
||||
Src_Files_EXCLUDE += jsig.c jvmtiEnvRecommended.cpp jvmtiEnvStub.cpp
|
||||
|
||||
# Exclude per type.
|
||||
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
|
||||
|
||||
|
@ -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.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -148,6 +148,13 @@ ifndef HOTSPOT_VM_DISTRO
|
||||
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 = \
|
||||
@ -190,6 +197,7 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
||||
echo "SA_BUILD_VERSION = $(HS_BUILD_VER)"; \
|
||||
echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \
|
||||
echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \
|
||||
echo "OPENJDK = $(OPENJDK)"; \
|
||||
echo "$(LP64_SETTING/$(DATA_MODE))"; \
|
||||
echo; \
|
||||
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.
|
||||
$(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)
|
||||
|
||||
$(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)
|
||||
|
||||
$(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)
|
||||
|
||||
$(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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,6 +1,6 @@
|
||||
@echo off
|
||||
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
|
||||
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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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…
Reference in New Issue
Block a user