annotate make/templates/bsd-header @ 1047:beb8f45ee9f0

6889740: G1: OpenDS fails with "unhandled exception in compiled code" Summary: Incorrect code was being generated for the store operation in the null case of the aastore bytecode template. The bad code was generated by the store_heap_oop routine which takes a Register as its second argument. Passing NULL_WORD (0) as the second argument causes the value to be converted to Register(0), which is rax. Thus the generated store was "mov (dst), $rax" instead of "mov (dst), $0x0". Changed calls to store_heap_oop that pass NULL_WORD as the second argument to a new routine store_heap_oop_null. Reviewed-by: kvn, twisti
author johnc
date Thu, 29 Oct 2009 09:42:26 -0700
parents a61af66fc99e
children c18cbe5936b8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 Copyright %YEARS% Sun Microsystems, Inc. All Rights Reserved.
a61af66fc99e Initial load
duke
parents:
diff changeset
2
a61af66fc99e Initial load
duke
parents:
diff changeset
3 Redistribution and use in source and binary forms, with or without
a61af66fc99e Initial load
duke
parents:
diff changeset
4 modification, are permitted provided that the following conditions
a61af66fc99e Initial load
duke
parents:
diff changeset
5 are met:
a61af66fc99e Initial load
duke
parents:
diff changeset
6
a61af66fc99e Initial load
duke
parents:
diff changeset
7 - Redistributions of source code must retain the above copyright
a61af66fc99e Initial load
duke
parents:
diff changeset
8 notice, this list of conditions and the following disclaimer.
a61af66fc99e Initial load
duke
parents:
diff changeset
9
a61af66fc99e Initial load
duke
parents:
diff changeset
10 - Redistributions in binary form must reproduce the above copyright
a61af66fc99e Initial load
duke
parents:
diff changeset
11 notice, this list of conditions and the following disclaimer in the
a61af66fc99e Initial load
duke
parents:
diff changeset
12 documentation and/or other materials provided with the distribution.
a61af66fc99e Initial load
duke
parents:
diff changeset
13
a61af66fc99e Initial load
duke
parents:
diff changeset
14 - Neither the name of Sun Microsystems nor the names of its
a61af66fc99e Initial load
duke
parents:
diff changeset
15 contributors may be used to endorse or promote products derived
a61af66fc99e Initial load
duke
parents:
diff changeset
16 from this software without specific prior written permission.
a61af66fc99e Initial load
duke
parents:
diff changeset
17
a61af66fc99e Initial load
duke
parents:
diff changeset
18 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
a61af66fc99e Initial load
duke
parents:
diff changeset
19 IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
a61af66fc99e Initial load
duke
parents:
diff changeset
20 THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
a61af66fc99e Initial load
duke
parents:
diff changeset
21 PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
a61af66fc99e Initial load
duke
parents:
diff changeset
22 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
a61af66fc99e Initial load
duke
parents:
diff changeset
23 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
a61af66fc99e Initial load
duke
parents:
diff changeset
24 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
a61af66fc99e Initial load
duke
parents:
diff changeset
25 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
a61af66fc99e Initial load
duke
parents:
diff changeset
26 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
a61af66fc99e Initial load
duke
parents:
diff changeset
27 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
a61af66fc99e Initial load
duke
parents:
diff changeset
28 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.