Added new patch set.
http://codereview.chromium.org/7585006/diff/1/src/arm/deoptimizer-arm.cc File src/arm/deoptimizer-arm.cc (right): http://codereview.chromium.org/7585006/diff/1/src/arm/deoptimizer-arm.cc#newcode96 src/arm/deoptimizer-arm.cc:96: #ifdef DEBUG On 2011/08/05 15:10:16, Kevin Millikin wrote:
There must be a better fix than this. The patcher is designed to
treat an
existing code object like a macro assembler buffer, and overwrite
exactly N
bytes.
The assert is that we overwrote too few bytes. This fix just disables
the
assert at this site.
Is it possible to change patch_size() to give the correct answer in
this case? I think making patch_size() giving the correct answer is not possible, because the size depends on the call target, and that target is not known when the compiler generates the original (i.e. to-be-patched) code. So it returns the maximum size (i.e. 3 words) of a call site. But what we can do, is get the correct size before instantiating a CodePatcher for each safe-point. See the recent patch set for my proposal. http://codereview.chromium.org/7585006/ -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
