|
Make Object.freeze fast
This patch both speeds up the freeze operation itself, but also
allows properties to remain in fast mode. Objects with non-empty
elements backing stores still end up with slow elements.
Relanding r14758 and r14759 with fix for Test262: only mark properties
and elements READ_ONLY if they are not JS setter/getters. Tightened up
tests to assert frozen-ness, and added targeted tests for the new code
(covering accessors).
BUG= v8:1858, 115960
R=verwaest@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=14762
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+414 lines, -82 lines) |
Patch |
|
M |
include/v8.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/heap.h
|
View
|
|
1 chunk |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
src/heap.cc
|
View
|
|
1 chunk |
+11 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/objects.h
|
View
|
|
6 chunks |
+19 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/objects.cc
|
View
|
|
15 chunks |
+223 lines, -62 lines |
0 comments
|
Download
|
|
M |
src/objects-inl.h
|
View
|
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/property-details.h
|
View
|
|
3 chunks |
+9 lines, -1 line |
0 comments
|
Download
|
|
M |
src/runtime.h
|
View
|
|
2 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/runtime.cc
|
View
|
|
2 chunks |
+9 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/v8natives.js
|
View
|
|
1 chunk |
+19 lines, -12 lines |
0 comments
|
Download
|
|
M |
test/mjsunit/object-freeze.js
|
View
|
|
2 chunks |
+105 lines, -0 lines |
0 comments
|
Download
|
Total messages: 4 (0 generated)
|