- 23 Jan, 2017 1 commit
-
-
ishell authored
Manipulating the signaling NaN used for the hole and uninitialized double field sentinel in C++, e.g. with bit_cast or HeapNumber::value()/set_value(), will change its value on ia32 (the x87 stack is used to return values and stores to the stack silently clear the signalling bit). BUG=v8:5495 Review-Url: https://codereview.chromium.org/2652553003 Cr-Commit-Position: refs/heads/master@{#42609}
-
- 21 Jan, 2017 1 commit
-
-
gsathya authored
Convert strings to numbers if possible in the runtime call and store in excluded property list. BUG=v8:5549 Review-Url: https://codereview.chromium.org/2639333004 Cr-Commit-Position: refs/heads/master@{#42581}
-
- 20 Jan, 2017 1 commit
-
-
franzih authored
Allocate space in the backing store for computed property names. The property backing store was pre-allocated for the constant properties up to the first non-constant (computed name) property. To use lowering for storing data properties in literals with computed property names effectively, a fast store is needed, i.e., available space in the property backing store for properties with computed names. backing_store_size is the number of all properties (including computed names, but without __proto__) that is calculated in the ast and passed to the runtime function that allocates the property backing store. backing_store_size and constant_properties constitute a BoilerplateDescription. backing_store_size might be slightly too high because computed names can evaluate to the same name, but that should be a rare case so over-allocating is OK. If a property is __proto__, we don't store it as a regular property, because the map changes. Keep track of has_seen_proto in the parser to calculate the backing store size correctly. BUG=v8:5625 Review-Url: https://codereview.chromium.org/2632503003 Cr-Commit-Position: refs/heads/master@{#42576}
-
- 19 Jan, 2017 6 commits
-
-
mvstanton authored
GC performance issues need to be addressed first. TBR=bmeurer@chromium.org, mstarzinger@chromium.org, yangguo@chromium.org BUG=v8:5456 Review-Url: https://codereview.chromium.org/2642743002 Cr-Original-Commit-Position: refs/heads/master@{#42495} Committed: https://chromium.googlesource.com/v8/v8/+/7803aa1ffb2f835c5f317ed2a097390d53e52567 Review-Url: https://codereview.chromium.org/2642743002 Cr-Commit-Position: refs/heads/master@{#42517}
-
clemensh authored
Document that frame summaries are bottom-to-top, i.e. caller before callee, rename FrameSummary::GetFirst to FrameSummary::GetBottom and introduce FrameSummary::GetTop. For debugged JavaScript frames, it does not really matter which of the functions we call, so I replaced a few GetFirst by GetTop instead of GetBottom because it matches the semantics more closely. This CL also reverts part of http://crrev.com/2621953002 by changing BreakLocation::FromFrame back to accept a DebugInfo and a JavaScriptFrame. We don't plan to create BreakLocations for wasm. R=yangguo@chromium.org BUG=v8:5822 Review-Url: https://codereview.chromium.org/2647433002 Cr-Commit-Position: refs/heads/master@{#42505}
-
jkummerow authored
using newly introduced ThinStrings, which store a pointer to the actual, internalized string they represent. BUG=v8:4520 (Previously landed as #42168 / af51befe) (Previously landed as #42193 / 4c699e34) (Previously landed as #42235 / ec45e6ed) Review-Url: https://codereview.chromium.org/2549773002 Cr-Commit-Position: refs/heads/master@{#42503}
-
ishell authored
Currently PropertyConstness is still in sync with PropertyLocation. BUG=v8:5495 Review-Url: https://codereview.chromium.org/2591233002 Cr-Commit-Position: refs/heads/master@{#42497}
-
machenbach authored
Revert of Revert [TypeFeedbackVector] Root literal arrays in function literal slots (patchset #2 id:20001 of https://codereview.chromium.org/2642743002/ ) Reason for revert: Breaks nosnap: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/13802 Original issue's description: > Revert [TypeFeedbackVector] Root literal arrays in function literal slots > > GC performance issues need to be addressed first. > > TBR=bmeurer@chromium.org, mstarzinger@chromium.org, yangguo@chromium.org > BUG=v8:5456 > > Review-Url: https://codereview.chromium.org/2642743002 > Cr-Commit-Position: refs/heads/master@{#42495} > Committed: https://chromium.googlesource.com/v8/v8/+/7803aa1ffb2f835c5f317ed2a097390d53e52567 TBR=mvstanton@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5456 Review-Url: https://codereview.chromium.org/2642933003 Cr-Commit-Position: refs/heads/master@{#42496}
-
mvstanton authored
GC performance issues need to be addressed first. TBR=bmeurer@chromium.org, mstarzinger@chromium.org, yangguo@chromium.org BUG=v8:5456 Review-Url: https://codereview.chromium.org/2642743002 Cr-Commit-Position: refs/heads/master@{#42495}
-
- 18 Jan, 2017 2 commits
-
-
clemensh authored
Store breakpoint positions in the WasmSharedModuleData in order to set them on new instantiations. Also redirect them to all live instances at the time the breakpoint is set. Inside the WasmDebugInfo, we store the BreakPointInfo objects to find hit breakpoints. R=titzer@chromium.org, yangguo@chromium.org BUG=v8:5822 Review-Url: https://codereview.chromium.org/2626253002 Cr-Commit-Position: refs/heads/master@{#42443}
-
gsathya authored
This rewrites the rest property into a runtime call which sets up the correct properties in the newly created object. - Changes flag to --harmony-object-rest-spread - Changes pattern rewriter to desugar rest property - Adds new runtime function CopyDataPropertiesWithExcludedProperties BUG=v8:5549 Review-Url: https://codereview.chromium.org/2620943002 Cr-Commit-Position: refs/heads/master@{#42430}
-
- 17 Jan, 2017 2 commits
-
-
ishell authored
BUG=v8:5495 Review-Url: https://codereview.chromium.org/2639583002 Cr-Commit-Position: refs/heads/master@{#42419}
-
ishell authored
... and rename [Copy]GeneralizeAllRepresentations() -> [Copy]GeneralizeAllFields(). BUG=v8:5495 Review-Url: https://codereview.chromium.org/2632373002 Cr-Commit-Position: refs/heads/master@{#42418}
-
- 16 Jan, 2017 2 commits
-
-
ishell authored
... and ensure that we do a full store when we overwrite uninitialized values. This cleanup is necessary for checking that constant field tracking works as expected (once landed). BUG=v8:5495 Review-Url: https://codereview.chromium.org/2631123002 Cr-Commit-Position: refs/heads/master@{#42369}
-
ishell authored
Now we can add a constness bit to the PropertyDetails. BUG=v8:5495 Review-Url: https://codereview.chromium.org/2629423002 Cr-Commit-Position: refs/heads/master@{#42366}
-
- 13 Jan, 2017 6 commits
-
-
cbruni authored
In the ideal case, this will speed up Object.create(null) by ~10x. Drive-by-fix: Spread usage of new IsSpecialReceiverMap() and IsSpecialReceiverInstanceType(InstanceType) helpers. BUG=v8:5788 Review-Url: https://codereview.chromium.org/2622723003 Cr-Commit-Position: refs/heads/master@{#42336}
-
ishell authored
BUG=v8:5495 Review-Url: https://codereview.chromium.org/2633553002 Cr-Commit-Position: refs/heads/master@{#42329}
-
ishell authored
BUG=v8:5495 Review-Url: https://codereview.chromium.org/2622413004 Cr-Commit-Position: refs/heads/master@{#42328}
-
cbruni authored
Revert of [compiler] Support Object.create(null) inlining in TF (patchset #5 id:80001 of https://codereview.chromium.org/2622723003/ ) Reason for revert: Breaks buildbot: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20avx2/builds/13399/steps/Benchmarks/logs/stdio Original issue's description: > [compiler] Support Object.create(null) inlining in TF > > In the ideal case, this will speed up Object.create(null) by ~10x. > > Drive-by-fix: Spread usage of new IsSpecialReceiverMap() and > IsSpecialReceiverInstanceType(InstanceType) helpers. > > BUG=v8:5788 > > Review-Url: https://codereview.chromium.org/2622723003 > Cr-Commit-Position: refs/heads/master@{#42321} > Committed: https://chromium.googlesource.com/v8/v8/+/ff7063c7d5d8ad8eafcce3da59e65d7fe2b4f915 TBR=jarin@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5788 Review-Url: https://codereview.chromium.org/2636493003 Cr-Commit-Position: refs/heads/master@{#42326}
-
cbruni authored
In the ideal case, this will speed up Object.create(null) by ~10x. Drive-by-fix: Spread usage of new IsSpecialReceiverMap() and IsSpecialReceiverInstanceType(InstanceType) helpers. BUG=v8:5788 Review-Url: https://codereview.chromium.org/2622723003 Cr-Commit-Position: refs/heads/master@{#42321}
-
ishell authored
[runtime] Mark maps created as a result of field type or representation generalization as migration targets. BUG=v8:5444 Review-Url: https://codereview.chromium.org/2379633002 Cr-Commit-Position: refs/heads/master@{#42307}
-
- 12 Jan, 2017 9 commits
-
-
ishell authored
BUG= Review-Url: https://codereview.chromium.org/2627003005 Cr-Commit-Position: refs/heads/master@{#42291}
-
clemensh authored
Wasm frames can be either compiled or interpreted. For interpreted wasm frames, there is only one physical stack frame representing an arbitrary stack of interpreted functions. Hence the physical stack frame needs to provide a summary of the underlying functions. Summaries were tailored for JavaScript frames before. Now they are universal. The refactored FrameSummaries are now also used in the FrameInspector, and from the StackFrame objects themselves, to avoid code duplication. All dispatch is implemented "manually", making the FrameSummary still stack-allocatable. BUG=v8:5822 R=yangguo@chromium.org, titzer@chromium.org Review-Url: https://codereview.chromium.org/2619353006 Cr-Commit-Position: refs/heads/master@{#42279}
-
ishell authored
This is a necessary cleanup before introducing PropertyConstness bit. BUG=v8:5495 Review-Url: https://codereview.chromium.org/2624903003 Cr-Commit-Position: refs/heads/master@{#42277}
-
verwaest authored
BUG= Review-Url: https://codereview.chromium.org/2629143002 Cr-Commit-Position: refs/heads/master@{#42275}
-
jkummerow authored
Revert of Internalize strings in-place (patchset #20 id:380001 of https://codereview.chromium.org/2549773002/ ) Reason for revert: Blocks roll, ASan detects leaking ExternalStrings. Original issue's description: > Internalize strings in-place (reland^2) > > using newly introduced ThinStrings, which store a pointer to the actual, > internalized string they represent. > > BUG=v8:4520 > > (Previously landed as #42168 / af51befe) > (Previously landed as #42193 / 4c699e34) > > Review-Url: https://codereview.chromium.org/2549773002 > Cr-Commit-Position: refs/heads/master@{#42235} > Committed: https://chromium.googlesource.com/v8/v8/+/ec45e6ed2e11698c713e664b1510bc31bcdbbdba TBR=ishell@chromium.org,hpayer@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4520 Review-Url: https://codereview.chromium.org/2626893005 Cr-Commit-Position: refs/heads/master@{#42271}
-
yangguo authored
R=jgruber@chromium.org, mstarzinger@chromium.org BUG=v8:5821 Review-Url: https://codereview.chromium.org/2622863003 Cr-Commit-Position: refs/heads/master@{#42270}
-
mvstanton authored
Literal arrays and feedback vectors for a function can be garbage collected if we don't have a rooted closure for the function, which happens often. It's expensive to come back from this (recreating boilerplates and gathering feedback again), and the cost is disproportionate if the function was inlined into optimized code. To guard against losing these arrays when we need them, we'll now create literal arrays when creating the feedback vector for the outer closure, and root them strongly in that vector. BUG=v8:5456 Review-Url: https://codereview.chromium.org/2620753003 Cr-Original-Commit-Position: refs/heads/master@{#42258} Committed: https://chromium.googlesource.com/v8/v8/+/31887804107bf5c103d915f5c601cfaaf1cd7cb6 Review-Url: https://codereview.chromium.org/2620753003 Cr-Commit-Position: refs/heads/master@{#42264}
-
machenbach authored
Revert of [TypeFeedbackVector] Root literal arrays in function literals slots (patchset #7 id:120001 of https://codereview.chromium.org/2620753003/ ) Reason for revert: gc stress: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/8105 also on mac Original issue's description: > [TypeFeedbackVector] Root literal arrays in function literals slots > > Literal arrays and feedback vectors for a function can be garbage > collected if we don't have a rooted closure for the function, which > happens often. It's expensive to come back from this (recreating > boilerplates and gathering feedback again), and the cost is > disproportionate if the function was inlined into optimized code. > > To guard against losing these arrays when we need them, we'll now > create literal arrays when creating the feedback vector for the outer > closure, and root them strongly in that vector. > > BUG=v8:5456 > > Review-Url: https://codereview.chromium.org/2620753003 > Cr-Commit-Position: refs/heads/master@{#42258} > Committed: https://chromium.googlesource.com/v8/v8/+/31887804107bf5c103d915f5c601cfaaf1cd7cb6 TBR=bmeurer@chromium.org,mstarzinger@chromium.org,yangguo@chromium.org,mvstanton@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5456 Review-Url: https://codereview.chromium.org/2626863004 Cr-Commit-Position: refs/heads/master@{#42260}
-
mvstanton authored
Literal arrays and feedback vectors for a function can be garbage collected if we don't have a rooted closure for the function, which happens often. It's expensive to come back from this (recreating boilerplates and gathering feedback again), and the cost is disproportionate if the function was inlined into optimized code. To guard against losing these arrays when we need them, we'll now create literal arrays when creating the feedback vector for the outer closure, and root them strongly in that vector. BUG=v8:5456 Review-Url: https://codereview.chromium.org/2620753003 Cr-Commit-Position: refs/heads/master@{#42258}
-
- 11 Jan, 2017 2 commits
-
-
jkummerow authored
using newly introduced ThinStrings, which store a pointer to the actual, internalized string they represent. BUG=v8:4520 (Previously landed as #42168 / af51befe) (Previously landed as #42193 / 4c699e34) Review-Url: https://codereview.chromium.org/2549773002 Cr-Commit-Position: refs/heads/master@{#42235}
-
jkummerow authored
Revert of Internalize strings in-place (patchset #17 id:320001 of https://codereview.chromium.org/2549773002/ ) Reason for revert: blocks roll, see: https://codereview.chromium.org/2628733002/ Debug mode runs into an Abort("External string expected, but not found"). Original issue's description: > Internalize strings in-place (reland) > > using newly introduced ThinStrings, which store a pointer to the actual, > internalized string they represent. > > BUG=v8:4520 > > (Previously landed as #42168 / af51befe. > > Review-Url: https://codereview.chromium.org/2549773002 > Cr-Commit-Position: refs/heads/master@{#42193} > Committed: https://chromium.googlesource.com/v8/v8/+/4c699e349a4986b28574b3a51e8780e3a3d067b1 TBR=ishell@chromium.org,hpayer@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4520 Review-Url: https://codereview.chromium.org/2625073002 Cr-Commit-Position: refs/heads/master@{#42212}
-
- 10 Jan, 2017 5 commits
-
-
jkummerow authored
using newly introduced ThinStrings, which store a pointer to the actual, internalized string they represent. BUG=v8:4520 (Previously landed as #42168 / af51befe. Review-Url: https://codereview.chromium.org/2549773002 Cr-Commit-Position: refs/heads/master@{#42193}
-
ishell authored
... including property reconfiguring, elements kind change and migration of a map to an up-to-date non-deprecated version. BUG=v8:5495 Review-Url: https://codereview.chromium.org/2601643002 Cr-Commit-Position: refs/heads/master@{#42177}
-
jochen authored
BUG=chromium:679345 R=verwaest@chromium.org Review-Url: https://codereview.chromium.org/2622873002 Cr-Commit-Position: refs/heads/master@{#42173}
-
machenbach authored
Revert of Internalize strings in-place (patchset #16 id:300001 of https://codereview.chromium.org/2549773002/ ) Reason for revert: gc stress failures: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/8024 Original issue's description: > Internalize strings in-place > > using newly introduced ThinStrings, which store a pointer to the actual, > internalized string they represent. > > BUG=v8:4520 > > Review-Url: https://codereview.chromium.org/2549773002 > Cr-Commit-Position: refs/heads/master@{#42168} > Committed: https://chromium.googlesource.com/v8/v8/+/af51befe694fe039db3554d4b9165f7d6baceb77 TBR=ishell@chromium.org,hpayer@chromium.org,bmeurer@chromium.org,jkummerow@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4520 Review-Url: https://codereview.chromium.org/2621913002 Cr-Commit-Position: refs/heads/master@{#42170}
-
jkummerow authored
using newly introduced ThinStrings, which store a pointer to the actual, internalized string they represent. BUG=v8:4520 Review-Url: https://codereview.chromium.org/2549773002 Cr-Commit-Position: refs/heads/master@{#42168}
-
- 09 Jan, 2017 1 commit
-
-
cbruni authored
The pattern IsNull(isolate) || IsUndefined(isolate) is used in many places all over the code base. Review-Url: https://codereview.chromium.org/2601503002 Cr-Commit-Position: refs/heads/master@{#42138}
-
- 05 Jan, 2017 1 commit
-
-
gsathya authored
This patch adds parsing of spread object property. -- Changes ParsePropertyName to parse Token::ELLIPSIS. -- Throws if rest is encountered by setting a pattern error. -- Adds a new PropertyKind enum (SPREAD) -- Adds a new ObjectLiteralProperty::kind (SPREAD) -- Adds a new harmony-object-spread flag and protects the parser code with it. -- Adds a new runtime function called CopyDataProperties -- Does not add any support for this feature in fullcodegen. -- Ignition calls out to a runtime function CopyDataProperties to perform spread operation. -- Move FastAssign from builtins-objects.cc to objects.cc -- Refactor Builtin_ObjectAssign to use SetOrCopyDataProperties Object rest will be implemented in a follow on patch. BUG=v8:5549 Review-Url: https://codereview.chromium.org/2606833002 Cr-Commit-Position: refs/heads/master@{#42102}
-
- 03 Jan, 2017 1 commit
-
-
caitp authored
These maps contain exactly the same information as the strict maps, so this frees up a few pointers of native context space, gets rid of some branches in FastNewClosure, and adds missing poisoned properties tests for async functions. BUG=v8:2355, v8:4483 R=adamk@chromium.org, bmeurer@chromium.org, littledan@chromium.org Review-Url: https://codereview.chromium.org/2608333002 Cr-Commit-Position: refs/heads/master@{#42051}
-