From 84db704dbd19cf4249879cb1e026568632712f30 Mon Sep 17 00:00:00 2001 From: Kevin Rushforth Date: Fri, 29 Sep 2006 18:04:59 +0000 Subject: Merged dev-1_5 branch back to MAIN trunk git-svn-id: https://svn.java.net/svn/j3d-core-utils~svn/trunk@129 9497e636-51bd-65ba-982d-a4982e1767a5 --- src/native/share/J3DTimer.c | 175 -------------------------------------------- 1 file changed, 175 deletions(-) delete mode 100644 src/native/share/J3DTimer.c (limited to 'src/native/share') diff --git a/src/native/share/J3DTimer.c b/src/native/share/J3DTimer.c deleted file mode 100644 index 6725d2f..0000000 --- a/src/native/share/J3DTimer.c +++ /dev/null @@ -1,175 +0,0 @@ -/* - * $RCSfile$ - * - * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistribution of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * - Redistribution in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * Neither the name of Sun Microsystems, Inc. or the names of - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * This software is provided "AS IS," without a warranty of any - * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY - * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL - * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS - * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR - * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, - * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND - * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR - * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGES. - * - * You acknowledge that this software is not designed, licensed or - * intended for use in the design, construction, operation or - * maintenance of any nuclear facility. - * - * $Revision$ - * $Date$ - * $State$ - */ - -/* - * Portions of this code were derived from work done by the Blackdown - * group (www.blackdown.org), who did the initial Linux implementation - * of the Java 3D API. - */ - -#include "com_sun_j3d_utils_timer_J3DTimer.h" - -#define NSEC_PER_SEC ((jlong)1000000000) - -#ifdef __linux__ -#include -#include -#include -#endif - -#ifdef SOLARIS -#include -#include -#include -#ifndef CLOCK_HIGHRES -#define CLOCK_HIGHRES 4 /* Solaris 7 does not define this */ -#endif /* constant. When run on Solaris 7 */ -#endif /* CLOCK_HIGHRES is not used. */ - -#ifdef WIN32 -#include -#include -static double timerScale = -1.0; -#endif - -/* - * Class: com_sun_j3d_utils_timer_J3DTimer - * Method: getNativeTimer - * Signature: ()J - */ -JNIEXPORT jlong JNICALL -Java_com_sun_j3d_utils_timer_J3DTimer_getNativeTimer(JNIEnv *env, - jclass clazz) -{ - jlong timerNsec; - -#ifdef SOLARIS - /* - struct timespec tp; - clock_gettime( CLOCK_HIGHRES, &tp ); - - return (jlong)tp.tv_nsec + (jlong)tp.tv_sec * NSEC_PER_SEC; - */ - - timerNsec = (jlong)gethrtime(); -#endif /* SOLARIS */ - -#ifdef WIN32 - LARGE_INTEGER time; - LARGE_INTEGER freq; - - if (timerScale < 0.0) { - QueryPerformanceFrequency( &freq ); - if (freq.QuadPart <= 0) { - timerScale = 0.0; - } - else { - timerScale = (double) NSEC_PER_SEC / (double)freq.QuadPart; - } - } - - QueryPerformanceCounter(&time); - timerNsec = (jlong)((double)time.QuadPart * timerScale); - -#endif /* WIN32 */ - -#ifdef __linux__ - struct timeval t; - - gettimeofday(&t, 0); - timerNsec = ((jlong)t.tv_sec) * NSEC_PER_SEC + ((jlong)t.tv_usec) * ((jlong)1000); -#endif /* __linux__ */ - - return timerNsec; -} - - -/* - * Class: com_sun_j3d_utils_timer_J3DTimer - * Method: getNativeTimerResolution - * Signature: ()J - */ -JNIEXPORT jlong JNICALL -Java_com_sun_j3d_utils_timer_J3DTimer_getNativeTimerResolution(JNIEnv *env, - jclass clazz) -{ - jlong res; - -#ifdef SOLARIS - char buf[4]; - - sysinfo( SI_RELEASE, &buf[0], 4 ); - - if (strcmp( "5.7", &buf[0] )==0) { - /* Hard-coded for Solaris 7, since clock_getres isn't available */ - res = (jlong)3; - } else { - struct timespec tp; - clock_getres( CLOCK_HIGHRES, &tp ); - res = (jlong)tp.tv_nsec; - } -#endif /* SOLARIS */ - -#ifdef WIN32 - LARGE_INTEGER freq; - QueryPerformanceFrequency( &freq ); - - if ((jlong)freq.QuadPart <= 0) - res = 0; - else { - res = (NSEC_PER_SEC + (jlong)freq.QuadPart - 1) / ((jlong)freq.QuadPart); - - if (res < 1) { - res = 1; - } - } -#endif - -#ifdef __linux__ - /* Hard-coded at 1 microsecond -- the resolution of gettimeofday */ - res = 1000; -#endif /* __linux__ */ - - return res; -} -- cgit v1.2.3