- 13 Oct, 2015 22 commits
-
-
Djordje.Pesic authored
Fix mina instruction in mips32 and mips64 simulator according to IEEE 754-2008 standard BUG= Review URL: https://codereview.chromium.org/1402923002 Cr-Commit-Position: refs/heads/master@{#31243}
-
mvstanton authored
The lack of a vector slot for the keyed store operation in filling in non-constant array literal properties led to undesirable contortions in compilers downwind of full-codegen. The use of a single slot to initialize all the array elements is sufficient. BUG= Review URL: https://codereview.chromium.org/1405503002 Cr-Commit-Position: refs/heads/master@{#31242}
-
jkummerow authored
Not used yet, so this CL shouldn't change behavior. Review URL: https://codereview.chromium.org/1368753003 Cr-Commit-Position: refs/heads/master@{#31241}
-
rmcilroy authored
Adds array literal support to the interpreter. Currently constructed array elements don't have type feedback slots, so also adds support for generic keyed store operations. Adds the following bytecodes: - CreateArrayLiteral - KeyedStoreICGeneric BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1400753003 Cr-Commit-Position: refs/heads/master@{#31240}
-
hpayer authored
Revert of [heap] Reland decrease large object limit for regular heap objects. (patchset #3 id:40001 of https://codereview.chromium.org/1401173003/ ) Reason for revert: Still one failing test on Windows. Original issue's description: > [heap] Reland decrease large object limit for regular heap objects. > > BUG= > > Committed: https://crrev.com/9b91bf3a630b5382080ba1d7f9f3e88de3de8a95 > Cr-Commit-Position: refs/heads/master@{#31228} TBR=mlippautz@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1395653003 Cr-Commit-Position: refs/heads/master@{#31239}
-
rmcilroy authored
Adds support for creation of new local function contexts (or script context for top-level code). As part of this, also adds support for context push/pop operations using a ContextScope object in BytecodeGenerator. Adds the following bytecodes: - PushContext - PopContext Support for inner contexts and loading from / storing to context allocated variables will come in a future CL. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1379793004 Cr-Commit-Position: refs/heads/master@{#31238}
-
ofrobots authored
Using perf-basic-prof in the test-case was problematic on windows. Use CodeEventLogger directly. Previous issue: https://codereview.chromium.org/1396843004/ R=jkummerow@chromium.org,yangguo@chromium.org,yurys@chromium.org BUG=chromium:539892 LOG=N Committed: https://crrev.com/701ba0b255f9c34f4b8c43584ef1e35040474e7d Cr-Commit-Position: refs/heads/master@{#31197} patch from issue 1396843004 at patchset 60001 (http://crrev.com/1396843004#ps60001) Review URL: https://codereview.chromium.org/1403763002 Cr-Commit-Position: refs/heads/master@{#31237}
-
yangguo authored
The flag for deactivating break points also affects stepping, since both are implemented via debug break slots. Fixing this by introducing a new flag solely responsible for deactivating actual break points. R=mvstanton@chromium.org BUG=chromium:119800 LOG=N Review URL: https://codereview.chromium.org/1402913002 Cr-Commit-Position: refs/heads/master@{#31236}
-
mlippautz authored
Revert of [heap] Divide available memory upon compaction tasks (patchset #9 id:340001 of https://codereview.chromium.org/1382003002/ ) Reason for revert: Failing tests: https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug%20-%202/builds/3804/steps/Check/logs/DontLeakGlobalObjects Original issue's description: > [heap] Divide available memory upon compaction tasks > > - Fairly (round-robin) divide available memory upon compaction tasks. > - Ensure an upper limit (of memory) since dividing is O(n) for n free-space > nodes. > - Refill from free lists managed by sweeper once a compaction space becomes > empty. > > Assumption for dividing memory: Memory in the free lists is sparse upon starting > compaction (which means that only few nodes are available), except for memory > reducer GCs, which happen in idle time though (so it's less of a problem). > > BUG=chromium:524425 > LOG=N > > Committed: https://crrev.com/30236c052ba9266fc55412a8fd63b17f683ff40b > Cr-Commit-Position: refs/heads/master@{#31234} TBR=ulan@chromium.org,hpayer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:524425 Review URL: https://codereview.chromium.org/1406533002 Cr-Commit-Position: refs/heads/master@{#31235}
-
mlippautz authored
- Fairly (round-robin) divide available memory upon compaction tasks. - Ensure an upper limit (of memory) since dividing is O(n) for n free-space nodes. - Refill from free lists managed by sweeper once a compaction space becomes empty. Assumption for dividing memory: Memory in the free lists is sparse upon starting compaction (which means that only few nodes are available), except for memory reducer GCs, which happen in idle time though (so it's less of a problem). BUG=chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1382003002 Cr-Commit-Position: refs/heads/master@{#31234}
-
yangguo authored
R=jkummerow@chromium.org BUG=chromium:528379 LOG=N Review URL: https://codereview.chromium.org/1404613002 Cr-Commit-Position: refs/heads/master@{#31233}
-
mstarzinger authored
This adds a workaround that zeroes out semaphores before they are initialized. Some versions of sem_init (e.g. GLIBC_2.0) fail to fully zero out the semaphore, leading to {errno == ENOSYS} with subsequent sem_timedwait calls. R=machenbach@chromium.org BUG=chromium:536813 LOG=n Review URL: https://codereview.chromium.org/1407463002 Cr-Commit-Position: refs/heads/master@{#31232}
-
rmcilroy authored
Adds function literal support and add support for OTHER_CALLS which can be made when calling a function literal. Adds the CreateClosure bytecode. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1396693003 Cr-Commit-Position: refs/heads/master@{#31231}
-
mstarzinger authored
This moves JavaScript source files that are bundled with V8 into a separate directory. The goal is to improve code readability and also being able to formalize ideal reviewers by subsequently adding the OWNERS file. These files almost exclusively contain implementations of methods fully specified by ES6. Note that files in the "debug" directory as well as the "d8.js" file aren't affected by this change. R=rossberg@chromium.org Review URL: https://codereview.chromium.org/1398733002 Cr-Commit-Position: refs/heads/master@{#31230}
-
yangguo authored
Looking up 'name' and 'message' properties at the same time and loading the properties later can cause assertion failure if one of the properties is an accessor and calling it changes the holder map. That may invalidate the other lookup. R=jkummerow@chromium.org BUG=chromium:542101 LOG=N Review URL: https://codereview.chromium.org/1403923002 Cr-Commit-Position: refs/heads/master@{#31229}
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1401173003 Cr-Commit-Position: refs/heads/master@{#31228}
-
jacob.bramley authored
This fixes a regression in Octane's pdf.js after r30818. The bug itself has been present for a long time, but StringCompareStub wasn't actually used until r30818 so it went unnoticed. Review URL: https://codereview.chromium.org/1399983002 Cr-Commit-Position: refs/heads/master@{#31227}
-
yangguo authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1406493002 Cr-Commit-Position: refs/heads/master@{#31226}
-
mstarzinger authored
This changes hashing and comparison functions for JSCreateClosure operators to be based in the handle location instead of the referenced object identity. This is in sync with all other JS operators. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1388233007 Cr-Commit-Position: refs/heads/master@{#31225}
-
mtrofin authored
Before this CL, we created one live range per successive set of deferred blocks. For scenarios with many such blocks, this creates an upfront pressure for the register allocator to deal with many ranges. Linear sorts ranges, which is a super-linear operation. The change places all deferred intervals into one range, meaning that, at most, there will be twice as many live ranges as the original set. In pathological cases (benchmarks/Compile/slow_nbody1.js), this change halves the compilation time. We see some improvements elsewhere, notably SQLite at ~4-5%. We may be able to avoid the subsequent merge. Its cost is the additional ranges it may need to create. The sole reason for the merge phase is to provide an unchanged view of the world to the subsequent phases. With the at-most-one splinter model, we may be able to teach the other phases about splintering - should we find perf hindrances due to merging. Review URL: https://codereview.chromium.org/1391023007 Cr-Commit-Position: refs/heads/master@{#31224}
-
v8-autoroll authored
Rolling v8/tools/clang to a56c9063d582660d29b32f967ce20875c589fc3e TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1407453002 Cr-Commit-Position: refs/heads/master@{#31223}
-
dusan.m.milosavljevic authored
TEST= BUG= Review URL: https://codereview.chromium.org/1400833002 Cr-Commit-Position: refs/heads/master@{#31222}
-
- 12 Oct, 2015 18 commits
-
-
mbrandy authored
R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1390953004 Cr-Commit-Position: refs/heads/master@{#31221}
-
mtrofin authored
For live ranges with many use positions, such as those encountered in some unity asm.js code, this change significantly reduces compile time (e.g. benchmarks/Compile/slow_nbody1.js: from ~6s to 2s). The improvement is solely due to regressions (fixed by this CL) due to splintering. This CL does not fully address compile time problems for large functions in Turbofan, but constitutes a step in the right direction. Review URL: https://codereview.chromium.org/1386253004 Cr-Commit-Position: refs/heads/master@{#31220}
-
hpayer authored
Revert of [heap] Decrease large object limit for regular heap objects. (patchset #3 id:40001 of https://codereview.chromium.org/1392823003/ ) Reason for revert: broken tests Original issue's description: > [heap] Decrease large object limit for regular heap objects. > > Committed: https://crrev.com/e887d42342b3449f64fb6078f84f6c55bae3978d > Cr-Commit-Position: refs/heads/master@{#31217} TBR=mlippautz@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1402823002 Cr-Commit-Position: refs/heads/master@{#31219}
-
adamk authored
BUG=v8:4482 LOG=n Review URL: https://codereview.chromium.org/1397513004 Cr-Commit-Position: refs/heads/master@{#31218}
-
hpayer authored
Review URL: https://codereview.chromium.org/1392823003 Cr-Commit-Position: refs/heads/master@{#31217}
-
mvstanton authored
The data structure that holds the optimized code is becoming essential for additional functionality, too. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1399033002 Cr-Commit-Position: refs/heads/master@{#31216}
-
mstarzinger authored
R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/1399623004 Cr-Commit-Position: refs/heads/master@{#31215}
-
mstarzinger authored
The revert of the original change in question did not recover regressions, which allows us to reland this cleanup after all. This reverts commit 871529b4. R=hpayer@chromium.org Review URL: https://codereview.chromium.org/1393773004 Cr-Commit-Position: refs/heads/master@{#31214}
-
mbrandy authored
Port 2d4aeaad Original commit message: The stack manipulation was expensive. Two virtual registers are better. R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1390343004 Cr-Commit-Position: refs/heads/master@{#31213}
-
machenbach authored
Revert of Don't compile functions in a context the caller doesn't have access to (patchset #1 id:1 of https://codereview.chromium.org/1393713006/ ) Reason for revert: [Sheriff] Breaks layout tests. Please add needsmanualrebaseline upstream first if intended. E.g.: http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/2263 (one of them is a timeout that only happens with this commit) Original issue's description: > Don't compile functions in a context the caller doesn't have access to > > Instead, just return undefined. > > A side effect of this is that it's no longer possible to compile > functions in a detached context. > > Based on https://codereview.chromium.org/294073002 but taking access > check callbacks into account > > BUG=chromium:541703 > R=verwaest@chromium.org > LOG=y > > Committed: https://crrev.com/9a5e2f512c4aa90563eb575605c2a8c2a92ac9f4 > Cr-Commit-Position: refs/heads/master@{#31208} TBR=verwaest@chromium.org,jochen@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:541703 Review URL: https://codereview.chromium.org/1395583004 Cr-Commit-Position: refs/heads/master@{#31212}
-
littledan authored
Previously, name conflicts between var and let declarations were only made into exceptions if they were visible at parse-time. This patch adds runtime checks so that sloppy-mode direct eval can't introduce conflicting var declarations. The change is implemented by traversing the scope chain when a direct eval introduces a var declaration to look for conflicting let declarations, up to the function boundary. BUG=v8:4454 R=adamk LOG=Y Review URL: https://codereview.chromium.org/1382513003 Cr-Commit-Position: refs/heads/master@{#31211}
-
mythria authored
-Bitwise Or -Bitwise Xor -Bitwise And Adds the above bytecodes, support to BytecodeGenerator and BytecodeArrayBuilder to enable it's use, it's implementation and tests. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1386133002 Cr-Commit-Position: refs/heads/master@{#31210}
-
neis authored
R=rossberg BUG= Review URL: https://codereview.chromium.org/1403683003 Cr-Commit-Position: refs/heads/master@{#31209}
-
jochen authored
Instead, just return undefined. A side effect of this is that it's no longer possible to compile functions in a detached context. Based on https://codereview.chromium.org/294073002 but taking access check callbacks into account BUG=chromium:541703 R=verwaest@chromium.org LOG=y Review URL: https://codereview.chromium.org/1393713006 Cr-Commit-Position: refs/heads/master@{#31208}
-
machenbach authored
BUG=chromium:535160 LOG=n NOTRY=true Review URL: https://codereview.chromium.org/1395343002 Cr-Commit-Position: refs/heads/master@{#31207}
-
littledan authored
Revert of Stage --harmony_sloppy_function (patchset #2 id:20001 of https://codereview.chromium.org/1393423002/ ) Reason for revert: This still breaks Inbox. Original issue's description: > Stage --harmony_sloppy_function > > This patch turns on ES2015-style function hoisting semantics in > staging. --harmony_sloppy_function was previously staged, leading > to a number of bugs being filed and the staging being reversed; > important bugs have been fixed, so it is time to try again. > > R=adamk > LOG=Y > BUG=v8:4285 > > Committed: https://crrev.com/333e27fd99f8187c97e62b9538529900f0a30668 > Cr-Commit-Position: refs/heads/master@{#31190} TBR=adamk@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4285 Review URL: https://codereview.chromium.org/1402763003 Cr-Commit-Position: refs/heads/master@{#31206}
-
mythria authored
Adds support for following operators -Shift left -Shift right -Shift right logical Adds the above bytecodes, support to BytecodeGenerator and BytecodeArrayBuilder to enable it's use, it's implementation and tests. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1392913002 Cr-Commit-Position: refs/heads/master@{#31205}
-
mvstanton authored
The stack manipulation was expensive. Two virtual registers are better. BUG= Review URL: https://codereview.chromium.org/1376933006 Cr-Commit-Position: refs/heads/master@{#31204}
-