|
ES6 symbols: Allow symbols as property names
Since symbols and strings share a common representation, most of this change is about consistently replacing 'String' with 'Name' in all places where property names are expected. In particular, no new logic at all is necessary for maps, property dictionaries, or transitions. :) The only places where an actual case distinction is needed have to do with generated type checks, and with conversions of names to strings (especially in logger and profiler).
Left in some TODOs wrt to the API: interceptors and native getters don't accept symbols as property names yet, because that would require extending the external v8.h.
(Baseline CL: https://codereview.chromium.org/12296026/)
R=verwaest@chromium.org,mstarzinger@chromium.org
BUG= v8:2158
Committed: http://code.google.com/p/v8/source/detail?r=13811
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+1622 lines, -1246 lines) |
Patch |
|
M |
src/arm/code-stubs-arm.h
|
View
|
1
|
3 chunks |
+8 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/arm/code-stubs-arm.cc
|
View
|
1
|
11 chunks |
+53 lines, -46 lines |
0 comments
|
Download
|
|
M |
src/arm/ic-arm.cc
|
View
|
1
|
16 chunks |
+61 lines, -56 lines |
0 comments
|
Download
|
|
M |
src/arm/macro-assembler-arm.h
|
View
|
1
|
2 chunks |
+8 lines, -1 line |
0 comments
|
Download
|
|
M |
src/arm/macro-assembler-arm.cc
|
View
|
1
|
2 chunks |
+24 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/arm/stub-cache-arm.cc
|
View
|
1
|
34 chunks |
+55 lines, -53 lines |
0 comments
|
Download
|
|
M |
src/bootstrapper.cc
|
View
|
|
4 chunks |
+8 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/code-stubs.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/cpu-profiler.h
|
View
|
|
3 chunks |
+7 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/cpu-profiler.cc
|
View
|
|
7 chunks |
+7 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/factory.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/factory.cc
|
View
|
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/handles.cc
|
View
|
|
5 chunks |
+5 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/heap.h
|
View
|
|
8 chunks |
+11 lines, -11 lines |
0 comments
|
Download
|
|
M |
src/heap.cc
|
View
|
|
6 chunks |
+41 lines, -35 lines |
0 comments
|
Download
|
|
M |
src/ia32/code-stubs-ia32.h
|
View
|
|
3 chunks |
+11 lines, -11 lines |
0 comments
|
Download
|
|
M |
src/ia32/code-stubs-ia32.cc
|
View
|
1
|
10 chunks |
+48 lines, -46 lines |
0 comments
|
Download
|
|
M |
src/ia32/ic-ia32.cc
|
View
|
1
|
14 chunks |
+59 lines, -54 lines |
0 comments
|
Download
|
|
M |
src/ia32/macro-assembler-ia32.h
|
View
|
|
2 chunks |
+12 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/macro-assembler-ia32.cc
|
View
|
1
|
2 chunks |
+23 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/stub-cache-ia32.cc
|
View
|
|
37 chunks |
+55 lines, -53 lines |
0 comments
|
Download
|
|
M |
src/json-stringifier.h
|
View
|
|
1 chunk |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
src/log.h
|
View
|
|
3 chunks |
+8 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/log.cc
|
View
|
|
15 chunks |
+93 lines, -43 lines |
0 comments
|
Download
|
|
M |
src/objects.h
|
View
|
|
51 chunks |
+129 lines, -123 lines |
0 comments
|
Download
|
|
M |
src/objects.cc
|
View
|
|
147 chunks |
+232 lines, -208 lines |
0 comments
|
Download
|
|
M |
src/objects-debug.cc
|
View
|
|
3 chunks |
+5 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/objects-inl.h
|
View
|
|
26 chunks |
+48 lines, -36 lines |
0 comments
|
Download
|
|
M |
src/objects-printer.cc
|
View
|
|
4 chunks |
+11 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/profile-generator.h
|
View
|
|
7 chunks |
+9 lines, -9 lines |
0 comments
|
Download
|
|
M |
src/profile-generator.cc
|
View
|
|
6 chunks |
+20 lines, -16 lines |
0 comments
|
Download
|
|
M |
src/profile-generator-inl.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/property.h
|
View
|
|
5 chunks |
+11 lines, -11 lines |
0 comments
|
Download
|
|
M |
src/proxy.js
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/runtime.cc
|
View
|
|
31 chunks |
+59 lines, -54 lines |
0 comments
|
Download
|
|
M |
src/runtime.js
|
View
|
|
4 chunks |
+9 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/stub-cache.h
|
View
|
|
29 chunks |
+68 lines, -68 lines |
0 comments
|
Download
|
|
M |
src/stub-cache.cc
|
View
|
|
48 chunks |
+67 lines, -51 lines |
0 comments
|
Download
|
|
M |
src/transitions.h
|
View
|
|
5 chunks |
+7 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/transitions.cc
|
View
|
|
2 chunks |
+3 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/transitions-inl.h
|
View
|
|
3 chunks |
+7 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/v8globals.h
|
View
|
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
src/v8natives.js
|
View
|
|
15 chunks |
+18 lines, -17 lines |
0 comments
|
Download
|
|
M |
src/x64/code-stubs-x64.h
|
View
|
1
|
3 chunks |
+11 lines, -11 lines |
0 comments
|
Download
|
|
M |
src/x64/code-stubs-x64.cc
|
View
|
1
|
9 chunks |
+48 lines, -45 lines |
0 comments
|
Download
|
|
M |
src/x64/ic-x64.cc
|
View
|
1
|
14 chunks |
+60 lines, -54 lines |
0 comments
|
Download
|
|
M |
src/x64/macro-assembler-x64.h
|
View
|
1
|
2 chunks |
+12 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/macro-assembler-x64.cc
|
View
|
1
|
2 chunks |
+23 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/stub-cache-x64.cc
|
View
|
1
|
36 chunks |
+55 lines, -53 lines |
0 comments
|
Download
|
|
M |
test/mjsunit/harmony/symbols.js
|
View
|
|
1 chunk |
+99 lines, -1 line |
0 comments
|
Download
|
Total messages: 2 (0 generated)
|