- 21 Oct, 2016 21 commits
-
-
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}
-
shiyu.zhang authored
The bigcore shares same instruction latency table as smallcore (ATOM). The accurate latency modeling will benefit the instruction scheduler for ia32 and x64 without introducing extra regression. Review-Url: https://chromiumcodereview.appspot.com/2130153003 Cr-Commit-Position: refs/heads/master@{#40493}
-
verwaest authored
BUG= Review-Url: https://chromiumcodereview.appspot.com/2431273002 Cr-Commit-Position: refs/heads/master@{#40492}
-
machenbach authored
BUG=v8:5553 NOTRY=true TBR=hablich@chromium.org Review-Url: https://chromiumcodereview.appspot.com/2440693003 Cr-Commit-Position: refs/heads/master@{#40491}
-
gdeepti authored
When the instance has imported memory, calling GrowMemory should update the memory object to have a consistent view of the memory. This fixes the failing emscripten test case, added a reduced test that simulates the same behavior. R=titzer@chromium.org, dschuff@chromium.org Review-Url: https://chromiumcodereview.appspot.com/2438673006 Cr-Commit-Position: refs/heads/master@{#40490}
-
machenbach authored
Revert of Update implementation of atomics with latest Chromium version but use compiler builtin atomics (patchset #10 id:190001 of https://chromiumcodereview.appspot.com/2425963002/ ) Reason for revert: https://build.chromium.org/p/client.v8.ports/builders/V8%20Android%20Arm64%20-%20builder/builds/4851 Original issue's description: > Update implementation of atomics with latest Chromium version but use compiler builtin atomics > > Ideally, we would use the standard library. However, when we are compiling against an older version of the standard library the atomic implementation may be slow. > > BUG= TBR=mlippautz@chromium.org,ulan@chromium.org,jarin@chromium.org,hpayer@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/2438983002 Cr-Commit-Position: refs/heads/master@{#40489}
-
hpayer authored
Ideally, we would use the standard library. However, when we are compiling against an older version of the standard library the atomic implementation may be slow. BUG= Review-Url: https://chromiumcodereview.appspot.com/2425963002 Cr-Commit-Position: refs/heads/master@{#40488}
-
yangguo authored
This introduces: - a way in d8 to send messages to the inspector and receive responses. - a new test suite where existing debugger tests should migrate to. R=jgruber@chromium.org, kozyatinskiy@chromium.org, machenbach@chromium.org BUG=v8:5530 Review-Url: https://chromiumcodereview.appspot.com/2425973002 Cr-Commit-Position: refs/heads/master@{#40487}
-
v8-autoroll authored
Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapul/+log/fb397f8..147f2cf TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://chromiumcodereview.appspot.com/2434373003 Cr-Commit-Position: refs/heads/master@{#40486}
-
- 20 Oct, 2016 19 commits
-
-
bjaideep authored
R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= LOG=N Review-Url: https://chromiumcodereview.appspot.com/2439673005 Cr-Commit-Position: refs/heads/master@{#40485}
-
kozyatinskiy authored
BUG=chromium:656823 R=dgozman@chromium.org Review-Url: https://chromiumcodereview.appspot.com/2436783003 Cr-Commit-Position: refs/heads/master@{#40484}
-
kozyatinskiy authored
* introduced DebugInterface::PrepareStep and DebugInterface::ClearStepping method. Inspector calls these methods only on pause and not interseted in calling this for not current break_id so we don't need to expose debug interface with break_id argument and can only check that current break_id is valid. BUG=chromium:652939,v8:5510 R=yangguo@chromium.org,dgozman@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel Review-Url: https://chromiumcodereview.appspot.com/2423153002 Cr-Commit-Position: refs/heads/master@{#40483}
-
neis authored
R=adamk@chromium.org, marja@chromium.org BUG= Review-Url: https://chromiumcodereview.appspot.com/2436073002 Cr-Commit-Position: refs/heads/master@{#40482}
-
vogelheim authored
Revert of Speedup access to global_proxy.* attributes/accessors. (patchset #6 id:160001 of https://codereview.chromium.org/2403003002/ ) Reason for revert: Revert, because of crbug.com/656959. Original issue's description: > Speedup access to global_proxy.* attributes/accessors. > > Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. > > This is a follow-on CL to crrev.com/2369933005: > - The initial upload is crrev.com/2369933005 + a rebase. > - The remaining issues are the fixes requested by the reviewers on that CL. > > BUG=chromium:634276, chromium:654716 > > Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 > Committed: https://crrev.com/041314524952a3c1bc71bd3beafbbb37319f1d22 > Cr-Original-Commit-Position: refs/heads/master@{#40153} > Cr-Commit-Position: refs/heads/master@{#40365} TBR=jochen@chromium.org,verwaest@chromium.org NOTRY=true NOPRESUBMIT=true BUG=chromium:634276, chromium:654716 Review-Url: https://chromiumcodereview.appspot.com/2434233002 Cr-Commit-Position: refs/heads/master@{#40481}
-
alph authored
Encapsulate nodes and samples into cpuProfile object. BUG=chromium:406277 Review-Url: https://chromiumcodereview.appspot.com/2425093002 Cr-Commit-Position: refs/heads/master@{#40480}
-
adamk authored
Move hole check logic from full-codegen into scope analysis, and store the "needs hole check" bit on VariableProxy. This makes it easy to re-use in any backend: it will be trivial to extend the use of this logic in, e.g., full-codegen variable stores. While changing the signatures of the variable loading/storing methods in Ignition, I took the liberty of replacing the verb "Visit" with "Build", since these are not part of AST visiting. BUG=v8:5460 Review-Url: https://chromiumcodereview.appspot.com/2411873004 Cr-Commit-Position: refs/heads/master@{#40479}
-
ulan authored
Reland "[heap] Start sweeper tasks after evacuation. (patchset #2 id:20001 of https://chromiumcodereview.appspot.com/2428043002/ )" The performance regression in crbug.com/657776 was not caused by this CL. This reverts commit 4490a760. BUG= Review-Url: https://chromiumcodereview.appspot.com/2437873004 Cr-Commit-Position: refs/heads/master@{#40478}
-
jpp authored
This CL adds support for: https://discourse.wicg.io/t/allow-const-global-variables/684 It allows global const variables to be used as if they were numeric literals. For example: const f0 = fround(0); ... function foo() { var v = f0; // no type annotation. ... return f0; // no return type annotation. } BUG= https://bugs.chromium.org/p/v8/issues/detail?id=5540 Review-Url: https://chromiumcodereview.appspot.com/2435823002 Cr-Commit-Position: refs/heads/master@{#40477}
-
heimbuef authored
Added a size constraint to the configuration to limit the segment pool. This will likely fix the memory alerts from small android devices. BUG=chromium:655129 Review-Url: https://chromiumcodereview.appspot.com/2424393002 Cr-Commit-Position: refs/heads/master@{#40476}
-
bjaideep authored
Port 99023682 Original commit message: The scheduler expects a trimmed graph, so we have to trim the graph before scheduling. R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= LOG=N Review-Url: https://chromiumcodereview.appspot.com/2431093004 Cr-Commit-Position: refs/heads/master@{#40475}
-
ahaas authored
The wasm specification does not fully specify the binary representation of NaN: the sign bit can be non-deterministic. The wasm-code fuzzer found a test case where the wasm interpreter and the compiled code produce a different sign bit for a NaN, and as a consequence they produce different results. With this CL the interpreter tracks whether it executed an instruction which can produce a NaN, which are div and sqrt instructions. The fuzzer uses this information and compares the result of the interpreter with the result of the compiled code only if there was no instruction which could have produced a NaN. R=titzer@chromium.org TEST=cctest/test-run-wasm-interpreter/TestMayProduceNaN BUG=chromium:657481 Review-Url: https://chromiumcodereview.appspot.com/2438603003 Cr-Commit-Position: refs/heads/master@{#40474}
-
mtrofin authored
We don't need the Deserialize API taking in a SerializedData anymore. BUG= Review-Url: https://chromiumcodereview.appspot.com/2436543004 Cr-Commit-Position: refs/heads/master@{#40473}
-
mtrofin authored
When allocating for splinters, we were prematurely reverting to the hot range behavior, even when the range didn't actually have any positions requiring a register. This could cause unnecessary moves. BUG= Review-Url: https://chromiumcodereview.appspot.com/2436813003 Cr-Commit-Position: refs/heads/master@{#40472}
-
mstarzinger authored
Breaks layout tests on Blink builders. TBR=machenbach@chromium.org Review-Url: https://chromiumcodereview.appspot.com/2428413004 Cr-Commit-Position: refs/heads/master@{#40471}
-
mstarzinger authored
R=mythria@chromium.org BUG=v8:5038 Review-Url: https://chromiumcodereview.appspot.com/2437023002 Cr-Commit-Position: refs/heads/master@{#40470}
-
ishell authored
BUG= Review-Url: https://chromiumcodereview.appspot.com/2433333002 Cr-Commit-Position: refs/heads/master@{#40469}
-
mythria authored
Add support to collect feedback about oddballs for Bitwise binary operations and Increment and decrement operations. For the case of Oddballs the code to convert them to numbers is inlined into the handlers instead of calling the NonNumberToNumber Stub. BUG=v8:4280, v8:5400 Review-Url: https://chromiumcodereview.appspot.com/2407103003 Cr-Commit-Position: refs/heads/master@{#40468}
-
ivica.bogosavljevic authored
SEB and SEH instructions are not available on MIPS32R1. This caused several failures on MIPS32R1 in mjsunit/wasm/* and mjsunit/asm test suites. This fix simulates these instruction in MacroAssembler for those architectures that do not support them. TEST=mjsunit/asm/sqlite3/sqlite-pointer-masking,mjsunit/wasm/embenchen/lua_binarytrees BUG= Review-Url: https://chromiumcodereview.appspot.com/2434973002 Cr-Commit-Position: refs/heads/master@{#40467}
-