- 26 Nov, 2015 5 commits
-
-
bmeurer authored
Revert of binary-operator-reducer: reduce mul+div(shift) (patchset #11 id:200001 of https://codereview.chromium.org/1350223006/ ) Reason for revert: This is also unsound for the reasons outlined in https://codereview.chromium.org/1473073004/ Will help Fedor to implement a solution based on simplified operators. Original issue's description: > binary-operator-reducer: reduce mul+div(shift) > > Reduction Input: > > ChangeInt32ToFloat64=> TruncateFloat64ToInt32 > Float64Mul=> > ChangeInt32ToFloat64=> Float64Div=>TruncateFloat64ToInt32 > > Output: > > => TruncateInt64ToInt32 > Int64Mul > => Int64Shr => TruncateInt64ToInt32 > > Test code: > > function mul(a, b) { > var l = a & 0x3ffffff; > var h = b & 0x3ffffff; > var m = l * h; > > var rl = m & 0x3ffffff; > var rh = (m / 0x4000000) | 0; > > return rl | rh; > } > > mul(1, 2); > var a0 = mul(0x3ffffff, 0x3ffffff); > mul(0x0, 0x0); > %OptimizeFunctionOnNextCall(mul); > var a1 = mul(0x3ffffff, 0x3ffffff); > > print(a0 + ' == ' + a1); > > BUG= > R=mstarzinger@chromium.org > > Committed: https://crrev.com/461e5b49d022335a7fc4e9d172397a4bd48b93d4 > Cr-Commit-Position: refs/heads/master@{#31899} TBR=mstarzinger@chromium.org,danno@chromium.org,titzer@chromium.org,fedor@indutny.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1478923002 Cr-Commit-Position: refs/heads/master@{#32313}
-
bmeurer authored
Revert of [machine-operator-reducer] fix float truncation (patchset #8 id:140001 of https://codereview.chromium.org/1433353006/ ) Reason for revert: This is also unsound for the reasons outlined in https://codereview.chromium.org/1473073004/ Will reland the mjsunit test separately and help Fedor to implement a solution based on simplified operators. Original issue's description: > [machine-operator-reducer] fix float truncation > > Don't replace `TruncateFloat64ToInt32(RoundInt64ToFloat64(value))` with > `value`. Generally, `value` may have a range bigger than the one that > could fit into Int32. Replace it with `TruncateInt64ToInt32(value)` > instead, and only if the `value` fits into Float64 without precision > loss. > > Add missing mjsunit test for 52bit multiplication/division optimization > that has landed in refs/heads/master@{#31899}. > > BUG= > R=titzer@google.com > > Committed: https://crrev.com/64efa2a904773816968992628f0bf0f1b7ae82be > Cr-Commit-Position: refs/heads/master@{#32227} TBR=titzer@chromium.org,fedor@indutny.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1468313009 Cr-Commit-Position: refs/heads/master@{#32312}
-
v8-autoroll authored
Rolling v8/tools/clang to 18e54a1f3caadfa9fd3b3e3f561cc57b2d834ff7 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1472413005 Cr-Commit-Position: refs/heads/master@{#32311}
-
bmeurer authored
Revert of [compiler] merge binary-operator-reducer (patchset #2 id:20001 of https://codereview.chromium.org/1473073004/ ) Reason for revert: Unsound use of types in the MachineOperatorReducer. Will work on a sound solution with Fedor. Original issue's description: > [compiler] merge binary-operator-reducer > > Merge BinaryOperatorReducer into the MachineOperatorReducer class. > It does not need `Revisit()` calls, because the newly inserted nodes are > visited anyway, and there are no other methods that need AdvancedReducer > there. > > BUG= > R=titzer@chromium.org > > Committed: https://crrev.com/993ba9d2529a6401b3040b9263f8d06db7dbb4f1 > Cr-Commit-Position: refs/heads/master@{#32298} TBR=titzer@chromium.org,fedor@indutny.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1476763006 Cr-Commit-Position: refs/heads/master@{#32310}
-
zhengxing.li authored
port 3d004eea (r32264) original commit message: This passes the new.target value in a register instead of through a side-channel via the construct stub. The interpreter entry trampoline stores this value in a bytecode register so that it can be accessed directly by the interpreter. The size of the interpreter stack frame hence grows by one slot. BUG= Review URL: https://codereview.chromium.org/1475043003 Cr-Commit-Position: refs/heads/master@{#32309}
-
- 25 Nov, 2015 35 commits
-
-
ahaas authored
The Float32RoundTiesEven operator rounds float32 numbers towards the nearest integer. If the distance to two integers is the same, then the result is the even integer. This is the default rounding mode of the ieee 754 floating point standard. I implemented the optional Float32RoundTiesEven operator on x64, ia32, arm, and arm64. R=titzer@chromium.org Review URL: https://codereview.chromium.org/1477753002 Cr-Commit-Position: refs/heads/master@{#32308}
-
adamk authored
This will make sure that message tests cover both the parser and preparser paths, just as we do for parsing-related cctests. BUG=v8:4372 LOG=n Review URL: https://codereview.chromium.org/1469383004 Cr-Commit-Position: refs/heads/master@{#32307}
-
adamk authored
Also fix CheckConflictingVarDeclarations() to properly handle legacy const bindings. Without that change enabling the flag causes code like: function f() { const x; var x; } to throw an early error, rather than wait to throw the error until f is invoked. The previous patch ran into problems with the fuzzer; that crash was fixed (with test coverage added) in https://crrev.com/ceb92ebfdfb561d71038793c02b42aa973f55ec4 BUG=v8:811 LOG=y TBR=rossberg@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1473243006 Cr-Commit-Position: refs/heads/master@{#32306}
-
ofrobots authored
No more uses left for this code (thank goodness.) R=hpayer@chromium.org BUG= Review URL: https://codereview.chromium.org/1474693003 Cr-Commit-Position: refs/heads/master@{#32305}
-
jarin authored
This should fix the Turbofan Octane/Mandreel regression introduced by commit 9ea551aa Author: jarin <jarin@chromium.org> Date: Sun Nov 22 05:45:38 2015 -0800 [turbofan] Simplify lowering of number addition. Review URL: https://codereview.chromium.org/1471533002 Cr-Commit-Position: refs/heads/master@{#32159} Review URL: https://codereview.chromium.org/1477803002 Cr-Commit-Position: refs/heads/master@{#32304}
-
littledan authored
In this new version of test262, a number of known failing tests have been changed to match the ES2016 semantics, which V8 implements. R=adamk Review URL: https://codereview.chromium.org/1475793004 Cr-Commit-Position: refs/heads/master@{#32303}
-
mtrofin authored
validating that the hot path does not spill - somewhat simpler code. Cleared the scenario where a range is defined in a deferred block. The code before was slightly more complicated by not leveraging the property that these sort of ranges would be completely contained within deferred blocks. Moved "spills in deferred blocks" marking to a more appropriate location. One thing this CL achieves is correct support for scenarios where a range is spilled both on the deferred and then hot path, and the ranges concatenate. I owe better unit testing, which I will add in a subsequent CL. BUG= Review URL: https://codereview.chromium.org/1472803004 Cr-Commit-Position: refs/heads/master@{#32302}
-
ahaas authored
The Float32RoundTruncate operator rounds float32 numbers towards zero. The operator is currently implemented on x64, ia32, arm, and arm64. Additionally I added support for the float32 vrintz, vrintn, and vrinta instructions to the arm simulator. R=titzer@chromium.org Review URL: https://codereview.chromium.org/1468303005 Cr-Commit-Position: refs/heads/master@{#32301}
-
jochen authored
Always go through Assembler::FlushICache so we automatically use the simulator when running with a simulator. BUG=v8:2487 R=epertoso@chromium.org LOG=n Review URL: https://codereview.chromium.org/1480623002 Cr-Commit-Position: refs/heads/master@{#32300}
-
machenbach authored
Revert of [debugger] flood function for stepping before calling it. (patchset #7 id:120001 of https://codereview.chromium.org/1463803002/ ) Reason for revert: [Sheriff] Breaks layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/3074 Original issue's description: > [debugger] flood function for stepping before calling it. > > R=verwaest@chromium.org > > Committed: https://crrev.com/93eb633214e0f97bf70ae30d2a07b7fbbaa78266 > Cr-Commit-Position: refs/heads/master@{#32285} TBR=verwaest@chromium.org,mstarzinger@chromium.org,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1474943005 Cr-Commit-Position: refs/heads/master@{#32299}
-
fedor authored
Merge BinaryOperatorReducer into the MachineOperatorReducer class. It does not need `Revisit()` calls, because the newly inserted nodes are visited anyway, and there are no other methods that need AdvancedReducer there. BUG= R=titzer@chromium.org Review URL: https://codereview.chromium.org/1473073004 Cr-Commit-Position: refs/heads/master@{#32298}
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1472393002 Cr-Commit-Position: refs/heads/master@{#32297}
-
fmeawad authored
Since the gn builders do not resolve the DEPS after patch, the patch cannot contain both the DEPS change as well the usage of the newly added DEPS. If the CL mentioned in the title does not land, this CL is to be remove/reverted as well. BUG=v8:4560 LOG=N Review URL: https://codereview.chromium.org/1469303004 Cr-Commit-Position: refs/heads/master@{#32296}
-
ishell authored
BUG=v8:4572, chromium:561481 LOG=Y Review URL: https://codereview.chromium.org/1465223007 Cr-Commit-Position: refs/heads/master@{#32295}
-
machenbach authored
Revert of Tenure descriptor arrays. (patchset #1 id:1 of https://codereview.chromium.org/1476913002/ ) Reason for revert: [Sheriff] Breaks gc stress: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/544 Original issue's description: > Tenure descriptor arrays. > > BUG= > > Committed: https://crrev.com/38ec44f3bde8c16448e093b6595d0452e189023f > Cr-Commit-Position: refs/heads/master@{#32289} TBR=ishell@chromium.org,hpayer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1477003003 Cr-Commit-Position: refs/heads/master@{#32294}
-
machenbach authored
Reland of [turbofan] Introduce proper JSCreateLiteralRegExp operator. (patchset #1 id:1 of https://codereview.chromium.org/1472423002/ ) Reason for revert: [Sheriff] Wrong revert. Original issue's description: > Revert of [turbofan] Introduce proper JSCreateLiteralRegExp operator. (patchset #2 id:20001 of https://codereview.chromium.org/1475973002/ ) > > Reason for revert: > Broke "V8 Linux64 GC Stress - custom snapshot". > > http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/2824 > > Original issue's description: > > [turbofan] Introduce proper JSCreateLiteralRegExp operator. > > > > This adds a new JavaScript level operator for regexp literal creation, > > similar to what we already have for array and object literals. This > > once gets lowered to a call to the FastCloneRegExpStub always. > > > > R=mstarzinger@chromium.org > > > > Committed: https://crrev.com/8659c5d1d287177369ce179a8d0b910192d840d9 > > Cr-Commit-Position: refs/heads/master@{#32288} > > TBR=mstarzinger@chromium.org,bmeurer@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Committed: https://crrev.com/168683d270d44f05f28acaf7d34c32d0250d2a4c > Cr-Commit-Position: refs/heads/master@{#32292} TBR=mstarzinger@chromium.org,bmeurer@chromium.org,ishell@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1478823002 Cr-Commit-Position: refs/heads/master@{#32293}
-
ishell authored
Revert of [turbofan] Introduce proper JSCreateLiteralRegExp operator. (patchset #2 id:20001 of https://codereview.chromium.org/1475973002/ ) Reason for revert: Broke "V8 Linux64 GC Stress - custom snapshot". http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/2824 Original issue's description: > [turbofan] Introduce proper JSCreateLiteralRegExp operator. > > This adds a new JavaScript level operator for regexp literal creation, > similar to what we already have for array and object literals. This > once gets lowered to a call to the FastCloneRegExpStub always. > > R=mstarzinger@chromium.org > > Committed: https://crrev.com/8659c5d1d287177369ce179a8d0b910192d840d9 > Cr-Commit-Position: refs/heads/master@{#32288} TBR=mstarzinger@chromium.org,bmeurer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1472423002 Cr-Commit-Position: refs/heads/master@{#32292}
-
mlippautz authored
Iterating live objects using mark bits is memory bound and already pretty heavy on the cache as we always need to look at the mark bits, the objects (payload), and their maps. This CL changes the object start computation from a table lookup, which was yet another memory location, to a CPU-bound computation. BUG=chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1478623003 Cr-Commit-Position: refs/heads/master@{#32291}
-
thakis authored
Also add a note that it should go away over time. BUG=none LOG=n Review URL: https://codereview.chromium.org/1475033003 Cr-Commit-Position: refs/heads/master@{#32290}
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1476913002 Cr-Commit-Position: refs/heads/master@{#32289}
-
bmeurer authored
This adds a new JavaScript level operator for regexp literal creation, similar to what we already have for array and object literals. This once gets lowered to a call to the FastCloneRegExpStub always. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1475973002 Cr-Commit-Position: refs/heads/master@{#32288}
-
jochen authored
R=jkummerow@chromium.org BUG=v8:2487 LOG=n Review URL: https://codereview.chromium.org/1473683004 Cr-Commit-Position: refs/heads/master@{#32287}
-
thakis authored
It appears unused, everything uses static_assert directly. BUG=none LOG=n Review URL: https://codereview.chromium.org/1465383006 Cr-Commit-Position: refs/heads/master@{#32286}
-
yangguo authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/1463803002 Cr-Commit-Position: refs/heads/master@{#32285}
-
hpayer authored
BUG=561449 LOG=n Review URL: https://codereview.chromium.org/1468313007 Cr-Commit-Position: refs/heads/master@{#32284}
-
jochen authored
This is a preparation for requiring an isolate to construct a CodePatcher BUG=2487 R=epertoso@chromium.org LOG=n Review URL: https://codereview.chromium.org/1480573002 Cr-Commit-Position: refs/heads/master@{#32283}
-
machenbach authored
BUG=v8:4358 LOG=n TBR=yangguo@chromium.org, hablich@chromium.org NOTRY=true Review URL: https://codereview.chromium.org/1475053002 Cr-Commit-Position: refs/heads/master@{#32282}
-
ishell authored
BUG=v8:4531 LOG=Y Review URL: https://codereview.chromium.org/1468933004 Cr-Commit-Position: refs/heads/master@{#32281}
-
mythria authored
Adds implementation and tests for compare operators to bytecode graph builder. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1476473005 Cr-Commit-Position: refs/heads/master@{#32280}
-
jochen authored
Moving Blink from hidden values to private symbols almost doubled the rate of API calls, as the private symbols API increases the call-depth scope while the hidden values one didn't. I manually checked that this fixes the regression on the long running gmail benchmark but doesn't add new memory reducer GCs on the infinite scrolling benchmark BUG=chromium:561325 R=ulan@chromium.org LOG=n Review URL: https://codereview.chromium.org/1472193003 Cr-Commit-Position: refs/heads/master@{#32279}
-
Michael Achenbach authored
Cr-Commit-Position: refs/heads/master@{#32278}
-
jochen authored
We always want to have an Isolate, so just use an extra ctor arg BUG=2487 R=yangguo@chromium.org,mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/1476763002 Cr-Commit-Position: refs/heads/master@{#32277}
-
machenbach authored
BUG=v8:4573 LOG=n TBR=mstarzinger@chromium.org NOTRY=true Review URL: https://codereview.chromium.org/1465193006 Cr-Commit-Position: refs/heads/master@{#32276}
-
Benedikt Meurer authored
TBR=machenbach@chromium.org NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1475843003 . Cr-Commit-Position: refs/heads/master@{#32275}
-
machenbach authored
Warn if unknown benchmark configurations are triggered. NOTRY=true Review URL: https://codereview.chromium.org/1479483003 Cr-Commit-Position: refs/heads/master@{#32274}
-