From: <jsa...@us...> - 2009-02-17 12:05:21
|
Revision: 139 http://flexotask.svn.sourceforge.net/flexotask/?rev=139&view=rev Author: jsauerbach Date: 2009-02-17 12:05:16 +0000 (Tue, 17 Feb 2009) Log Message: ----------- Establish versioning for the VM bridge so that the Flexotask system can evolve while still supporting VM-providers who use an older specification. Modified Paths: -------------- trunk/flexotask/src/com/ibm/realtime/flexotask/vm/FlexotaskVMBridge.java Added Paths: ----------- trunk/flexotask/src/com/ibm/realtime/flexotask/vm/FlexotaskVMBridge1.java Modified: trunk/flexotask/src/com/ibm/realtime/flexotask/vm/FlexotaskVMBridge.java =================================================================== --- trunk/flexotask/src/com/ibm/realtime/flexotask/vm/FlexotaskVMBridge.java 2009-02-16 21:06:02 UTC (rev 138) +++ trunk/flexotask/src/com/ibm/realtime/flexotask/vm/FlexotaskVMBridge.java 2009-02-17 12:05:16 UTC (rev 139) @@ -22,15 +22,15 @@ * Define the methods that bridge between the Flexotask Java support and the underlying support that must * be present in the VM. The development-time VM need not contain an implementation, since the functions * will then be simulated. However, to achieve realtime behavior an implementation must be provided. + * This version of the interface is "version 0" which defines the requirements on the VM as of Flexotask 2.0.0. + * The expectation is that new functions will be added by defining new interfaces that extend this one. */ public interface FlexotaskVMBridge extends Service.Implementation { /** Indicator passed to createMemorySpace to indicate a "normal" flexotask space */ public static final int NORMAL_MEMORY = 0; /** Indicator passed to createMemorySpace to indicate the scheduler heap */ public static final int SCHEDULER_MEMORY = 1; - /** @see FlexotaskSystemSupport#adoptPriority(int) */ - void adoptPriority(int priority); - /** @see FlexotaskSystemSupport#allocateStablePrimitiveArray(Class, int, StableArrayImpl) */ + /** @see FlexotaskSystemSupport#allocateStablePrimitiveArray(Class, int, StableArrayImpl) */ Object allocateStablePrimitiveArray(Class type, int size); /** @see FlexotaskSystemSupport#becomeFlexotaskThread(boolean) */ void becomeFlexotaskThread(boolean state); @@ -152,6 +152,6 @@ long startTransaction(Object target); /** @see FlexotaskSystemSupport#switchMemorySpace(Object) */ long switchMemorySpace(Object target); - /** @see FlexotaskSystemSupport#unpin(Object[]) */ + /** @see FlexotaskSystemSupport#unpin(Object[]) */ void unpin(Object[] objects); } Added: trunk/flexotask/src/com/ibm/realtime/flexotask/vm/FlexotaskVMBridge1.java =================================================================== --- trunk/flexotask/src/com/ibm/realtime/flexotask/vm/FlexotaskVMBridge1.java (rev 0) +++ trunk/flexotask/src/com/ibm/realtime/flexotask/vm/FlexotaskVMBridge1.java 2009-02-17 12:05:16 UTC (rev 139) @@ -0,0 +1,24 @@ +/* + * This file is part of Flexible Task Graphs + * (http://sourceforge.net/projects/flexotasks) + * + * Copyright (c) 2006 - 2008 IBM Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + */ +package com.ibm.realtime.flexotask.vm; + +/** + * Functions added to FlexotaskVMBridge after the release of Flexotask 2.0.0 and before the next release thereafter. + */ +public interface FlexotaskVMBridge1 extends FlexotaskVMBridge { + /** @see FlexotaskSystemSupport#adoptPriority */ + public boolean adoptPriority(int newPriority); + /** @see FlexotaskSystemSupport#getIllegalAllocationClass */ + public Class getIllegalAllocationClass(); +} Property changes on: trunk/flexotask/src/com/ibm/realtime/flexotask/vm/FlexotaskVMBridge1.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |