comparison src/share/vm/opto/library_call.cpp @ 7200:dd38cfd12c3a

8004319: test/gc/7168848/HumongousAlloc.java fails after 7172640 Reviewed-by: kvn, johnc
author twisti
date Mon, 03 Dec 2012 15:48:49 -0800
parents beebba0acc11
children 18712b1caf7a ad5dd04754ee eb409f2f146e
comparison
equal deleted inserted replaced
7199:cd3d6a6b95d9 7200:dd38cfd12c3a
77 LibraryCallKit(JVMState* jvms, LibraryIntrinsic* intrinsic) 77 LibraryCallKit(JVMState* jvms, LibraryIntrinsic* intrinsic)
78 : GraphKit(jvms), 78 : GraphKit(jvms),
79 _intrinsic(intrinsic), 79 _intrinsic(intrinsic),
80 _result(NULL) 80 _result(NULL)
81 { 81 {
82 // Find out how many arguments the interpreter needs when deoptimizing 82 // Check if this is a root compile. In that case we don't have a caller.
83 // and save the stack pointer value so it can used by uncommon_trap. 83 if (!jvms->has_method()) {
84 // We find the argument count by looking at the declared signature. 84 _reexecute_sp = sp();
85 bool ignored_will_link; 85 } else {
86 ciSignature* declared_signature = NULL; 86 // Find out how many arguments the interpreter needs when deoptimizing
87 ciMethod* ignored_callee = caller()->get_method_at_bci(bci(), ignored_will_link, &declared_signature); 87 // and save the stack pointer value so it can used by uncommon_trap.
88 const int nargs = declared_signature->arg_size_for_bc(caller()->java_code_at_bci(bci())); 88 // We find the argument count by looking at the declared signature.
89 _reexecute_sp = sp() + nargs; // "push" arguments back on stack 89 bool ignored_will_link;
90 ciSignature* declared_signature = NULL;
91 ciMethod* ignored_callee = caller()->get_method_at_bci(bci(), ignored_will_link, &declared_signature);
92 const int nargs = declared_signature->arg_size_for_bc(caller()->java_code_at_bci(bci()));
93 _reexecute_sp = sp() + nargs; // "push" arguments back on stack
94 }
90 } 95 }
91 96
92 virtual LibraryCallKit* is_LibraryCallKit() const { return (LibraryCallKit*)this; } 97 virtual LibraryCallKit* is_LibraryCallKit() const { return (LibraryCallKit*)this; }
93 98
94 ciMethod* caller() const { return jvms()->method(); } 99 ciMethod* caller() const { return jvms()->method(); }