- 24 Oct, 2016 16 commits
-
-
ahaas authored
I committed https://codereview.chromium.org/2447643002 prematurely, this is a cleanup. R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2444863002 Cr-Commit-Position: refs/heads/master@{#40533}
-
jgruber authored
This results in a speedup of around 2x. RegExpExec is also ported in this CL. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2441993002 Cr-Commit-Position: refs/heads/master@{#40532}
-
mstarzinger authored
This ensures that both --trace-codegen as well as --print-ast work for Ignition and print traces for generated bytecode as well. Here we do consider "bytecode" to be "code" as well for tracing purposes. R=rmcilroy@chromium.org Review-Url: https://codereview.chromium.org/2443003003 Cr-Commit-Position: refs/heads/master@{#40531}
-
ahaas authored
Depending on the inputs the fuzzer creates multiple functions. These functions can have signatures with an int32 return value and up to three parameters of type int32, int64, float32, or float64. R=titzer@chromium.org, clemensh@chromium.org Review-Url: https://codereview.chromium.org/2447643002 Cr-Commit-Position: refs/heads/master@{#40530}
-
jgruber authored
This will have additional use sites in TurboFan soon once RegExpExec is ported. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2440893003 Cr-Commit-Position: refs/heads/master@{#40529}
-
yangguo authored
R=machenbach@chromium.org Review-Url: https://codereview.chromium.org/2424313004 Cr-Commit-Position: refs/heads/master@{#40528}
-
zhengxing.li authored
port 231c8ac0 (r40522) original commit message: Loads already used source position elimination to avoid unnecessary hole checks, but for reasons unknown stores did not. This CL corrects that, making full-codegen's hole elimination equivalent to ignition's. Also introduced a HoleCheckMode enum class to avoid more bool flags and updated VariableProxy and BytecodeGenerator appropriately. BUG= Review-Url: https://codereview.chromium.org/2444823002 Cr-Commit-Position: refs/heads/master@{#40527}
-
jgruber authored
The test ensures that in RegExp.prototype[@@split], exec is neither accessed too early nor too often. BUG=v8:5339,v8:5434 Review-Url: https://codereview.chromium.org/2440413002 Cr-Commit-Position: refs/heads/master@{#40526}
-
bmeurer authored
We need to check the KeyedLoadIC state to guard against potential deoptimization loops due to out-of-bounds accesses, because the IC system uses the MEGAMORPHIC state to also signal that there was an out-of-bounds access already. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2443893002 Cr-Commit-Position: refs/heads/master@{#40525}
-
ishell authored
BUG= Review-Url: https://codereview.chromium.org/2438553003 Review-Url: https://codereview.chromium.org/2438553003 Cr-Original-Original-Commit-Position: refs/heads/master@{#40503} Cr-Original-Commit-Position: refs/heads/master@{#40511} Cr-Commit-Position: refs/heads/master@{#40524}
-
ulan authored
This patch moves management of marking deque backing store into the MarkingDeque class, which will simplify unmapping of backing store in concurrent task. BUG= Review-Url: https://codereview.chromium.org/2439063002 Cr-Commit-Position: refs/heads/master@{#40523}
-
adamk authored
Loads already used source position elimination to avoid unnecessary hole checks, but for reasons unknown stores did not. This CL corrects that, making full-codegen's hole elimination equivalent to ignition's. Also introduced a HoleCheckMode enum class to avoid more bool flags and updated VariableProxy and BytecodeGenerator appropriately. Review-Url: https://codereview.chromium.org/2441543005 Cr-Commit-Position: refs/heads/master@{#40522}
-
bmeurer authored
When accessing elements of a compile-time constant String, we don't need to check the receiver, and we can constant-fold the loading of the length. R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2442243002 Cr-Commit-Position: refs/heads/master@{#40521}
-
zhengxing.li authored
port 4a31323e (r40506) original commit message: The current method of marking functions for optimization, which replaces the JSFunction's code object with one that triggers optimization, would never allow unnamed functions to be optimized. This is an issue for a style of programming which heavily relies on passing around closures. This patch sets a bit on the SharedFunctionInfo when a JSFunction is marked. When another JSFunction referring to the same SharedFunctionInfo is lazily compiled, it immediately triggers a non-concurrent optimize. BUG= Review-Url: https://codereview.chromium.org/2439393002 Cr-Commit-Position: refs/heads/master@{#40520}
-
bmeurer authored
When lowering JSToLength, we cannot just smash arbitrary bounds on the Select nodes, as that will confuse the representation selection later. Instead properly rename the input using NumberMax and NumberMin. R=jarin@chromium.org BUG=chromium:657478 Review-Url: https://codereview.chromium.org/2440333002 Cr-Commit-Position: refs/heads/master@{#40519}
-
bmeurer authored
When lowering loads of "length" on compile-time constant strings, generate constant length instead of a load. R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2442233002 Cr-Commit-Position: refs/heads/master@{#40518}
-
- 23 Oct, 2016 1 commit
-
-
v8-autoroll authored
Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapul/+log/b7d8fe8..6962f5c TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://chromiumcodereview.appspot.com/2442173002 Cr-Commit-Position: refs/heads/master@{#40517}
-
- 22 Oct, 2016 2 commits
-
-
mtrofin authored
Since the public API for deserialization is now just DeserializeOrCompile, we can trickle down the wire bytes to the deserialization logic, and avoid the need for duplicating the wire bytes when serializing. BUG=chromium:657316 Review-Url: https://chromiumcodereview.appspot.com/2433273002 Cr-Commit-Position: refs/heads/master@{#40516}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/ee7e988..a3b623a Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapul/+log/147f2cf..b7d8fe8 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://chromiumcodereview.appspot.com/2445563002 Cr-Commit-Position: refs/heads/master@{#40515}
-
- 21 Oct, 2016 21 commits
-
-
jkummerow authored
BUG=chromium:657786 Review-Url: https://chromiumcodereview.appspot.com/2436423003 Cr-Commit-Position: refs/heads/master@{#40514}
-
titzer authored
R=bradnelson@chromium.org BUG= Review-Url: https://chromiumcodereview.appspot.com/2436953004 Cr-Commit-Position: refs/heads/master@{#40513}
-
ishell authored
Revert of [ic] Support data handlers that represent simple field stores. (patchset #2 id:40001 of https://codereview.chromium.org/2438553003/ ) Reason for revert: http://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/9306 "V8 Mac GC Stress" Original issue's description: > [ic] Support data handlers that represent simple field stores. > > BUG= > > Review-Url: https://codereview.chromium.org/2438553003 > Cr-Commit-Position: refs/heads/master@{#40503} TBR=jkummerow@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://chromiumcodereview.appspot.com/2442523003 Cr-Commit-Position: refs/heads/master@{#40512}
-
ishell authored
BUG= Review-Url: https://codereview.chromium.org/2438553003 Review-Url: https://chromiumcodereview.appspot.com/2438553003 Cr-Original-Commit-Position: refs/heads/master@{#40503} Cr-Commit-Position: refs/heads/master@{#40511}
-
neis authored
- Add hole check if needed. - Preserve the accumulator so that the result is the rhs. R=adamk@chromium.org BUG=v8:1569,v8:5547 Review-Url: https://chromiumcodereview.appspot.com/2438653003 Cr-Commit-Position: refs/heads/master@{#40510}
-
jgruber authored
Up until now, the TFJ macro would take 'argc + 1' for the implicitly passed receiver. Decrease the cognitive load by making it take the explicit argc. BUG= Review-Url: https://chromiumcodereview.appspot.com/2439013003 Cr-Commit-Position: refs/heads/master@{#40509}
-
neis authored
R=adamk@chromium.org BUG=v8:1569 Review-Url: https://chromiumcodereview.appspot.com/2442723002 Cr-Commit-Position: refs/heads/master@{#40508}
-
mstarzinger authored
This prepares the code-base so that Ignition can be enabled on a certain subset of compilations without setting the {FLAG_ignition} flag (which enables Ignition on all compilations). We should not check the flag in question explicitly anywhere outside of the compiler heuristics. R=mvstanton@chromium.org Review-Url: https://chromiumcodereview.appspot.com/2443573002 Cr-Commit-Position: refs/heads/master@{#40507}
-
leszeks authored
The current method of marking functions for optimization, which replaces the JSFunction's code object with one that triggers optimization, would never allow unnamed functions to be optimized. This is an issue for a style of programming which heavily relies on passing around closures. This patch sets a bit on the SharedFunctionInfo when a JSFunction is marked. When another JSFunction referring to the same SharedFunctionInfo is lazily compiled, it immediately triggers a non-concurrent optimize. BUG=v8:5512 Review-Url: https://chromiumcodereview.appspot.com/2437043002 Cr-Commit-Position: refs/heads/master@{#40506}
-
jgruber authored
Revert of [ic] Support data handlers that represent simple field stores. (patchset #1 id:20001 of https://chromiumcodereview.appspot.com/2438553003/ ) Reason for revert: http://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/9299 Original issue's description: > [ic] Support data handlers that represent simple field stores. > > BUG= TBR=jkummerow@chromium.org,ishell@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://chromiumcodereview.appspot.com/2439053002 Cr-Commit-Position: refs/heads/master@{#40505}
-
jgruber authored
This adds a fast-path for calls to RegExp.prototype[@@replace] for cases in which the given regexp is unmodified and global, and the given replace argument is callable. The fast-path implementation itself is almost identical to the original JS implementation except that it currently does not reuse result_array. SunSpider/unpack-code relies heavily on this codepath. BUG=v8:5339 Review-Url: https://chromiumcodereview.appspot.com/2433923003 Cr-Commit-Position: refs/heads/master@{#40504}
-
ishell authored
BUG= Review-Url: https://chromiumcodereview.appspot.com/2438553003 Cr-Commit-Position: refs/heads/master@{#40503}
-
jgruber authored
Add an IsCallableMap predicate to code-stub-assembler which tests whether the given map is callable, and adjust all use sites. BUG= Review-Url: https://chromiumcodereview.appspot.com/2435283002 Cr-Commit-Position: refs/heads/master@{#40502}
-
jgruber authored
These map checks were implemented for TF code already. This CL makes sure that parts implemented in C++ follow the same logic, which is: An object is an unmodified regexp if: 1) it's a receiver, 2) its map is the initial regexp map, 3) its prototype is a receiver, 4) and its prototype's map is the initial prototype's initial map. We can now be smarter in @@replace and @@split since checking maps (unlike the previous check of RegExp.prototype.exec) is not observable, so we can perform fast-path checks at a time of our choosing. BUG=v8:5339,v8:5434,v8:5123 Review-Url: https://chromiumcodereview.appspot.com/2434983002 Cr-Commit-Position: refs/heads/master@{#40501}
-
mlippautz authored
BUG= Review-Url: https://chromiumcodereview.appspot.com/2420063002 Cr-Commit-Position: refs/heads/master@{#40500}
-
machenbach authored
Revert of [regexp] Use consistent map checks for fast paths (patchset #7 id:120001 of https://chromiumcodereview.appspot.com/2434983002/ ) Reason for revert: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/10853 Original issue's description: > [regexp] Use consistent map checks for fast paths > > These map checks were implemented for TF code already. This CL makes > sure that parts implemented in C++ follow the same logic, which is: > > An object is an unmodified regexp if: > 1) it's a receiver, > 2) its map is the initial regexp map, > 3) its prototype is a receiver, > 4) and its prototype's map is the initial prototype's initial map. > > We can now be smarter in @@replace and @@split since checking maps > (unlike the previous check of RegExp.prototype.exec) is not observable, > so we can perform fast-path checks at a time of our choosing. > > BUG=v8:5339,v8:5434,v8:5123 TBR=yangguo@chromium.org,jgruber@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5339,v8:5434,v8:5123 Review-Url: https://chromiumcodereview.appspot.com/2438283002 Cr-Commit-Position: refs/heads/master@{#40499}
-
jacob.bramley authored
The basic intention is to try to remove unnecessary moves caused by hints in otherwise empty blocks. Roughly: Before After ----------------------------------------------------------- B0: add x1, ... B0: add x1, ... b.ne B2 b.eq B3 B1: mov x0, x1 B1: [empty] b B3 B2: add x0, x1, ... B2: add x1, x1, ... B3: phi(B1,B2) in x0 B3: phi(B0,B1) in x1 Hinting is also improved in cases where one of the inputs is already allocated. This occurs commonly on architectures with instructions which write into fixed registers, for example. BUG= Review-Url: https://chromiumcodereview.appspot.com/2125463002 Cr-Commit-Position: refs/heads/master@{#40498}
-
ulan authored
BUG= Review-Url: https://chromiumcodereview.appspot.com/2442693002 Cr-Commit-Position: refs/heads/master@{#40497}
-
hpayer authored
Reland Update implementation of atomics with latest Chromium version but use compiler builtin atomics BUG= Review-Url: https://chromiumcodereview.appspot.com/2438273002 Cr-Commit-Position: refs/heads/master@{#40496}
-
jgruber authored
These map checks were implemented for TF code already. This CL makes sure that parts implemented in C++ follow the same logic, which is: An object is an unmodified regexp if: 1) it's a receiver, 2) its map is the initial regexp map, 3) its prototype is a receiver, 4) and its prototype's map is the initial prototype's initial map. We can now be smarter in @@replace and @@split since checking maps (unlike the previous check of RegExp.prototype.exec) is not observable, so we can perform fast-path checks at a time of our choosing. BUG=v8:5339,v8:5434,v8:5123 Review-Url: https://chromiumcodereview.appspot.com/2434983002 Cr-Commit-Position: refs/heads/master@{#40495}
-
hpayer authored
Additionally, remove all code related to the old-style slots filtering and black area end markers. BUG=chromium:648568 Review-Url: https://chromiumcodereview.appspot.com/2440683002 Cr-Commit-Position: refs/heads/master@{#40494}
-