equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. |
2 * Copyright 1997-2010 Sun Microsystems, Inc. All Rights Reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
2913 if (load_receiver) { |
2913 if (load_receiver) { |
2914 __ movl(recv, flags); |
2914 __ movl(recv, flags); |
2915 __ andl(recv, 0xFF); |
2915 __ andl(recv, 0xFF); |
2916 // recv count is 0 based? |
2916 // recv count is 0 based? |
2917 Address recv_addr(rsp, recv, Interpreter::stackElementScale(), -Interpreter::expr_offset_in_bytes(1)); |
2917 Address recv_addr(rsp, recv, Interpreter::stackElementScale(), -Interpreter::expr_offset_in_bytes(1)); |
2918 if (is_invokedynamic) { |
2918 __ movptr(recv, recv_addr); |
2919 __ lea(recv, recv_addr); |
2919 __ verify_oop(recv); |
2920 } else { |
|
2921 __ movptr(recv, recv_addr); |
|
2922 __ verify_oop(recv); |
|
2923 } |
|
2924 } |
2920 } |
2925 |
2921 |
2926 // do null check if needed |
2922 // do null check if needed |
2927 if (receiver_null_check) { |
2923 if (receiver_null_check) { |
2928 __ null_check(recv); |
2924 __ null_check(recv); |