- 19 Dec, 2016 5 commits
-
-
henrique.ferreiro authored
This is so that a NotSuperConstructor error is thrown before evaluating the arguments to the super constructor. Besides updating the runtime function, a new bytecode GetSuperConstructor is introduced. BUG=v8:5336 Review-Url: https://codereview.chromium.org/2504553003 Cr-Commit-Position: refs/heads/master@{#41788}
-
marja authored
This makes maybe_assigned correct (instead of being overly pessimistic in the following case): function f() { function g() { arguments; }; } (Tests upcoming as part of https://codereview.chromium.org/2580833005 ) BUG=v8:5501, v8:5678 R=verwaest@chromium.org, neis@chromium.org Review-Url: https://codereview.chromium.org/2579303002 Cr-Commit-Position: refs/heads/master@{#41787}
-
vegorov authored
We are printing `inlining(...), pos:offset` where we should print `pos:inlining(...), offset`. BUG= Review-Url: https://codereview.chromium.org/2586823002 Cr-Commit-Position: refs/heads/master@{#41786}
-
yangguo authored
R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2584373002 Cr-Commit-Position: refs/heads/master@{#41785}
-
v8-autoroll authored
Rolling v8/buildtools: https://chromium.googlesource.com/chromium/buildtools/+log/55ad626..0ef8010 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2587853002 Cr-Commit-Position: refs/heads/master@{#41784}
-
- 18 Dec, 2016 2 commits
-
-
kozyatinskiy authored
BUG=v8:5738 R=dgozman@chromium.org Review-Url: https://codereview.chromium.org/2579403002 Cr-Commit-Position: refs/heads/master@{#41783}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/d39391f..29ac3ae Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/42ba4df..4fc1816 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/4ffe7c4..fe25d46 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2587693002 Cr-Commit-Position: refs/heads/master@{#41782}
-
- 17 Dec, 2016 4 commits
-
-
bbudge authored
- Adds vabs, vneg, vmul, vext, vzip, vrev instructions. - Adds Swizzle function to macro assembler. - Simplifies if-else logic in disassembler, simulator, for Neon special. - Some refactoring of Neon assembler, macro-assembler tests. LOG=N BUG=v8:4124 Review-Url: https://codereview.chromium.org/2579913002 Cr-Commit-Position: refs/heads/master@{#41781}
-
ahaas authored
R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2576153003 Cr-Commit-Position: refs/heads/master@{#41780}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/3983535..d39391f Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/eb5390d..42ba4df Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/286099f..4ffe7c4 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2589453002 Cr-Commit-Position: refs/heads/master@{#41779}
-
mtrofin authored
There are subtle test expectations/nuances that are easy to break. BUG= Review-Url: https://codereview.chromium.org/2585583006 Cr-Commit-Position: refs/heads/master@{#41778}
-
- 16 Dec, 2016 29 commits
-
-
mtrofin authored
Revert of MIPS: Fix bad RegisterConfiguration usage in InstructionSequence unit tests. (patchset #3 id:40001 of https://codereview.chromium.org/2433093002/ ) Reason for revert: This change rendered InstructionSequenceTest::SetNumRegs ineffectual, thus loosening the tests that were using that API to ensure correct register allocation under intentionally constrained setups. For the problem stated in this CL, a solution needs to continue supporting the intentionally set-up test configuration. Original issue's description: > MIPS: Fix bad RegisterConfiguration usage in InstructionSequence unit tests. > > Test InstructionSequenceTest has been initialized with a testing RegisterConfiguration > instance defined in instruction-sequence-unittest.h, whereas class ExplicitOperand which > is being tested used RegisterConfiguration from instruction.cc. In case these two > instances are different, the tests would fail. The issue is fixed by using the same > instance of RegisterConfiguration both for test code and code under test. > > Additionally, the tests in register-allocator-unittest.cc use hardcoded values > for register and begin failing is the hardcoded register is not available for > allocation. Fix by forcing the use of allocatable registers only. > > TEST=unittests.MoveOptimizerTest.RemovesRedundantExplicit,unittests.RegisterAllocatorTest.SpillPhi > BUG= > > Committed: https://crrev.com/0cf56232209d4c9c669b8426680de18806f6c29a > Cr-Commit-Position: refs/heads/master@{#40862} TBR=dcarney@chromium.org,bmeurer@chromium.org,mstarzinger@chromium.org,vogelheim@chromium.org,titzer@chromium.org,ivica.bogosavljevic@imgtec.com # Not skipping CQ checks because original CL landed more than 1 days ago. BUG= Review-Url: https://codereview.chromium.org/2587593002 Cr-Commit-Position: refs/heads/master@{#41777}
-
littledan authored
This patch removes parser code implementing desugaring for ESnext public and private fields on classes. The desugaring should probably be implemented in the interpreter instead, and more work needs to go into optimization and debugger support. The actual parsing of class fields is left in, as the syntax is relatively stable, and there are strong cctests for the grammar. R=marja BUG=v8:5367 Review-Url: https://codereview.chromium.org/2578893005 Cr-Commit-Position: refs/heads/master@{#41776}
-
gsathya authored
This adds kInit, kResolve, kBefore and kAfter lifecycle hooks to promises. This also exposes an API to set the PromiseHook. BUG=v8:4643 Review-Url: https://codereview.chromium.org/2575313002 Cr-Commit-Position: refs/heads/master@{#41775}
-
ahaas authored
Original commit message: [wasm] Introduce the TrapIf and TrapUnless operators to generate trap code. Some instructions in WebAssembly trap for some inputs, which means that the execution is terminated and (at least at the moment) a JavaScript exception is thrown. Examples for traps are out-of-bounds memory accesses, or integer divisions by zero. Without the TrapIf and TrapUnless operators trap check in WebAssembly introduces 5 TurboFan nodes (branch, if_true, if_false, trap-reason constant, trap-position constant), in addition to the trap condition itself. Additionally, each WebAssembly function has four TurboFan nodes (merge, effect_phi, 2 phis) whose number of inputs is linear to the number of trap checks in the function. Especially for functions with high numbers of trap checks we observe a significant slowdown in compilation time, down to 0.22 MiB/s in the sqlite benchmark instead of the average of 3 MiB/s in other benchmarks. By introducing a TrapIf common operator only a single node is necessary per trap check, in addition to the trap condition. Also the nodes which are shared between trap checks (merge, effect_phi, 2 phis) would disappear. First measurements suggest a speedup of 30-50% on average. This CL only implements TrapIf and TrapUnless on x64. The implementation is also hidden behind the --wasm-trap-if flag. Please take a special look at how the source position is transfered from the instruction selector to the code generator, and at the context that is used for the runtime call. R=titzer@chromium.org, v8-arm-ports@googlegroups.com Review-Url: https://codereview.chromium.org/2584603002 Cr-Commit-Position: refs/heads/master@{#41774}
-
ulan authored
The original patch was reverted because of performance regressions caused by removal of old heap sizing heuristics. This patch keeps the old heuristics and adds RAIL mode. BUG=chromium:613518 Review-Url: https://codereview.chromium.org/2576543002 Cr-Commit-Position: refs/heads/master@{#41773}
-
tandrii authored
This has been superseeded by just-in-time determination based on state of gnumbd and git-numberer validation. BUG=chromium:644915 R=machenbach@chromium.org,sergiyb@chromium.org NOTRY=True Review-Url: https://codereview.chromium.org/2583703004 Cr-Commit-Position: refs/heads/master@{#41772}
-
mattloring authored
BUG=v8:5739 Review-Url: https://codereview.chromium.org/2576903004 Cr-Commit-Position: refs/heads/master@{#41771}
-
gsathya authored
BUG=v8:5343 Review-Url: https://codereview.chromium.org/2583753002 Cr-Commit-Position: refs/heads/master@{#41770}
-
clemensh authored
E.g. https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20debug/builds/14083/steps/Check/logs/RunWasmCompiledWithTr.. This also reverts CL http://crrev.com/2584833002 which disabled the tests on windows. R=ahaas@chromium.org, titzer@chromium.org Review-Url: https://codereview.chromium.org/2579213004 Cr-Commit-Position: refs/heads/master@{#41769}
-
mythria authored
Transform LdaNull/LdaUndefined followed by StrictEquality to TestNull/TestUndefined. This would avoid a call to the compare IC. In the bytecode-graph builder these are mapped to StrictEqual javascript operator. When reducing this operator, we already optimize the cases for null/undefined. BUG=v8:4280 Review-Url: https://codereview.chromium.org/2554723004 Cr-Commit-Position: refs/heads/master@{#41768}
-
jochen authored
BUG=v8:5215 R=rmcilroy@chromium.org,marja@chromium.org,vogelheim@chromium.org Review-Url: https://codereview.chromium.org/2573493002 Cr-Commit-Position: refs/heads/master@{#41767}
-
cbruni authored
This CL adds inlineable fast-cases for the above conversion functions in objects-inl.h and a slower conversion function in objects.cc. BUG= Review-Url: https://codereview.chromium.org/2579023002 Cr-Commit-Position: refs/heads/master@{#41766}
-
yangguo authored
R=jgruber@chromium.org, kozyatinskiy@chromium.org BUG=v8:5530 Review-Url: https://codereview.chromium.org/2568083002 Cr-Commit-Position: refs/heads/master@{#41765}
-
rossberg authored
- Implement new WebAssembly.LinkError exception - Implement stricter checks for glboal imports - Add tests - Refactor handling of import names - Add TODOs for empty import names R=titzer@chromium.org BUG= Review-Url: https://codereview.chromium.org/2584843002 Cr-Commit-Position: refs/heads/master@{#41764}
-
clemensh authored
It's failing nondeterministically. Disable trap-if tests on windows until this issue is fixed. R=ahaas@chromium.org, titzer@chromium.org Review-Url: https://codereview.chromium.org/2584833002 Cr-Commit-Position: refs/heads/master@{#41763}
-
marja authored
Especially, make non-declaration type inner functions eagerly parsed. Then we still have a chance to compile them eagerly if we see () after the function. BUG=v8:5501 Review-Url: https://codereview.chromium.org/2583843002 Cr-Commit-Position: refs/heads/master@{#41762}
-
yangguo authored
R=jochen@chromium.org, peria@chromium.org BUG=chromium:617892 Review-Url: https://codereview.chromium.org/2582623003 Cr-Commit-Position: refs/heads/master@{#41761}
-
cbruni authored
Many websites use simple calls to String.prototype.indexOf with either a one character ASCII needle or needles bigger than the search string. This CL adds a TFJ builtin for these simple cases, giving up to factor 5 speedup. Drive-by-fix: Add default Object type to Arguments.at BUG= Review-Url: https://codereview.chromium.org/2539093002 Cr-Commit-Position: refs/heads/master@{#41760}
-
ishell authored
[interpreter] Avoid allocation of temporary array of Nodes when generating dispatch to bytecode handler. BUG= Review-Url: https://codereview.chromium.org/2576213007 Cr-Commit-Position: refs/heads/master@{#41759}
-
vegorov authored
This allows to share source dumping infrastructure between CS and TF and opens a possibility for external tools like IRHydra to perform deoptimization to source mapping for TF generated code based on --trace-deopt --print-opt-code --code-comments output. This CL also restores an old TraceInlinedFunction behavior which was lost during source positions refactoring - originally TraceInlinedFunction dumped source code only once per-SFI to avoid large traces whenever some helper function is inlined multiple times. This CL also adds --print-opt-source flag that would in the future replace obsolete --hydrogen-track-positions. BUG= Review-Url: https://codereview.chromium.org/2575703003 Cr-Commit-Position: refs/heads/master@{#41758}
-
verwaest authored
BUG= Review-Url: https://codereview.chromium.org/2579983002 Cr-Commit-Position: refs/heads/master@{#41757}
-
yangguo authored
If a context snapshot includes the global proxy constructor function, we expect the incoming global proxy to have the correct instance size so that we can reinitialize it with said constructor. However, when the bootstrapper allocates a new global proxy, we need to know the expected size. We solve this by storing the size on the to-be-serialized isolate. R=jochen@chromium.org, peria@chromium.org BUG=chromium:617892 Review-Url: https://codereview.chromium.org/2585693002 Cr-Commit-Position: refs/heads/master@{#41756}
-
ishell authored
.. by using variadic templates in CodeAssembler. BUG= Review-Url: https://codereview.chromium.org/2584743003 Cr-Commit-Position: refs/heads/master@{#41755}
-
jochen authored
BUG=v8:5394 R=mstarzinger@chromium.org,rmcilroy@chromium.org Review-Url: https://codereview.chromium.org/2579973002 Cr-Commit-Position: refs/heads/master@{#41754}
-
ishell authored
... by using variadic templates in CodeAssembler. BUG= Review-Url: https://codereview.chromium.org/2579163003 Cr-Commit-Position: refs/heads/master@{#41753}
-
mstarzinger authored
This introduces an explicit struct for the communication channel between the {ArrayLiteral} AST node and the corresponding runtime methods. Those methods take a pair of {ElementsKind} as well as an array (can either be a FixedArray or a FixedDoubleArray) of constant values. For bonus points it also reduces the size of the involved heap object by one word (i.e. length field of FixedArray not needed anymore). R=mvstanton@chromium.org Review-Url: https://codereview.chromium.org/2581683003 Cr-Commit-Position: refs/heads/master@{#41752}
-
rmcilroy authored
When mark-shared-funtion-for-tier-up is enabled, a function could be marked for optimization, then the baseline (FCG) code is flushed by the GC. The next time the function is executed, we shouldn't optimize the code if there isn't baseline code. BUG=chromium:673242 Review-Url: https://codereview.chromium.org/2575333003 Cr-Commit-Position: refs/heads/master@{#41751}
-
ishell authored
... as they are no longer needed. BUG= Review-Url: https://codereview.chromium.org/2582593005 Cr-Commit-Position: refs/heads/master@{#41750}
-
ishell authored
.. by using variadic templates in CodeAssembler. BUG= Review-Url: https://codereview.chromium.org/2577913003 Cr-Commit-Position: refs/heads/master@{#41749}
-