Mercurial > hg > truffle
annotate make/altsrc.make @ 17716:cdb71841f4bc
6498581: ThreadInterruptTest3 produces wrong output on Windows
Summary: There is race condition between os::interrupt and os::is_interrupted on Windows. In JVM_Sleep(Thread.sleep), check if thread gets interrupted, it may see interrupted but not really interrupted so cause spurious waking up (early return from sleep). Fix by checking if interrupt event really gets set thus prevent false return. For intrinsic of _isInterrupted, on Windows, go fastpath only on bit not set.
Reviewed-by: acorn, kvn
Contributed-by: david.holmes@oracle.com, yumin.qi@oracle.com
author | minqi |
---|---|
date | Wed, 26 Feb 2014 15:20:41 -0800 |
parents | ededdaaf8ca5 |
children |
rev | line source |
---|---|
2192
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
1 # |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
2 # Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
4 # |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
5 # This code is free software; you can redistribute it and/or modify it |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
6 # under the terms of the GNU General Public License version 2 only, as |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
7 # published by the Free Software Foundation. |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
8 # |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
9 # This code is distributed in the hope that it will be useful, but WITHOUT |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
12 # version 2 for more details (a copy is included in the LICENSE file that |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
13 # accompanied this code). |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
14 # |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
15 # You should have received a copy of the GNU General Public License version |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
16 # 2 along with this work; if not, write to the Free Software Foundation, |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
18 # |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
20 # or visit www.oracle.com if you need additional information or have any |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
21 # questions. |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
22 # |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
23 # |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
24 |
2199
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
25 # This file defines variables and macros which are used in the makefiles to |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
26 # allow distributions to augment or replace common hotspot code with |
3331
ededdaaf8ca5
7036525: Disable alternative source mechanism for OPENJDK builds
dholmes
parents:
2199
diff
changeset
|
27 # distribution-specific source files. This capability is disabled when |
ededdaaf8ca5
7036525: Disable alternative source mechanism for OPENJDK builds
dholmes
parents:
2199
diff
changeset
|
28 # an OPENJDK build is requested, unless HS_ALT_SRC_REL has been set externally. |
2199
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
29 |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
30 # Requires: GAMMADIR |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
31 # Provides: |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
32 # variables: HS_COMMON_SRC, HS_ALT_SRC, HS_COMMON_SRC_REL, and HS_ALT_SRC_REL |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
33 # functions: altsrc-equiv, if-has-altsrc, altsrc, altsrc-replace |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
34 |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
35 HS_COMMON_SRC_REL=src |
2192
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
36 |
3331
ededdaaf8ca5
7036525: Disable alternative source mechanism for OPENJDK builds
dholmes
parents:
2199
diff
changeset
|
37 ifneq ($(OPENJDK),true) |
ededdaaf8ca5
7036525: Disable alternative source mechanism for OPENJDK builds
dholmes
parents:
2199
diff
changeset
|
38 # This needs to be changed to a more generic location, but we keep it |
ededdaaf8ca5
7036525: Disable alternative source mechanism for OPENJDK builds
dholmes
parents:
2199
diff
changeset
|
39 # as this for now for compatibility |
ededdaaf8ca5
7036525: Disable alternative source mechanism for OPENJDK builds
dholmes
parents:
2199
diff
changeset
|
40 HS_ALT_SRC_REL=src/closed |
ededdaaf8ca5
7036525: Disable alternative source mechanism for OPENJDK builds
dholmes
parents:
2199
diff
changeset
|
41 else |
ededdaaf8ca5
7036525: Disable alternative source mechanism for OPENJDK builds
dholmes
parents:
2199
diff
changeset
|
42 HS_ALT_SRC_REL=NO_SUCH_PATH |
ededdaaf8ca5
7036525: Disable alternative source mechanism for OPENJDK builds
dholmes
parents:
2199
diff
changeset
|
43 endif |
2199
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
44 |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
45 HS_COMMON_SRC=$(GAMMADIR)/$(HS_COMMON_SRC_REL) |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
46 HS_ALT_SRC=$(GAMMADIR)/$(HS_ALT_SRC_REL) |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
47 |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
48 ## altsrc-equiv |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
49 # |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
50 # Convert a common source path to an alternative source path |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
51 # |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
52 # Parameter: An absolute path into the common sources |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
53 # Result: The matching path to the alternate-source location |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
54 # |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
55 altsrc-equiv=$(subst $(HS_COMMON_SRC)/,$(HS_ALT_SRC)/,$(1)) |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
56 |
2192
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
57 |
2199
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
58 ## if-has-altsrc |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
59 # |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
60 # Conditional macro to test for the existence of an alternate source path |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
61 # |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
62 # Parameter: An absolute path into the common sources |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
63 # Parameter: Result if the alternative-source location exists |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
64 # Parameter: Result if the alternative-source location does not exist |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
65 # Result: expands to parameter 2 or 3 depending on existence of alternate source |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
66 # |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
67 if-has-altsrc=$(if $(wildcard $(call altsrc-equiv,$(1))),$(2),$(3)) |
2192
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
68 |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
69 |
2199
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
70 ## altsrc |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
71 # |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
72 # Converts common source path to alternate source path if the alternate |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
73 # path exists, otherwise evaluates to nul (empty string) |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
74 # |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
75 # Parameter: An absolute path into the common sources |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
76 # Result: The equivalent path to the alternate-source location, if such a |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
77 # location exists on the filesystem. Otherwise it expands to empty. |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
78 # |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
79 altsrc=$(call if-has-altsrc,$(1),$(call altsrc-equiv,$(1))) |
2192
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
80 |
2199
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
81 ## commonsrc |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
82 # |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
83 # Returns parameter. |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
84 # |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
85 commonsrc=$(1) |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
86 |
2192
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
diff
changeset
|
87 |
2199
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
88 ## altsrc-replace |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
89 # |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
90 # Converts a common source path to an alternate source path if the alternate |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
91 # source path exists. Otherwise it evaluates to the input common source path. |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
92 # |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
93 # Parameter: An absolute path into the common sources |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
94 # Result: A path to either the common or alternate sources |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
95 # |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
96 altsrc-replace=$(call if-has-altsrc,$(1),$(call altsrc-equiv,$(1)),$(1)) |