|
Introduce {FAST,SLOW}_STRING_WRAPPER_ELEMENTS
String wrappers (new String("foo")) are special objects: their string
characters are accessed like elements, and they also have an elements
backing store. This used to require a bunch of explicit checks like:
if (obj->IsJSValue() && JSValue::cast(obj)->value()->IsString()) {
/* Handle string characters */
}
// Handle regular elements (for string wrappers and other objects)
obj->GetElementsAccessor()->Whatever(...);
This CL introduces new ElementsKinds for string wrapper objects (one for
fast elements, one for dictionary elements), which allow folding the
special-casing into new StringWrapperElementsAccessors.
No observable change in behavior is intended.
Committed: https://crrev.com/f4872f7477e34ae090e1cb862f22b3b89fba7329
Cr-Commit-Position: refs/heads/master@{#33616}
Total comments: 18
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+656 lines, -333 lines) |
Patch |
|
M |
src/bootstrapper.cc
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/builtins.cc
|
View
|
1
2
3
4
|
6 chunks |
+40 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/code-stubs.h
|
View
|
1
2
3
4
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/code-stubs.cc
|
View
|
1
|
1 chunk |
+2 lines, -22 lines |
0 comments
|
Download
|
|
M |
src/contexts-inl.h
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/crankshaft/arm/lithium-codegen-arm.cc
|
View
|
1
2
3
4
|
2 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/arm64/lithium-codegen-arm64.cc
|
View
|
1
2
3
4
|
2 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/hydrogen.cc
|
View
|
1
2
3
4
|
3 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/ia32/lithium-codegen-ia32.cc
|
View
|
1
2
3
4
|
2 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/mips/lithium-codegen-mips.cc
|
View
|
1
2
3
4
|
2 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/mips64/lithium-codegen-mips64.cc
|
View
|
1
2
3
4
|
2 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/ppc/lithium-codegen-ppc.cc
|
View
|
1
2
3
4
|
2 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/x64/lithium-codegen-x64.cc
|
View
|
1
2
3
4
|
2 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/x87/lithium-codegen-x87.cc
|
View
|
1
2
3
4
|
2 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/debug/liveedit.cc
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/elements.h
|
View
|
|
6 chunks |
+13 lines, -43 lines |
0 comments
|
Download
|
|
M |
src/elements.cc
|
View
|
1
2
3
4
5
|
37 chunks |
+354 lines, -97 lines |
0 comments
|
Download
|
|
M |
src/elements-kind.h
|
View
|
1
|
4 chunks |
+17 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/elements-kind.cc
|
View
|
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/factory.h
|
View
|
1
|
2 chunks |
+5 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/heap/heap.cc
|
View
|
1
2
3
4
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/ic/ic.cc
|
View
|
1
2
3
4
|
3 chunks |
+5 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/ic/ic-compiler.cc
|
View
|
|
2 chunks |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/interpreter/bytecode-array-iterator.cc
|
View
|
1
2
3
4
|
1 chunk |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/key-accumulator.h
|
View
|
|
1 chunk |
+4 lines, -6 lines |
0 comments
|
Download
|
|
M |
src/lookup.cc
|
View
|
1
2
3
4
|
5 chunks |
+21 lines, -40 lines |
0 comments
|
Download
|
|
M |
src/objects.h
|
View
|
1
2
3
4
|
7 chunks |
+9 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/objects.cc
|
View
|
1
2
3
4
5
|
27 chunks |
+69 lines, -49 lines |
0 comments
|
Download
|
|
M |
src/objects-debug.cc
|
View
|
1
2
3
4
|
4 chunks |
+7 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/objects-inl.h
|
View
|
1
2
3
4
5
6
|
9 chunks |
+27 lines, -29 lines |
0 comments
|
Download
|
|
M |
src/objects-printer.cc
|
View
|
1
2
3
4
|
3 chunks |
+5 lines, -1 line |
0 comments
|
Download
|
|
M |
src/runtime/runtime-proxy.cc
|
View
|
|
2 chunks |
+2 lines, -4 lines |
0 comments
|
Download
|
|
M |
test/cctest/interpreter/test-interpreter.cc
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
test/cctest/test-inobject-slack-tracking.cc
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
test/cctest/test-unboxed-doubles.cc
|
View
|
1
2
3
4
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
Total messages: 31 (16 generated)
|