# HG changeset patch # User Mario Torre # Date 1304357759 -7200 # Node ID 6add930f34ce3be0d3775b54c20c0473caba5af0 # Parent 2b2a1c413c0fbd78985a833c1126e33235c7af7e Remove SPI (moved to IcedRobot sub project). diff -r 2b2a1c413c0f -r 6add930f34ce .hgignore --- a/.hgignore Thu Apr 28 00:26:59 2011 +0200 +++ b/.hgignore Mon May 02 19:35:59 2011 +0200 @@ -3,3 +3,6 @@ .settings target nbactions.xml + +syntax: glob +*.orig diff -r 2b2a1c413c0f -r 6add930f34ce src/main/java/dalvik/system/io/utils/InputStreamHelper.java --- a/src/main/java/dalvik/system/io/utils/InputStreamHelper.java Thu Apr 28 00:26:59 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -/* - * Daneel - Dalvik to Java bytecode compiler - * Copyright (C) 2011 IcedRobot team - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program 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 for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * This file is subject to the "Classpath" exception: - * - * Linking this library statically or dynamically with other modules is - * making a combined work based on this library. Thus, the terms and - * conditions of the GNU General Public License cover the whole - * combination. - * - * As a special exception, the copyright holders of this library give you - * permission to link this library with independent modules to produce an - * executable, regardless of the license terms of these independent - * modules, and to copy and distribute the resulting executable under terms - * of your choice, provided that you also meet, for each linked independent - * module, the terms and conditions of the license of that module. An - * independent module is a module which is not derived from or based on - * this library. If you modify this library, you may extend this exception - * to your version of the library, but you are not obligated to do so. If - * you do not wish to do so, delete this exception statement from your - * version. - */ - -package dalvik.system.io.utils; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; - -/** - * - */ -public class InputStreamHelper { - - public static byte[] readFullyAndClose(InputStream inputStream) throws IOException { - - ByteArrayOutputStream outputBuffer = new ByteArrayOutputStream(); - byte[] buffer = new byte[1024]; - int read = 0; - while ((read = inputStream.read(buffer)) != -1) { - outputBuffer.write(buffer, 0, read); - } - inputStream.close(); - - return outputBuffer.toByteArray(); - } -} diff -r 2b2a1c413c0f -r 6add930f34ce src/main/java/org/icedrobot/daneel/spi/dalvik/system/DaneelLoggerSPI.java --- a/src/main/java/org/icedrobot/daneel/spi/dalvik/system/DaneelLoggerSPI.java Thu Apr 28 00:26:59 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -/* - * Daneel - Dalvik to Java bytecode compiler - * Copyright (C) 2011 IcedRobot team - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program 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 for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * This file is subject to the "Classpath" exception: - * - * Linking this library statically or dynamically with other modules is - * making a combined work based on this library. Thus, the terms and - * conditions of the GNU General Public License cover the whole - * combination. - * - * As a special exception, the copyright holders of this library give you - * permission to link this library with independent modules to produce an - * executable, regardless of the license terms of these independent - * modules, and to copy and distribute the resulting executable under terms - * of your choice, provided that you also meet, for each linked independent - * module, the terms and conditions of the license of that module. An - * independent module is a module which is not derived from or based on - * this library. If you modify this library, you may extend this exception - * to your version of the library, but you are not obligated to do so. If - * you do not wish to do so, delete this exception statement from your - * version. - */ - -package org.icedrobot.daneel.spi.dalvik.system; - -import java.util.logging.Level; -import java.util.logging.Logger; - -class DaneelLoggerSPI implements LoggerSPI { - - public DaneelLoggerSPI() { - } - - @Override - public int println(int bufID, int priority, String tag, String msg) { - Logger.getLogger(tag).log(Level.ALL, msg); - return msg.length(); - } - - @Override - public boolean isLoggable(String tag, int level) { - return true; - } -} diff -r 2b2a1c413c0f -r 6add930f34ce src/main/java/org/icedrobot/daneel/spi/dalvik/system/DaneelSPIFactory.java --- a/src/main/java/org/icedrobot/daneel/spi/dalvik/system/DaneelSPIFactory.java Thu Apr 28 00:26:59 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ -/* - * Daneel - Dalvik to Java bytecode compiler - * Copyright (C) 2011 IcedRobot team - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program 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 for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * This file is subject to the "Classpath" exception: - * - * Linking this library statically or dynamically with other modules is - * making a combined work based on this library. Thus, the terms and - * conditions of the GNU General Public License cover the whole - * combination. - * - * As a special exception, the copyright holders of this library give you - * permission to link this library with independent modules to produce an - * executable, regardless of the license terms of these independent - * modules, and to copy and distribute the resulting executable under terms - * of your choice, provided that you also meet, for each linked independent - * module, the terms and conditions of the license of that module. An - * independent module is a module which is not derived from or based on - * this library. If you modify this library, you may extend this exception - * to your version of the library, but you are not obligated to do so. If - * you do not wish to do so, delete this exception statement from your - * version. - */ - -package org.icedrobot.daneel.spi.dalvik.system; - -/** - */ -class DaneelSPIFactory extends SPIFactory { - - public DaneelSPIFactory() { - } - - @Override - public VMRuntimeSPI createVMRuntimeSPI() { - return new DaneelVMRuntime(); - } - - @Override - public LoggerSPI createLoggerSPI() { - return new DaneelLoggerSPI(); - } - - @Override - public SystemPropertiesSPI createSystemPropertiesSPI() { - return new DaneelSystemPropertiesSPI(); - } - -} diff -r 2b2a1c413c0f -r 6add930f34ce src/main/java/org/icedrobot/daneel/spi/dalvik/system/DaneelSystemPropertiesSPI.java --- a/src/main/java/org/icedrobot/daneel/spi/dalvik/system/DaneelSystemPropertiesSPI.java Thu Apr 28 00:26:59 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ - -package org.icedrobot.daneel.spi.dalvik.system; - -/** - * - * @author neugens - */ -class DaneelSystemPropertiesSPI implements SystemPropertiesSPI { - - public DaneelSystemPropertiesSPI() { - } - - @Override - public String getProperty(String key) { - return System.getProperty(key); - } - - @Override - public String getProperty(String key, String def) { - return System.getProperty(key, def); - } - - @Override - public int getInteger(String key, int def) { - return Integer.getInteger(key, def); - } - - @Override - public long getLong(String key, long def) { - return Long.getLong(key, def); - } - - @Override - public boolean getBoolean(String key, boolean def) { - return Boolean.getBoolean(key); - } - - @Override - public void setProperty(String key, String def) { - System.setProperty(key, def); - } -} diff -r 2b2a1c413c0f -r 6add930f34ce src/main/java/org/icedrobot/daneel/spi/dalvik/system/LoggerSPI.java --- a/src/main/java/org/icedrobot/daneel/spi/dalvik/system/LoggerSPI.java Thu Apr 28 00:26:59 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -/* - * Daneel - Dalvik to Java bytecode compiler - * Copyright (C) 2011 IcedRobot team - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program 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 for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * This file is subject to the "Classpath" exception: - * - * Linking this library statically or dynamically with other modules is - * making a combined work based on this library. Thus, the terms and - * conditions of the GNU General Public License cover the whole - * combination. - * - * As a special exception, the copyright holders of this library give you - * permission to link this library with independent modules to produce an - * executable, regardless of the license terms of these independent - * modules, and to copy and distribute the resulting executable under terms - * of your choice, provided that you also meet, for each linked independent - * module, the terms and conditions of the license of that module. An - * independent module is a module which is not derived from or based on - * this library. If you modify this library, you may extend this exception - * to your version of the library, but you are not obligated to do so. If - * you do not wish to do so, delete this exception statement from your - * version. - */ - -package org.icedrobot.daneel.spi.dalvik.system; - -public interface LoggerSPI { - - public static final int VERBOSE = 2; - public static final int DEBUG = 3; - public static final int INFO = 4; - public static final int WARN = 5; - public static final int ERROR = 6; - public static final int ASSERT = 7; - - int println(int bufID, int priority, String tag, String msg); - boolean isLoggable(String tag, int level); -} diff -r 2b2a1c413c0f -r 6add930f34ce src/main/java/org/icedrobot/daneel/spi/dalvik/system/SPIFactory.java --- a/src/main/java/org/icedrobot/daneel/spi/dalvik/system/SPIFactory.java Thu Apr 28 00:26:59 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +0,0 @@ -/* - * Daneel - Dalvik to Java bytecode compiler - * Copyright (C) 2011 IcedRobot team - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program 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 for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * This file is subject to the "Classpath" exception: - * - * Linking this library statically or dynamically with other modules is - * making a combined work based on this library. Thus, the terms and - * conditions of the GNU General Public License cover the whole - * combination. - * - * As a special exception, the copyright holders of this library give you - * permission to link this library with independent modules to produce an - * executable, regardless of the license terms of these independent - * modules, and to copy and distribute the resulting executable under terms - * of your choice, provided that you also meet, for each linked independent - * module, the terms and conditions of the license of that module. An - * independent module is a module which is not derived from or based on - * this library. If you modify this library, you may extend this exception - * to your version of the library, but you are not obligated to do so. If - * you do not wish to do so, delete this exception statement from your - * version. - */ - -package org.icedrobot.daneel.spi.dalvik.system; - -import org.icedrobot.daneel.DaneelException; - -/** - */ -public abstract class SPIFactory { - - /** - * - */ - public static SPIFactory getInstance() { - - String spiFactoryName = System.getProperty("icedrobot.factory.spi", - "org.icedrobot.daneel.spi.dalvik.system.DaneelSPIFactory"); - try { - Class factoryClass = Class.forName(spiFactoryName); - return (SPIFactory) factoryClass.newInstance(); - - } catch (Exception ex) { - throw new DaneelException(ex); - } - } - - public abstract LoggerSPI createLoggerSPI(); - public abstract VMRuntimeSPI createVMRuntimeSPI(); - public abstract SystemPropertiesSPI createSystemPropertiesSPI(); -} diff -r 2b2a1c413c0f -r 6add930f34ce src/main/java/org/icedrobot/daneel/spi/dalvik/system/SystemPropertiesSPI.java --- a/src/main/java/org/icedrobot/daneel/spi/dalvik/system/SystemPropertiesSPI.java Thu Apr 28 00:26:59 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -/* - * Daneel - Dalvik to Java bytecode compiler - * Copyright (C) 2011 IcedRobot team - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program 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 for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * This file is subject to the "Classpath" exception: - * - * Linking this library statically or dynamically with other modules is - * making a combined work based on this library. Thus, the terms and - * conditions of the GNU General Public License cover the whole - * combination. - * - * As a special exception, the copyright holders of this library give you - * permission to link this library with independent modules to produce an - * executable, regardless of the license terms of these independent - * modules, and to copy and distribute the resulting executable under terms - * of your choice, provided that you also meet, for each linked independent - * module, the terms and conditions of the license of that module. An - * independent module is a module which is not derived from or based on - * this library. If you modify this library, you may extend this exception - * to your version of the library, but you are not obligated to do so. If - * you do not wish to do so, delete this exception statement from your - * version. - */ -package org.icedrobot.daneel.spi.dalvik.system; - -public interface SystemPropertiesSPI { - - String getProperty(String key); - String getProperty(String key, String def); - int getInteger(String key, int def); - long getLong(String key, long def); - boolean getBoolean(String key, boolean def); - void setProperty(String key, String def); -} diff -r 2b2a1c413c0f -r 6add930f34ce src/main/java/org/icedrobot/daneel/spi/dalvik/system/VMRuntimeSPI.java --- a/src/main/java/org/icedrobot/daneel/spi/dalvik/system/VMRuntimeSPI.java Thu Apr 28 00:26:59 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -/* - * Daneel - Dalvik to Java bytecode compiler - * Copyright (C) 2011 IcedRobot team - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program 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 for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * This file is subject to the "Classpath" exception: - * - * Linking this library statically or dynamically with other modules is - * making a combined work based on this library. Thus, the terms and - * conditions of the GNU General Public License cover the whole - * combination. - * - * As a special exception, the copyright holders of this library give you - * permission to link this library with independent modules to produce an - * executable, regardless of the license terms of these independent - * modules, and to copy and distribute the resulting executable under terms - * of your choice, provided that you also meet, for each linked independent - * module, the terms and conditions of the license of that module. An - * independent module is a module which is not derived from or based on - * this library. If you modify this library, you may extend this exception - * to your version of the library, but you are not obligated to do so. If - * you do not wish to do so, delete this exception statement from your - * version. - */ - -package org.icedrobot.daneel.spi.dalvik.system; - -/** - * Common interface for Android VMRuntime implementations. - */ -public interface VMRuntimeSPI { - - float getTargetHeapUtilization(); - - void setMinimumHeapSize(long size); - long getMinimumHeapSize(); - - void gcSoftReferences(); - void runFinalizationSync(); - void setTargetHeapUtilization(float newTarget); - - boolean trackExternalAllocation(long size); - void startJitCompilation(); - void disableJitCompilation(); -}