|
Fix stack corruption when calling non-function.
Fix for issue 603.
Revision r3484 removed the property name from the call stack for
call ICs. When a non-function was called via a call IC and
Function.prototype.call, an extra value was left on the stack that the
caller could not know to clean up.
Fix is to change the JS builtin used for calling non-functions. It
now gets the callee as receiver, rather than iterating stack frames
and finding it on the expression stack of its JS caller.
Committed: http://code.google.com/p/v8/source/detail?r=3882
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+198 lines, -246 lines) |
Patch |
|
M |
src/arm/builtins-arm.cc
|
View
|
|
7 chunks |
+63 lines, -56 lines |
0 comments
|
Download
|
|
M |
src/arm/codegen-arm.cc
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/builtins-ia32.cc
|
View
|
|
4 chunks |
+61 lines, -61 lines |
0 comments
|
Download
|
|
M |
src/ia32/codegen-ia32.cc
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/runtime.h
|
View
|
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/runtime.cc
|
View
|
|
2 chunks |
+0 lines, -57 lines |
0 comments
|
Download
|
|
M |
src/runtime.js
|
View
|
|
1 chunk |
+6 lines, -12 lines |
0 comments
|
Download
|
|
M |
src/x64/builtins-x64.cc
|
View
|
|
6 chunks |
+59 lines, -58 lines |
0 comments
|
Download
|
|
M |
src/x64/codegen-x64.cc
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
Total messages: 2 (0 generated)
|