|
Fix crashes during GC caused by partially initialized objects. The
inline allocation code used the expected number of properties to
calculate the number of inobject properties for an object instead of
getting the actual number from the initial map.
It is safer to use the inobject property count from the initial map in
any case because that is the amount the instances will get. I think
this disconnect got introduced when adding shrinking of objects.
Unfortuntely I haven't been able to create a simple reproduction for a
test case but this fixes the webpage that exhibits the crash. I'll see
if I can create a reproduction tomorrow.
Committed: http://code.google.com/p/v8/source/detail?r=5879
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+21 lines, -27 lines) |
Patch |
|
M |
src/arm/stub-cache-arm.cc
|
View
|
|
3 chunks |
+4 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/handles.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/ia32/macro-assembler-ia32.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
src/ia32/macro-assembler-ia32.cc
|
View
|
|
5 chunks |
+3 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/ia32/stub-cache-ia32.cc
|
View
|
|
3 chunks |
+4 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/runtime.cc
|
View
|
|
2 chunks |
+1 line, -2 lines |
0 comments
|
Download
|
|
M |
src/stub-cache.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/x64/macro-assembler-x64.h
|
View
|
|
1 chunk |
+0 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/x64/macro-assembler-x64.cc
|
View
|
|
5 chunks |
+3 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/x64/stub-cache-x64.cc
|
View
|
|
3 chunks |
+4 lines, -3 lines |
0 comments
|
Download
|
Total messages: 2 (0 generated)
|