- 31 Jan, 2017 3 commits
-
-
gsathya authored
This groups together all the promise related runtime functions. BUG=v8:5343 Review-Url: https://codereview.chromium.org/2665983002 Cr-Commit-Position: refs/heads/master@{#42798}
-
jkummerow authored
The spec for String.split() requires loading "separator[@@split]". The KeyedLoadIC for this goes generic right away, but still requires a runtime call. To avoid that, reshuffle checks in the generic stub and do the primitive-string -> String-function translation inline. Review-Url: https://codereview.chromium.org/2654893003 Cr-Commit-Position: refs/heads/master@{#42797}
-
kozyatinskiy authored
Test just checks that all basic features are working correctly with modules. BUG=v8:1569 R=dgozman@chromium.org,alph@chromium.org,adamk@chromium.org Review-Url: https://codereview.chromium.org/2663743002 Cr-Commit-Position: refs/heads/master@{#42796}
-
- 30 Jan, 2017 35 commits
-
-
gdeepti authored
Issues with instance wrapper allocation and JS Api errata have been fixed over the last few weeks, test in the bug no longer fails - enabling tests for imported memory. BUG=5683 R=bradnelson@chromium.org, ahaas@chromium.org Review-Url: https://codereview.chromium.org/2666763002 Cr-Commit-Position: refs/heads/master@{#42795}
-
vogelheim authored
The existing unit test explicitly checked for this case, but was - under the right circumstances - defeated by the optimization to not re-run the whole position search if we were close enough. BUG=chromium:685618 Review-Url: https://codereview.chromium.org/2663883002 Cr-Commit-Position: refs/heads/master@{#42794}
-
bjaideep authored
Port ca8d3ba7 Original Commit Message: Original commit message: [wasm] Introduce the TrapIf and TrapUnless operators to generate trap code. Some instructions in WebAssembly trap for some inputs, which means that the execution is terminated and (at least at the moment) a JavaScript exception is thrown. Examples for traps are out-of-bounds memory accesses, or integer divisions by zero. Without the TrapIf and TrapUnless operators trap check in WebAssembly introduces 5 TurboFan nodes (branch, if_true, if_false, trap-reason constant, trap-position constant), in addition to the trap condition itself. Additionally, each WebAssembly function has four TurboFan nodes (merge, effect_phi, 2 phis) whose number of inputs is linear to the number of trap checks in the function. Especially for functions with high numbers of trap checks we observe a significant slowdown in compilation time, down to 0.22 MiB/s in the sqlite benchmark instead of the average of 3 MiB/s in other benchmarks. By introducing a TrapIf common operator only a single node is necessary per trap check, in addition to the trap condition. Also the nodes which are shared between trap checks (merge, effect_phi, 2 phis) would disappear. First measurements suggest a speedup of 30-50% on average. This CL only implements TrapIf and TrapUnless on x64. The implementation is also hidden behind the --wasm-trap-if flag. Please take a special look at how the source position is transfered from the instruction selector to the code generator, and at the context that is used for the runtime call. R=ahaas@chromium.org, titzer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2666433002 Cr-Commit-Position: refs/heads/master@{#42793}
-
Aaron Gable authored
BUG=685318 Change-Id: I6654410beaca18f5d8e0791ed18d0daa46edcae0 Reviewed-on: https://chromium-review.googlesource.com/434177Reviewed-by: Aaron Gable <agable@chromium.org> Cr-Commit-Position: refs/heads/master@{#42792}
-
jyan authored
R=joransiu@ca.ibm.com, bjaideep@ca.ibm.com BUG= Review-Url: https://codereview.chromium.org/2662963002 Cr-Commit-Position: refs/heads/master@{#42791}
-
marja authored
The bug used to show up when - we were streaming a script starting with 0xef 0xbb 0xbf - we aborted preparsing a function (and reset to a bookmark) BUG=chromium:685618 Review-Url: https://codereview.chromium.org/2663773002 Cr-Commit-Position: refs/heads/master@{#42790}
-
machenbach authored
BUG=chromium:685318 TBR=tandrii@chromium.org Review-Url: https://codereview.chromium.org/2666563002 Cr-Commit-Position: refs/heads/master@{#42789}
-
machenbach authored
Revert of ValueSerializer: Distinguish between 'undefined' and an absent property. (patchset #2 id:20001 of https://codereview.chromium.org/2660093002/ ) Reason for revert: Seems to break layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/13146 https://github.com/v8/v8/wiki/Blink-layout-tests Original issue's description: > ValueSerializer: Distinguish between 'undefined' and an absent property. > > Dealing with this case requires a wire format change. It is possible that an > element can be absent even in an array where the dense format was chosen > (because the array initially had no holes), if the elements are modified while > they are being serialized. In this case, a new tag for the "hole" is emitted. > > The logic to treat undefined in dense arrays as an absent property is restricted > to versions of the wire format that this tag did not exist. > > BUG=chromium:686159,chromium:665820 > > Review-Url: https://codereview.chromium.org/2660093002 > Cr-Commit-Position: refs/heads/master@{#42784} > Committed: https://chromium.googlesource.com/v8/v8/+/dc85f4c8338c1c824af4f7ee3274dc9f95d14e49 TBR=jkummerow@chromium.org,jbroman@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:686159,chromium:665820 Review-Url: https://codereview.chromium.org/2667553003 Cr-Commit-Position: refs/heads/master@{#42788}
-
jochen authored
R=mtrofin@chromium.org,verwaest@chromium.org BUG= Review-Url: https://codereview.chromium.org/2662883003 Cr-Commit-Position: refs/heads/master@{#42787}
-
bjaideep authored
On ia32/x64 when casting a sNan to double, the signalling bit is flipped to qNan. R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2660873003 Cr-Commit-Position: refs/heads/master@{#42786}
-
jkummerow authored
Performing lookups on the prototype chain in the stub avoids a bunch of slow-path runtime calls. For now, only receivers with dictionary-mode properties do this; fast-mode receivers will follow if it's beneficial. (previously landed as r42751 / 82e10f5f) Review-Url: https://codereview.chromium.org/2652213003 Cr-Commit-Position: refs/heads/master@{#42785}
-
jbroman authored
Dealing with this case requires a wire format change. It is possible that an element can be absent even in an array where the dense format was chosen (because the array initially had no holes), if the elements are modified while they are being serialized. In this case, a new tag for the "hole" is emitted. The logic to treat undefined in dense arrays as an absent property is restricted to versions of the wire format that this tag did not exist. BUG=chromium:686159,chromium:665820 Review-Url: https://codereview.chromium.org/2660093002 Cr-Commit-Position: refs/heads/master@{#42784}
-
jkummerow authored
BUG=chromium:685504 Review-Url: https://codereview.chromium.org/2660823002 Cr-Commit-Position: refs/heads/master@{#42783}
-
jkummerow authored
BUG=chromium:685965 Review-Url: https://codereview.chromium.org/2660123002 Cr-Commit-Position: refs/heads/master@{#42782}
-
gdeepti authored
When WebAssembly.Table initial size is greater than the declared initial size, table size references should be updated on instantiate for functions to be called at indices greater than the declared initial size. R=bradnelson@chromium.org, titzer@chromium.org Review-Url: https://codereview.chromium.org/2661773002 Cr-Commit-Position: refs/heads/master@{#42781}
-
kozyatinskiy authored
Without this CL we have only limit for amount of console messages and if user are dumping a huge messages we pretty soon run out of memory. So let's introduce limit for memory consumption it would help chromium and Node.js as well. BUG=chromium:671489 R=dgozman@chomium.org,alph@chromium.org, hpayer@chromium.org, ulan@chromium.org Review-Url: https://codereview.chromium.org/2653293003 Cr-Commit-Position: refs/heads/master@{#42780}
-
mvstanton authored
Compiles simply take too long, and such functions are liable to deopt quickly. BUG=chromium:686153 Review-Url: https://codereview.chromium.org/2667573002 Cr-Commit-Position: refs/heads/master@{#42779}
-
bjaideep authored
Port 93f05b64 Original Commit Message: They have the same lifetime. It's a match! Both structures are native context dependent and dealt with (creation, clearing, gathering feedback) at the same time. By treating the spaces used for literal boilerplates as feedback vector slots, we no longer have to keep track of the materialized literal count elsewhere. A follow-on CL removes even more parser infrastructure related to this count. R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:5456 LOG=N Review-Url: https://codereview.chromium.org/2659413002 Cr-Commit-Position: refs/heads/master@{#42778}
-
jochen authored
BUG=v8:5904,chromium:639217 R=mstarzinger@chromium.org Review-Url: https://codereview.chromium.org/2660103002 Cr-Commit-Position: refs/heads/master@{#42777}
-
petermarshall authored
The graphs don't show any performance bump for https://codereview.chromium.org/2659623002, which I do see a much better result for locally. I suspect the function isn't being optimized in turbofan when the benchmarks run. Maybe this warmup flag will trigger that. BUG=v8:5895 Review-Url: https://codereview.chromium.org/2664783002 Cr-Commit-Position: refs/heads/master@{#42776}
-
bmeurer authored
We can constant-fold ReferenceEqual(a,b) to false, if the intersection of the types of a and b is empty. This also repairs a regression in the RestParameter performance test. R=petermarshall@chromium.org BUG=chromium:686668 Review-Url: https://codereview.chromium.org/2666543002 Cr-Commit-Position: refs/heads/master@{#42775}
-
danno authored
Review-Url: https://codereview.chromium.org/2657293002 Cr-Commit-Position: refs/heads/master@{#42774}
-
danno authored
Review-Url: https://codereview.chromium.org/2655023009 Cr-Commit-Position: refs/heads/master@{#42773}
-
machenbach authored
BUG=chromium:681236 NOTRY=true TBR=bradnelson@chromium.org, titzer@chromium.org Review-Url: https://codereview.chromium.org/2662823002 Cr-Commit-Position: refs/heads/master@{#42772}
-
mvstanton authored
They have the same lifetime. It's a match! Both structures are native context dependent and dealt with (creation, clearing, gathering feedback) at the same time. By treating the spaces used for literal boilerplates as feedback vector slots, we no longer have to keep track of the materialized literal count elsewhere. A follow-on CL removes even more parser infrastructure related to this count. BUG=v8:5456 Review-Url: https://codereview.chromium.org/2655853010 Cr-Commit-Position: refs/heads/master@{#42771}
-
jarin authored
Review-Url: https://codereview.chromium.org/2626013002 Cr-Original-Commit-Position: refs/heads/master@{#42229} Committed: https://chromium.googlesource.com/v8/v8/+/30176976e857d4eb84a93fface84849c44bab793 Review-Url: https://codereview.chromium.org/2626013002 Cr-Commit-Position: refs/heads/master@{#42770}
-
tebbi authored
R=bmeurer@chromium.org BUG=chromium:682570 Review-Url: https://codereview.chromium.org/2664683003 Cr-Commit-Position: refs/heads/master@{#42769}
-
bmeurer authored
Update type of JSForInNext to say String\/Undefined. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2660543003 Cr-Commit-Position: refs/heads/master@{#42768}
-
bmeurer authored
R=ishell@chromium.org BUG=chromium:686102 Review-Url: https://codereview.chromium.org/2662793002 Cr-Commit-Position: refs/heads/master@{#42767}
-
danno authored
Review-Url: https://codereview.chromium.org/2658253002 Cr-Commit-Position: refs/heads/master@{#42766}
-
petermarshall authored
Where the arguments have already been inlined, we can replace these calls with a direct call to construct. We have to make sure that the iteration over the arguments is not observable. BUG=v8:5895 Review-Url: https://codereview.chromium.org/2659623002 Cr-Commit-Position: refs/heads/master@{#42765}
-
petermarshall authored
We need it to be a PropertyCell so that we can list it as a dependency for optimised code. Also drive-by clean up some variable names in src/isolate-inl.h. BUG=v8:5895 Review-Url: https://codereview.chromium.org/2658573008 Cr-Commit-Position: refs/heads/master@{#42764}
-
neis authored
R=adamk@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2657773006 Cr-Commit-Position: refs/heads/master@{#42763}
-
marja authored
These tests pass without further changes. BUG=v8:5516 Review-Url: https://codereview.chromium.org/2654163008 Cr-Commit-Position: refs/heads/master@{#42762}
-
jochen authored
We shouldn't block during GC for arbitrarily long intervals. BUG=chromium:686153,chromium:642532 R=verwaest@chromium.org,hpayer@chromium.org Review-Url: https://codereview.chromium.org/2658313002 Cr-Commit-Position: refs/heads/master@{#42761}
-
- 29 Jan, 2017 2 commits
-
-
caitp authored
emit %DebugPrint(tagged_value) instead of %GlobalPrint(tagged_value) to avoid a CONVERT_ARG_CHECKED() failure when tagged value is not a string. BUG=v8:5268 R=ishell@chromium.org, bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2663633002 Cr-Commit-Position: refs/heads/master@{#42760}
-
machenbach authored
BUG=v8:5906 NOTRY=true TBR=binji@chromium.org Review-Url: https://codereview.chromium.org/2659273002 Cr-Commit-Position: refs/heads/master@{#42759}
-