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

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

mercurial