|
[runtime] Better encapsulation of dictionary objects handling in lookup iterator.
Now LookupIterator follows the same pattern of prepare transition, apply transition
and write value when adding new properties to dictionary objects.
JSGlobalObject case:
* Prepare transition phase ensures that there is a "transition" property cell
prepared for receiving a value.
* Apply transition phase does nothing.
* Prepare for data property phase ensures that the existing property cell can
receive the value.
* Write value phase writes value directly to the current property cell.
JSObject case:
* Prepare transition phase prepares the object for receiving a data value (which
could switch an object to dictionary mode).
* Apply transition phase migrates object to a transition map. If the map happened
to be a dictionary mode object's map then an uninitialized entry added to the
properties dictionary.
* Prepare for data property phase does nothing.
* Write value phase just puts value to the properties dictionary.
BUG= chromium:576312
Committed: https://crrev.com/3fbb45216de0397a0213db67c7481c586d379b73
Cr-Commit-Position: refs/heads/master@{#37585}
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+236 lines, -184 lines) |
Patch |
|
M |
src/ic/arm/handler-compiler-arm.cc
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/ic/arm64/handler-compiler-arm64.cc
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/ic/ia32/handler-compiler-ia32.cc
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/ic/ic.cc
|
View
|
|
1 chunk |
+2 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/ic/mips/handler-compiler-mips.cc
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/ic/mips64/handler-compiler-mips64.cc
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/ic/ppc/handler-compiler-ppc.cc
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/ic/s390/handler-compiler-s390.cc
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/ic/x64/handler-compiler-x64.cc
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/ic/x87/handler-compiler-x87.cc
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/lookup.h
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lookup.cc
|
View
|
1
|
7 chunks |
+84 lines, -25 lines |
0 comments
|
Download
|
|
M |
src/objects.h
|
View
|
1
|
5 chunks |
+16 lines, -22 lines |
0 comments
|
Download
|
|
M |
src/objects.cc
|
View
|
1
|
15 chunks |
+67 lines, -120 lines |
0 comments
|
Download
|
|
M |
src/objects-printer.cc
|
View
|
|
1 chunk |
+40 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/property-details.h
|
View
|
1
|
3 chunks |
+5 lines, -5 lines |
0 comments
|
Download
|
Dependent Patchsets:
Total messages: 25 (14 generated)
|