- 10 Dec, 2015 2 commits
-
-
jarin authored
MachineType is now a class with two enum fields: - MachineRepresentation - MachineSemantic Both enums are usable on their own, and this change switches some places from using MachineType to use just MachineRepresentation. Most notably: - register allocator now uses just the representation. - Phi and Select nodes only refer to representations. Review URL: https://codereview.chromium.org/1513543003 Cr-Commit-Position: refs/heads/master@{#32738}
-
ahaas authored
This operator now provides a second output which indicates whether the conversion from float32 to int64 was successful or not. The second output returns 0 if the conversion fails, or something else if the conversion succeeds. The second output can be ignored, which means that the operator can be used the same as the original operator. I implement the new operator on x64, arm64, and mips64. @v8-ppc-ports, can you please take care of the ppc64 implementation of the second output? R=titzer@chromium.org, v8-arm-ports@googlegroups.com, v8-mips-ports@googlegroups.com Review URL: https://codereview.chromium.org/1504363002 Cr-Commit-Position: refs/heads/master@{#32737}
-
- 09 Dec, 2015 15 commits
-
-
adamk authored
This is in preparation for turning the flag off by default. BUG=chromium:552100 LOG=n Review URL: https://codereview.chromium.org/1511293002 Cr-Commit-Position: refs/heads/master@{#32729}
-
verwaest authored
Make Error.prototype.toString spec compliant; and fix various side-effect-free error printing methods R=yangguo@chromium.org LOG=n Committed: https://crrev.com/5dffa35350d0f57402806e6bd87a914e1d5933e4 Cr-Commit-Position: refs/heads/master@{#32695} Review URL: https://codereview.chromium.org/1507273002 Cr-Commit-Position: refs/heads/master@{#32720}
-
ulan authored
Compaction of the array with maps happens lazily upon adding new maps. BUG= Review URL: https://codereview.chromium.org/1481953002 Cr-Commit-Position: refs/heads/master@{#32717}
-
vogelheim authored
- Except 2x applications of ForceSet, where I still need to debug why the expected replacement doesn't work as expected. - Ca. 3/4 of the file is covered. R=jochen@chromium.org BUG= Review URL: https://codereview.chromium.org/1516483002 Cr-Commit-Position: refs/heads/master@{#32714}
-
mythria authored
Adds implementation and tests for CreateObjectLiteral, CreateArrayLiteral and CreateRegExpLiteral to bytecode graph builder. Also changes these bytecodes to expect three operands instead of using accumulator to pass one of the operands. This is done to avoid looking into the earlier nodes to fetch operands in the bytecode graph builder. Also adds support for wide variant of these bytecodes to bytecode generator and bytecode graph builder. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1503963002 Cr-Commit-Position: refs/heads/master@{#32710}
-
mythria authored
ToBoolean was used with conditional jumps. An earlier cl (https://codereview.chromium.org/1426913002/) merges jumps and ToBoolean into a single bytecode. So, we no longer need ToBoolean bytecode. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1507683005 Cr-Commit-Position: refs/heads/master@{#32707}
-
mlippautz authored
* Move most heap related tests into heap/ subdir * IWYU for heap utility functions R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/1512553002 Cr-Commit-Position: refs/heads/master@{#32706}
-
ahaas authored
This operator now provides a second output which indicates whether the conversion from float64 to uint64 was successful or not. The second output returns 0 if the conversion fails, or something else if the conversion succeeds. The second output can be ignored, which means that the operator can be used the same as the original operator. I implement the new operator on x64 and arm64. @v8-mips-ports and @v8-ppc-ports, can you please take care of the mips64 and ppc64 implementation of the second output? R=titzer@chromium.org, v8-arm-ports@googlegroups.com Review URL: https://codereview.chromium.org/1507703002 Cr-Commit-Position: refs/heads/master@{#32705}
-
jochen authored
Embedders still can use those APIs by default test-api.cc still has an exception to use the old APIs... BUG=v8:4143 R=vogelheim@chromium.org LOG=n Review URL: https://codereview.chromium.org/1505803004 Cr-Commit-Position: refs/heads/master@{#32701}
-
machenbach authored
Revert of Make Error.prototype.toString spec compliant; and fix various side-effect-free error printing metho… (patchset #2 id:20001 of https://codereview.chromium.org/1507273002/ ) Reason for revert: [Sheriff] Breaks layout tests. Please rebase upstream first: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/3334 Original issue's description: > Make Error.prototype.toString spec compliant; and fix various side-effect-free error printing methods > > R=yangguo@chromium.org > LOG=n > > Committed: https://crrev.com/5dffa35350d0f57402806e6bd87a914e1d5933e4 > Cr-Commit-Position: refs/heads/master@{#32695} TBR=yangguo@chromium.org,bmeurer@chromium.org,verwaest@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1510173002 Cr-Commit-Position: refs/heads/master@{#32700}
-
ishell authored
Review URL: https://codereview.chromium.org/1506683004 Cr-Commit-Position: refs/heads/master@{#32698}
-
mvstanton authored
It's expensive to walk all shared function infos during the gc atomic pause. Instead, use WeakCells to implement this structure without manual clearing. Reland due to a bug when reusing entries in the optimized code map. BUG= Review URL: https://codereview.chromium.org/1508703002 Cr-Commit-Position: refs/heads/master@{#32696}
-
verwaest authored
Make Error.prototype.toString spec compliant; and fix various side-effect-free error printing methods R=yangguo@chromium.org LOG=n Review URL: https://codereview.chromium.org/1507273002 Cr-Commit-Position: refs/heads/master@{#32695}
-
mvstanton authored
It's cumbersome to maintain IC profiler statistics all the time. Let's just do it as needed. BUG= Review URL: https://codereview.chromium.org/1507903004 Cr-Commit-Position: refs/heads/master@{#32693}
-
bradnelson authored
Reconstructing which stdlib object is used within an asm.js module seems wasteful, given the typer has already checked this. Preserving this information in a form that can be queried in the asm-wasm-builder which generating code. BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=test-asm-validator, test-parsing R=titzer@chromium.org,marja@chromium.org,aseemgarg@chromium.org LOG=N Review URL: https://codereview.chromium.org/1508003002 Cr-Commit-Position: refs/heads/master@{#32687}
-
- 08 Dec, 2015 3 commits
-
-
jochen authored
BUG=v8:4134 R=vogelheim@chromium.org LOG=n NOTRY=true NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1505173002 Cr-Commit-Position: refs/heads/master@{#32678}
-
jochen authored
BUG=v8:4134 R=vogelheim@chromium.org LOG=n NOTRY=true NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1504093003 Cr-Commit-Position: refs/heads/master@{#32677}
-
jochen authored
BUG=v8:4341 R=vogelheim@chromium.org LOG=y NOTRY=true NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1502353004 Cr-Commit-Position: refs/heads/master@{#32676}
-
- 07 Dec, 2015 3 commits
-
-
jochen authored
BUG=v8:4134 R=vogelheim@chromium.org LOG=n Review URL: https://codereview.chromium.org/1502193002 Cr-Commit-Position: refs/heads/master@{#32659}
-
ahaas authored
The new operator provides a second output which indicates whether the conversion from float64 to int64 was successful or not. The second output returns 0 if the conversion fails. If the conversion succeeds, then the second output is differs from 0. The second output can be ignored, which means that the operator can be used the same way as the original operator. I implemented the new operator on x64 and arm64. @v8-mips-ports and @v8-ppc-ports, can you please take care of the mips64 and ppc64 implementation of the second output? R=titzer@chromium.org, v8-arm-ports@googlegroups.com Review URL: https://codereview.chromium.org/1495213003 Cr-Commit-Position: refs/heads/master@{#32653}
-
bmeurer authored
The test expectations should fail consistently in both release and debug builds. DCHECK is only meant for debug-only checks in production code. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1506753002 Cr-Commit-Position: refs/heads/master@{#32639}
-
- 04 Dec, 2015 4 commits
-
-
caitpotter88 authored
Attempt #<really big number> Parses, and lazily rewrites Destructuring Assignment expressions. The rewriting strategy involves inserting a placeholder RewritableAssignmentExpression into the AST, whose content expression can be completely rewritten at a later time. Lazy rewriting ensures that errors do not occur due to eagerly rewriting nodes which form part of a binding pattern, thus breaking the meaning of the pattern --- or by eagerly rewriting ambiguous constructs that are not immediately known BUG=v8:811 LOG=Y R=adamk@chromium.org, bmeurer@chromium.org, rossberg@chromium.org Review URL: https://codereview.chromium.org/1309813007 Cr-Commit-Position: refs/heads/master@{#32623}
-
jkummerow authored
Having beefed up GetKeys() to support everything, use it for everything now. This fixes Object.getOwnPropertyNames and Object.getOwnPropertySymbols for Proxies, and gets rid of a bunch of code duplication. BUG=v8:1543 LOG=n Review URL: https://codereview.chromium.org/1498593006 Cr-Commit-Position: refs/heads/master@{#32620}
-
ivica.bogosavljevic authored
Fixing warnings which cause compilation to fail when compiling using CLANG for MIPS BUG= Review URL: https://codereview.chromium.org/1493793002 Cr-Commit-Position: refs/heads/master@{#32619}
-
bmeurer authored
Revert of Provide call counts for constructor calls, surface them as a vector IC. (patchset #4 id:60001 of https://codereview.chromium.org/1476413003/ ) Reason for revert: Seems to be (mostly) responsible for the most recent Speedometer regression, not 100% sure. Let's see what the bots have to say. Original issue's description: > Provide call counts for constructor calls, surface them as a vector IC. > > CallIC and CallConstructStub look so alike, at least in the feedback they gather even if the implementation differs...and CallIC has such a nice way of surfacing the feedback (CallICNexus), that there is a request to make CallConstructStub look analogous. Enter ConstructICStub. > > BUG= > > Committed: https://crrev.com/66d5a9df62da458a51e8c7ed1811dc9660f4f418 > Cr-Commit-Position: refs/heads/master@{#32452} TBR=mvstanton@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1489413006 Cr-Commit-Position: refs/heads/master@{#32599}
-
- 03 Dec, 2015 7 commits
-
-
bradnelson authored
Fix several operations in the parser that rewrite constant expressions to preserve knowledge regarding whether a value originally contained a ".". This information is required to accurately validate Asm.js typing. Making the assumption that if either side of a binary operation contains a dot, that the rewritten expression should be treated as a double for Asm.js purposes. This is a slight deviation from the spec (which would forbid mix type operations). BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=test-asm-validator, test-parsing R=titzer@chromium.org,marja@chromium.org,aseemgarg@chromium.org LOG=N Review URL: https://codereview.chromium.org/1492123002 Cr-Commit-Position: refs/heads/master@{#32581}
-
ahaas authored
I added a flag to the CallDescriptor which indicates that the native stack should be used for a CallObject instead of the js stack on arm64. Additionally I removed the use of EmitPrepareArguments because the current implementation does not work when float and int parameters are mixed. I plan to fix it in a future CL, because currently I have a problem figuring out the type of a parameter. R=titzer@chromium.org, v8-arm-ports@googlegroups.com Review URL: https://codereview.chromium.org/1494123002 Cr-Commit-Position: refs/heads/master@{#32577}
-
ivica.bogosavljevic authored
Warning in test-asm-validator.cc fixed by splitting the function causing the warning into two functions. This is how it has been done earlier this way, e.g. https://codereview.chromium.org/1164893003 BUG= Review URL: https://codereview.chromium.org/1491583002 Cr-Commit-Position: refs/heads/master@{#32575}
-
ofrobots authored
Inline allocations performed during mark compact aren't real allocations. They should not trigger inline-allocation-observer notifications. R=hpayer@chromium.org, ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/1465223009 Cr-Commit-Position: refs/heads/master@{#32566}
-
titzer authored
R=bmeurer@chromium.org,jarin@chromium.org BUG= Review URL: https://codereview.chromium.org/1498833002 Cr-Commit-Position: refs/heads/master@{#32564}
-
mythria authored
Adds implementation and tests for Inc and Dec to bytecode graph builder. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1499593002 Cr-Commit-Position: refs/heads/master@{#32562}
-
ishell authored
It didn't support subclassing case at all and in non-subclassing case the runtime allocation didn't do the slack tracking step. BUG=chromium:563339 LOG=Y Review URL: https://codereview.chromium.org/1488023002 Cr-Commit-Position: refs/heads/master@{#32547}
-
- 02 Dec, 2015 6 commits
-
-
adamk authored
These bits were relevant back when we had nested lexical modules, but I don't think they'll be of any use for ES2015 modules. Review URL: https://codereview.chromium.org/1485053002 Cr-Commit-Position: refs/heads/master@{#32534}
-
kozyatinskiy authored
LOG=Y BUG=chromium:558998 R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1495633002 Cr-Commit-Position: refs/heads/master@{#32528}
-
jkummerow authored
Split out of PropertyAttributes, and used for all filtering purposes. Also moved PropertyAttributes into the v8::internal:: namespace. No change in behavior intended. Review URL: https://codereview.chromium.org/1492653004 Cr-Commit-Position: refs/heads/master@{#32525}
-
cbruni authored
BUG= Review URL: https://codereview.chromium.org/1491613002 Cr-Commit-Position: refs/heads/master@{#32513}
-
jochen authored
BUG=v8:2487 LOG=n R=vogelheim@chromium.org Review URL: https://codereview.chromium.org/1496493002 Cr-Commit-Position: refs/heads/master@{#32509}
-
danno authored
* Add a sibling interface to InterpreterAssembler called CodeStubAssembler which provides a wrapper around the RawMachineAssembler and is intented to make it easy to build efficient cross-platform code stubs. Much of the implementation of CodeStubAssembler is shamelessly stolen from the InterpreterAssembler, and the idea is to eventually merge the two interfaces somehow, probably moving the InterpreterAssembler interface over to use the CodeStubAssembler. Short-term, however, the two interfaces shall remain decoupled to increase our velocity developing the two systems in parallel. * Implement the StringLength stub in TurboFan with the new CodeStubAssembler. Replace and remove the old Hydrogen-stub version. * Remove a whole slew of machinery to support JavaScript-style code stub generation, since it ultimately proved unwieldy, brittle and baroque. This cleanup includes removing the shared code stub context, several example stubs and a tangle of build file changes. BUG=v8:4587 LOG=n Review URL: https://codereview.chromium.org/1475953002 Cr-Commit-Position: refs/heads/master@{#32508}
-