- 07 Sep, 2016 18 commits
-
-
mstarzinger authored
This implements the CompilationInfo::context explicitly instead of delegating to the underlying ParseInfo. This is in preparation for ParseInfo not having to store the context at all soon. R=jochen@chromium.org Review-Url: https://codereview.chromium.org/2316083002 Cr-Commit-Position: refs/heads/master@{#39244}
-
jochen authored
This will allow getting the entire scope chain from a SharedFunctionInfo which in turn will allow for generating bytecode when we just have the SFI R=verwaest@chromium.org,marja@chromium.org BUG=v8:5215 Review-Url: https://codereview.chromium.org/2271993002 Cr-Commit-Position: refs/heads/master@{#39243}
-
bmeurer authored
Migrate the isNaN, isFinite, Number.isFinite, Number.isInteger, Number.isSafeInteger and Number.isNaN predicates to TurboFan builtins and make them optimizable (for certain input types) in JavaScript callees being optimized by TurboFan. That means both the baseline and the optimized version is now always at maximum, consistent performance. Especially TurboFan suffered from poor baseline (and optimized) performance because it cannot play the same weird tricks that Crankshaft plays for %_IsSmi. This also adds a bunch of new tests to properly cover the use of the Harmony predicates in optimized code. R=franzih@chromium.org BUG=v8:5049,v8:5267 Review-Url: https://codereview.chromium.org/2313073002 Cr-Commit-Position: refs/heads/master@{#39242}
-
ishell authored
Review-Url: https://codereview.chromium.org/2317823002 Cr-Commit-Position: refs/heads/master@{#39241}
-
heimbuef authored
BUG=v8:5358 Review-Url: https://codereview.chromium.org/2316973002 Cr-Commit-Position: refs/heads/master@{#39240}
-
ulan authored
Now callers of Heap::CollectGarbage* functions need to specify the reason as an enum value instead of a string. Subsequent CL will add stats counter for GC reason. BUG= Review-Url: https://codereview.chromium.org/2310143002 Cr-Commit-Position: refs/heads/master@{#39239}
-
epertoso authored
The assumption that held when this DCHECK was introduced are no longer valid. Furthermore, the code below it seems to merge two non-overlapping intervals anyway. Review-Url: https://codereview.chromium.org/2316033002 Cr-Commit-Position: refs/heads/master@{#39238}
-
mlippautz authored
This reverts commit 332bd5e9. BUG=chromium:636331 R=ulan@chromium.org Review-Url: https://codereview.chromium.org/2313243002 Cr-Commit-Position: refs/heads/master@{#39237}
-
jochen authored
R=marja@chromium.org BUG= Review-Url: https://codereview.chromium.org/2318953003 Cr-Commit-Position: refs/heads/master@{#39236}
-
mlippautz authored
Various test fixes for issues that get flushed out with smaller pages. BUG=chromium:636331 R=ulan@chromium.org Review-Url: https://codereview.chromium.org/2313273002 Cr-Commit-Position: refs/heads/master@{#39235}
-
mythria authored
In ignition, allocation site mementos were disabled when creating array literals. Enabled them in this cl. BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/2294913006 Cr-Commit-Position: refs/heads/master@{#39234}
-
marja authored
This moves scope-related logic (such as looking up variables) to Scope where it belongs, and enables PreParser to do more Scope-related operations in the future. BUG= Review-Url: https://codereview.chromium.org/2301183003 Cr-Commit-Position: refs/heads/master@{#39233}
-
jochen authored
When we parse the top-level lazily, we don't get to see eval calls in inner scopes anyway. By never recording them, we make sure that the script scope ends up looking the same, no matter how we parsed it. BUG=v8:5215 R=marja@chromium.org,adamk@chromium.org Review-Url: https://codereview.chromium.org/2312903003 Cr-Commit-Position: refs/heads/master@{#39232}
-
mstarzinger authored
Revert of Remove --ignition-staging to --ignition-osr implication. (patchset #1 id:1 of https://codereview.chromium.org/2298613003/ ) Reason for revert: Re-enable to get new data after recent changes. Original issue's description: > Remove --ignition-staging to --ignition-osr implication. > > Ignition OSR to turbofan seems to cause instruction selector crashes > (where instructions selector gets simplified operators, probably > because we break the effect chain somehow). > > BUG=chromium:641893 > > Committed: https://crrev.com/26df3e230ebd8c7d1cd95ea54155959eee7cb830 > Cr-Commit-Position: refs/heads/master@{#39045} TBR=bmeurer@chromium.org,jarin@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=chromium:641893 Review-Url: https://codereview.chromium.org/2318943002 Cr-Commit-Position: refs/heads/master@{#39231}
-
lpy authored
Lexically declared "arguments" in sloppy mode will throw redeclaration error currently, this patch fixes it by delaying the declaration of arguments until we fully parse parameter list and function body. BUG=v8:4577 LOG=N Committed: https://crrev.com/70a613dd0a5f5d205b46559b55702764464851fa Review-Url: https://codereview.chromium.org/2290753003 Cr-Original-Commit-Position: refs/heads/master@{#39109} Cr-Commit-Position: refs/heads/master@{#39230}
-
machenbach authored
Revert of [heap] Switch to 500k pages (patchset #5 id:80001 of https://codereview.chromium.org/2314803002/ ) Reason for revert: Breaks arm64 nosnap debug: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug/builds/2178 Original issue's description: > [heap] Switch to 500k pages > > BUG=chromium:636331 > R=ulan@chromium.org > > Committed: https://crrev.com/4b618dbf8ec7f0edf377b54b48bf3c852d5e235a > Cr-Commit-Position: refs/heads/master@{#39220} TBR=ulan@chromium.org,mlippautz@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:636331 Review-Url: https://codereview.chromium.org/2312853005 Cr-Commit-Position: refs/heads/master@{#39229}
-
shiyu.zhang authored
This is a complement to https://codereview.chromium.org/2281523002. The patch above reversed the order of nodes with same latency, which caused bench_copy.js 4% regression and bench_skinning.js 5% regression on Atom when enabling '--turbo-instruction-scheduling' flag according to our observation. We submit this patch to sort the nodes with same latency in original order. It aligns with instruction scheduling logic before the patch above and fixes these regression. BUG= Review-Url: https://codereview.chromium.org/2284373002 Cr-Commit-Position: refs/heads/master@{#39228}
-
adamk authored
R=littledan@chromium.org Review-Url: https://codereview.chromium.org/2302183002 Cr-Commit-Position: refs/heads/master@{#39227}
-
- 06 Sep, 2016 22 commits
-
-
dgozman authored
- inspector becomes a dependency of v8_base; - generated public protocol files are placed to gen/v8/include/inspector/<Domain.h>; - added v8_enable_inspector_override to be used in embedders (gn only); - combined public headers into v8-inspector.h and v8-inspector-protocol.h. BUG=chromium:635948 Review-Url: https://codereview.chromium.org/2292053003 Cr-Commit-Position: refs/heads/master@{#39226}
-
jshin authored
Spec discussion: https://github.com/tc39/ecma402/issues/30 It's in stage 4 and Firefox has already implemented it. For now, it's added to HARMONY_IN_PROGRESS bucket behind '--datetime-format-to-parts' flag. BUG=v8:5244 TEST=intl/date-format/date-format-to-parts.js TEST=test262/intl402/DateTimeFormat/prototype/formatToParts/* Review-Url: https://codereview.chromium.org/2273953003 Cr-Commit-Position: refs/heads/master@{#39225}
-
jarin authored
Similarly to the word32->float64 case, we interpret word32 as uint32 if the value is word32 truncated. This is fine because the users declared they only care about mod 2^32 of the value (that's what word32 truncation means). This CL also removes the ad-hoc handling of this situation (https://codereview.chromium.org/2311903002). BUG=chromium:644048 Review-Url: https://codereview.chromium.org/2312003005 Cr-Commit-Position: refs/heads/master@{#39224}
-
jarin authored
Review-Url: https://codereview.chromium.org/2305523004 Cr-Commit-Position: refs/heads/master@{#39223}
-
bakkot authored
Move the code to perform function name inference for properties into parsing the properties themselves, instead of the containing object. This allows us to avoid unnecessary calls when parsing shorthand properties and methods and simplifies the logic in the remaining cases. Also fixes an edge case bug: inferring the name of the getter in `class { static get constructor(){} }`. Review-Url: https://codereview.chromium.org/2313723005 Cr-Commit-Position: refs/heads/master@{#39222}
-
jbroman authored
This yields a ~20% serialization time improvement on typical JSON-esque data. BUG=chromium:148757 Review-Url: https://codereview.chromium.org/2304563004 Cr-Commit-Position: refs/heads/master@{#39221}
-
mlippautz authored
BUG=chromium:636331 R=ulan@chromium.org Review-Url: https://codereview.chromium.org/2314803002 Cr-Commit-Position: refs/heads/master@{#39220}
-
bakkot authored
This introduces ClassLiteralProperty and a supertype LiteralProperty of it and ObjectLiteralProperty. It also splits the parsing of the two. This substiantially clarifies some logic, especially as classes continue to evolve, and is also about a 2% performance improvement to parsing either kind of property (since no work is wasted on logic only necessary for the other kind). Also, it saves a word on ObjectLiteralProperties. Review-Url: https://codereview.chromium.org/2302643002 Cr-Commit-Position: refs/heads/master@{#39219}
-
franzih authored
BUG= Review-Url: https://codereview.chromium.org/2311913002 Cr-Commit-Position: refs/heads/master@{#39218}
-
jkummerow authored
This extends TryToName by HeapNumber-to-intptr support and cached array index retrieval from non-internalized strings, and uses it in the KeyedLoadIC_Generic stub. Bonus: avoid needless movsxlq on x64 in LoadFixed{,Double}ArrayElement helpers by introducing INTPTR_PARAMETER mode. Review-Url: https://codereview.chromium.org/2277363002 Cr-Commit-Position: refs/heads/master@{#39217}
-
leszeks authored
For historical reasons, the interpreter's bytecode expectations tests required a type for the constant pool. This had two disadvantages: 1. Strings and numbers were not visible in mixed pools, and 2. Mismatches of pool types (e.g. when rebaselining) would cause parser errors This removes the pool types, making everything 'mixed', but appending the values to string and number valued constants. Specifying a pool type in the *.golden header now prints a warning (for backwards compatibility). BUG=v8:5350 Review-Url: https://codereview.chromium.org/2310103002 Cr-Commit-Position: refs/heads/master@{#39216}
-
franzih authored
BUG=v8:5260 Review-Url: https://codereview.chromium.org/2312863003 Cr-Commit-Position: refs/heads/master@{#39215}
-
fmeawad authored
https://codereview.chromium.org/2296243002/ introduced 2 minor bugs related to the Reset scope. The tracing version requires that we reset the counters everytime we start a new top level trace event, unless the top level one is not really a top level (i.e. has the right type but called in a nested way) Bugs are: 1- Reseting was guarded behind a check for the runtime call stats version only. 2- We never set that we are already inside a scope, so the nested case would fail as well. R=lpy@chromium.org, cbruni@chromium.org BUG=642373 Review-Url: https://codereview.chromium.org/2311033002 Cr-Commit-Position: refs/heads/master@{#39214}
-
ulan authored
This patch - extracts the logic of keeping track of allocated bytes from the actual incremental marking step. - replaces OldSpaceStep with a check for incremental marking start. - removes the force_marking parameter of AdvanceIncrementalMarking. BUG=chromium:616434 LOG=NO Review-Url: https://codereview.chromium.org/2304123003 Cr-Commit-Position: refs/heads/master@{#39213}
-
mlippautz authored
R=verwaest@chromium.org BUG= Review-Url: https://codereview.chromium.org/2316503004 Cr-Commit-Position: refs/heads/master@{#39212}
-
mlippautz authored
Together with the presubmit rule of prohibiting src/heap/* includes except for heap.h this now properly hides all heap internals. R=ulan@chromium.org BUG= Review-Url: https://codereview.chromium.org/2314783002 Cr-Commit-Position: refs/heads/master@{#39211}
-
machenbach authored
Revert of [turbofan] ARM: Implement vswp and use in gap resolver (patchset #2 id:20001 of https://codereview.chromium.org/2313803003/ ) Reason for revert: Breaks arm compilation: https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20builder/builds/3549 Original issue's description: > [turbofan] ARM: Implement vswp and use in gap resolver > > Use vswp to switch double-precision registers in the gap resolver, with fall > back temp register-based code if NEON is not available. > > BUG= > > Committed: https://crrev.com/2837c2e65a2ee5b9fc610f30ce1215f52323ecbd > Cr-Commit-Position: refs/heads/master@{#39209} TBR=bmeurer@chromium.org,epertoso@chromium.org,martyn.capewell@arm.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/2314003003 Cr-Commit-Position: refs/heads/master@{#39210}
-
martyn.capewell authored
Use vswp to switch double-precision registers in the gap resolver, with fall back temp register-based code if NEON is not available. BUG= Review-Url: https://codereview.chromium.org/2313803003 Cr-Commit-Position: refs/heads/master@{#39209}
-
franzih authored
BUG= Review-Url: https://codereview.chromium.org/2301393002 Cr-Commit-Position: refs/heads/master@{#39208}
-
rmcilroy authored
BUG=v8:5203 Review-Url: https://codereview.chromium.org/2278153003 Cr-Commit-Position: refs/heads/master@{#39207}
-
mlippautz authored
This way we avoid the cyclic dependency between objects.h and heap.h and still have one definition. Add a static assert that this size is indeed smaller than the payload of a page. Follow ups can finally remove the dependency on spaces.h for all heap.h users. R=ulan@chromium.org,bmeurer@chromium.org,vogelheim@chromium.og Review-Url: https://codereview.chromium.org/2311203002 Cr-Commit-Position: refs/heads/master@{#39206}
-
mstarzinger authored
This adds handling of {IrOpcode::kObjectIsReceiver} nodes to the escape status analysis. Such uses are treated as escaping for now until we add dedicated handling to the escape analysis reducer. R=bmeurer@chromium.org TEST=mjsunit/regress/regress-crbug-631027 BUG=chromium:631027 Review-Url: https://codereview.chromium.org/2317623003 Cr-Commit-Position: refs/heads/master@{#39205}
-