annotate test/runtime/8007475/StackMapFrameTest.java @ 20218:828056cf311f

8040792: G1: Memory usage calculation uses sizeof(this) instead of sizeof(classname) Summary: A few locations in the code use sizeof(this) which returns the size of the pointer instead of sizeof(classname) which returns the size of the sum of its members. This change fixes these errors and adds a few tests. Reviewed-by: mgerdin, brutisso
author tschatzl
date Mon, 21 Jul 2014 09:40:19 +0200
parents ab826603e572
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7985
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
1 /*
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
2 * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
4 *
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
5 * This code is free software; you can redistribute it and/or modify it
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
6 * under the terms of the GNU General Public License version 2 only, as
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
7 * published by the Free Software Foundation.
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
8 *
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
9 * This code is distributed in the hope that it will be useful, but WITHOUT
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
12 * version 2 for more details (a copy is included in the LICENSE file that
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
13 * accompanied this code).
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
14 *
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License version
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
16 * 2 along with this work; if not, write to the Free Software Foundation,
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
18 *
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
20 * or visit www.oracle.com if you need additional information or have any
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
21 * questions.
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
22 */
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
23
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
24 /*
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
25 * @test
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
26 * @bug 8007475
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
27 * @summary Test memory stomp in stack map test
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
28 * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UseMallocOnly StackMapFrameTest
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
29 */
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
30 public class StackMapFrameTest {
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
31
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
32 public static void foo() {
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
33 Object o = new Object();
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
34 }
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
35
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
36 public static void main(String args[]) {
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
37 for (int i = 0; i < 25000; i++) {
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
38 foo();
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
39 }
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
40 }
ab826603e572 8007475: Memory stomp with UseMallocOnly
simonis
parents:
diff changeset
41 }