PortDefs.h
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:2k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* Copyright (C) 2003 MySQL AB
  2.    This program is free software; you can redistribute it and/or modify
  3.    it under the terms of the GNU General Public License as published by
  4.    the Free Software Foundation; either version 2 of the License, or
  5.    (at your option) any later version.
  6.    This program is distributed in the hope that it will be useful,
  7.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  8.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  9.    GNU General Public License for more details.
  10.    You should have received a copy of the GNU General Public License
  11.    along with this program; if not, write to the Free Software
  12.    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
  13. #ifndef PORT_DEFS_H
  14. #define PORT_DEFS_H
  15. /*
  16.    This file contains varoius declarations/definitions needed in the port of AXEVM to NT, as well as backporting
  17.    to Solaris...
  18.   $Id: PortDefs.h,v 1.5 2003/10/07 07:59:59 mikael Exp $
  19. */
  20. #ifdef NDB_ALPHA
  21. #ifdef NDB_GCC /* only for NDB_ALPHA */
  22. extern int gnuShouldNotUseRPCC();
  23. #define RPCC() gnuShouldNotUseRPCC();
  24. #else 
  25. #define RPCC() ((int)__asm(" rpcc v0;"))
  26. #define MB() __asm(" mb;");
  27. #define WMB() __asm(" wmb;");
  28. #ifdef USE_INITIALSP
  29. #define IS_IP() (__asm(" mov sp,v0;") < IPinitialSP)
  30. #else /* USE_INITIALSP */
  31. #define IS_IP() (((__asm(" rpcc v0;") >> 32) & 0x7) == IP_CPU)
  32. #endif
  33. #endif /* NDB_GCC */
  34. #else /* NDB_ALPHA */
  35. #if defined NDB_SPARC
  36. #define MB() asm ("membar 0x0;");  /* LoadLoad */
  37. #define WMB() asm ("membar 0x3;"); /* StoreStore */
  38. #else /* NDB_SPARC */
  39. #define MB()
  40. #define WMB()
  41. #endif /* NDB_SPARC */
  42. #define IS_IP() (1==1)
  43. extern int shouldNotUseRPCC();
  44. #define RPCC() shouldNotUseRPCC();
  45. #endif /* NDB_ALPHA */
  46. #endif