001 // ScopedPhysicalMemory.java, created by wbeebee 002 // Copyright (C) 2001 Wes Beebee <wbeebee@mit.edu> 003 // Licensed under the terms of the GNU GPL; see COPYING for details. 004 package javax.realtime; 005 006 /** <code>ScopedPhysicalMemory</code> 007 * 008 * @author Wes Beebee <<a href="mailto:wbeebee@mit.edu">wbeebee@mit.edu</a>> 009 */ 010 011 public class ScopedPhysicalMemory extends ScopedMemory { 012 private long base, size; 013 014 /** */ 015 016 public ScopedPhysicalMemory(long base, long size) { 017 super(size); 018 this.base = base; 019 this.size = size; 020 } 021 022 /** */ 023 024 protected native void initNative(long sizeInBytes); 025 026 /** */ 027 028 public void checkAccess(Object obj) { 029 if (obj instanceof ScopedPhysicalMemory) { 030 ScopedPhysicalMemory spm = (ScopedPhysicalMemory)obj; 031 if (!(((base <= (spm.base + spm.size)) && (spm.base <= base))|| 032 (((base + size) <= (spm.base + spm.size)) && 033 (spm.base <= (base + size))))) { // It doesn't overlap 034 super.checkAccess(obj); 035 } 036 } 037 } 038 }