Description:
Disallow garbage collection at another site in the LoadCallback ICs.
MacroAssembler::PopHandleScope emits a runtime call (through a stub),
which should not be allowed to perform a GC but return a failure
instead.
BUG=30790
TEST=none
Please review this at http://codereview.chromium.org/504071
SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/
Affected files:
M src/ia32/macro-assembler-ia32.h
M src/ia32/macro-assembler-ia32.cc
M src/ia32/stub-cache-ia32.cc
I think you are fighting a loosing battle here. While this change will
certainly
fix the reported problem, I think a safer approach would be to not drop the
handles when calling ComputeLoadCallback in the first place.
LGTM especially if you clarify the confusing comment.
-Ivan
http://codereview.chromium.org/504071/diff/1/4
File src/ia32/stub-cache-ia32.cc (right):
http://codereview.chromium.org/504071/diff/1/4#newcode818
src/ia32/stub-cache-ia32.cc:818: // collection but instead return a
failure object.
This comment is very confusing. Isn't it so that emitting the code to
call PopHandleScope can cause a GC? This is not what I read in your
comment here.
At the least please clarify that the two instances of the word "call" do
not mean the same call.
--
v8-dev mailing list
v8-...@googlegroups.com
http://groups.google.com/group/v8-dev