make/windows/cross_build.bat

Fri, 20 Sep 2013 10:53:28 +0200

author
stefank
date
Fri, 20 Sep 2013 10:53:28 +0200
changeset 5769
2c022e432e10
parent 1907
c18cbe5936b8
child 6876
710a3c8b516e
permissions
-rw-r--r--

8024974: Incorrect use of GC_locker::is_active()
Summary: SymbolTable and StringTable can make calls to GC_locker::is_active() outside a safepoint. This isn't safe because the GC_locker active state (lock count) is only updated at a safepoint and only remains valid as long as _needs_gc is true. However, outside a safepoint_needs_gc can change to false at any time, which makes it impossible to do a correct call to is_active() in that context. In this case these calls can just be removed since the input argument to basic_add() should never be on the heap and so there's no need to check the GC_locker state. This change also adjusts the assert() in is_active() to makes sure all calls to this function are always done under a safepoint.
Reviewed-by: brutisso, dcubed
Contributed-by: per.liden@oracle.com

duke@435 1 @echo off
duke@435 2 REM
trims@1907 3 REM Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
duke@435 4 REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
duke@435 5 REM
duke@435 6 REM This code is free software; you can redistribute it and/or modify it
duke@435 7 REM under the terms of the GNU General Public License version 2 only, as
duke@435 8 REM published by the Free Software Foundation.
duke@435 9 REM
duke@435 10 REM This code is distributed in the hope that it will be useful, but WITHOUT
duke@435 11 REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
duke@435 12 REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
duke@435 13 REM version 2 for more details (a copy is included in the LICENSE file that
duke@435 14 REM accompanied this code).
duke@435 15 REM
duke@435 16 REM You should have received a copy of the GNU General Public License version
duke@435 17 REM 2 along with this work; if not, write to the Free Software Foundation,
duke@435 18 REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
duke@435 19 REM
trims@1907 20 REM Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
trims@1907 21 REM or visit www.oracle.com if you need additional information or have any
trims@1907 22 REM questions.
duke@435 23 REM
duke@435 24 REM
duke@435 25
duke@435 26 REM Cross compile IA64 compiler2 VM
duke@435 27 REM Usage:
duke@435 28 REM cross_compile flavor workspace bootstrap_dir [build_id]
duke@435 29 REM %1 %2 %3 %4
duke@435 30 REM
duke@435 31 REM Set current directory
duke@435 32 for /F %%i in ('cd') do set CD=%%i
duke@435 33 echo Setting up Visual C++ Compilation Environment
duke@435 34 if "%MSVCDir%" == "" goto setdir1
duke@435 35 goto setenv1
duke@435 36 :setdir1
duke@435 37 SET MSVCDir=C:\Program Files\Microsoft Visual Studio\VC98
duke@435 38 :setenv1
duke@435 39 SET OLDINCLUDE=%INCLUDE%
duke@435 40 SET OLDLIB=%LIB%
duke@435 41 SET OLDPATH=%PATH%
duke@435 42 call "%MSVCDir%\Bin\VCVARS32"
kamg@526 43 call %2\make\windows\build %1 adlc %2 %3 %4
duke@435 44 SET INCLUDE=%OLDINCLUDE%
duke@435 45 SET LIB=%OLDLIB%
duke@435 46 SET PATH=%OLDPATH%
duke@435 47 echo Setting up 64-BIT Compilation Environment
duke@435 48 if "%MSSdk%" == "" goto setdir2
duke@435 49 goto setenv2
duke@435 50 :setdir2
duke@435 51 SET MSSdk=C:\Program Files\Microsoft SDK
duke@435 52 :setenv2
duke@435 53 call "%MSSdk%\SetEnv.bat" /XP64
duke@435 54 SET ALT_ADLC_PATH=%CD%\windows_i486_compiler2\generated
kamg@526 55 call %2\make\windows\build %1 compiler2 %2 %3 %4
duke@435 56 SET INCLUDE=%OLDINCLUDE%
duke@435 57 SET LIB=%OLDLIB%
duke@435 58 SET PATH=%OLDPATH%
duke@435 59 SET OLDINCLUDE=
duke@435 60 SET OLDLIB=
duke@435 61 SET OLDPATH=

mercurial