Mercurial > hg > truffle
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(); } |