equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. |
3 * Copyright (c) 2015, 2016 SAP SE. All rights reserved. |
3 * Copyright (c) 2015, 2016 SAP SE. All rights reserved. |
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
5 * |
5 * |
6 * This code is free software; you can redistribute it and/or modify it |
6 * This code is free software; you can redistribute it and/or modify it |
7 * under the terms of the GNU General Public License version 2 only, as |
7 * under the terms of the GNU General Public License version 2 only, as |
687 #else |
687 #else |
688 __ lbz(size, in_bytes(ConstantPoolCache::base_offset() + ConstantPoolCacheEntry::flags_offset()) + 7, cache); |
688 __ lbz(size, in_bytes(ConstantPoolCache::base_offset() + ConstantPoolCacheEntry::flags_offset()) + 7, cache); |
689 #endif |
689 #endif |
690 __ sldi(size, size, Interpreter::logStackElementSize); |
690 __ sldi(size, size, Interpreter::logStackElementSize); |
691 __ add(R15_esp, R15_esp, size); |
691 __ add(R15_esp, R15_esp, size); |
|
692 |
|
693 __ check_and_handle_popframe(R11_scratch1); |
|
694 __ check_and_handle_earlyret(R11_scratch1); |
|
695 |
692 __ dispatch_next(state, step); |
696 __ dispatch_next(state, step); |
693 return entry; |
697 return entry; |
694 } |
698 } |
695 |
699 |
696 address TemplateInterpreterGenerator::generate_deopt_entry_for(TosState state, int step) { |
700 address TemplateInterpreterGenerator::generate_deopt_entry_for(TosState state, int step) { |