- 22 Mar, 2017 40 commits
-
-
Caitlin Potter authored
The AssignmentExpressions can legally contain destructuring assignments. BUG=v8:6098 R=marja@chromium.org, adamk@chromium.org Change-Id: I99b3a0f4c8d103edfb1dda943ec3e2ab2a5969f7 Reviewed-on: https://chromium-review.googlesource.com/455221 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#44049}
-
kozyatinskiy authored
These JS objects don't have size property. BUG=none R=dgozman@chromium.org,luoe@chromium.org Review-Url: https://codereview.chromium.org/2770583002 Cr-Commit-Position: refs/heads/master@{#44048}
-
gdeepti authored
Current implementation of the pextrw instruction is the legacy SSE2 instruction in the assembler (66 0F C5), and SSE4 implementation(66 0F 3A 15) in disasm-x64.cc, this causes incorrect instruction encodings to be printed when using --print-code flag for debug, in this case, causes over flow of bytes, and subsequent instructions to be incorrectly disassembled. Fixing to use SSE4 encodings in the assembler cosistent with pextrb, pextrd. R=bbudge@chromium.org, mtrofin@chromium.org Review-Url: https://codereview.chromium.org/2771513002 Cr-Commit-Position: refs/heads/master@{#44047}
-
bradnelson authored
Enable compilation stats for Wasm code. As parallel compilation can interfere with these measurements, also force single threaded compilation when collecting stats. BUG=None TEST=None LOG=N R=mtrofin@chromium.org Review-Url: https://codereview.chromium.org/2769743002 Cr-Commit-Position: refs/heads/master@{#44046}
-
bbudge authored
- Skips test when expected value is very small or large. - Renames methods to make more sense. LOG=N BUG=v8:4124 Review-Url: https://codereview.chromium.org/2764413003 Cr-Commit-Position: refs/heads/master@{#44045}
-
Clemens Hammacher authored
This will lazily compile all wasm modules. Just for experimenting currently. R=ahaas@chromium.org BUG=v8:5991 Change-Id: I51fc3655e15f55e87d9fec86ff5dca109fb052be Reviewed-on: https://chromium-review.googlesource.com/458008Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#44044}
-
kozyatinskiy authored
- renamed inspector-test methods, - tuned comment in debug.h BUG=v8:6118 TBR=dgozman@chromium.org Review-Url: https://codereview.chromium.org/2766283002 Cr-Commit-Position: refs/heads/master@{#44043}
-
Igor Sheludko authored
This CL also 1) turns (Add/Subtract)WithFeedbackStub into builtins 2) makes interpreter use BinaryOpAssembler directly 3) drops unused (Multipy/Divide/Modulus)WithFeedbackStubs BUG=v8:6116 Change-Id: I994aba6442f173535c13dfbaaafae1033de3f2ce Reviewed-on: https://chromium-review.googlesource.com/458438Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#44042}
-
rayb authored
The order of the return values are wrong for 32 bit big endian machines. BUG=none R=titzer@chromium.org, clemensh@chromium.org, Review-Url: https://codereview.chromium.org/2764583003 Cr-Commit-Position: refs/heads/master@{#44041}
-
Caitlin Potter authored
Just the front-end side of https://chromium-review.googlesource.com/c/446961/. Adds support for parsing AsyncGeneratorExpression, AsyncGeneratorDeclaration, and AsyncGeneratorMethod, as well as parser tests. BUG=v8:5855 R=neis@chromium.org, marja@chromium.org, littledan@chromium.org Change-Id: I70e1a9681f22573f29292eacb4b9f57f9a38e2b2 Reviewed-on: https://chromium-review.googlesource.com/447117Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Caitlin Potter <caitp@igalia.com> Cr-Commit-Position: refs/heads/master@{#44040}
-
kozyatinskiy authored
With flag we can debug injected-script-source in inspector-test or from DevTools frontend as regular user code. We need this when working on new features or debugging issues, it's for internal purpose only and doesn't provide any benefits for end users. Flag: --expose-inspector-scripts BUG=none R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2767873002 Cr-Commit-Position: refs/heads/master@{#44039}
-
Caitlin Potter authored
While the primary use-case for Suspend nodes is the Yield expression, there are other uses as well: Await expressions, and the initial suspend of Generators, which returns an object matching the Iterator protocol. "Suspend" is a better representation of the spec text (closer to the spec text for the values of [[GeneratorState]] and [[AsyncGeneratorState]]), and can make it easier to understand the meaning of what I had previously called Yield::is_normal() (now Suspend::is_yield()). Changes requested as part of https://chromium-review.googlesource.com/c/447117/ BUG= R=neis@chromium.org, adamk@chromium.org TBR=bmeurer@chromium.org, paul.lind@imgtec.com, joransiu@ca.ibm.com, weiliang.lin@intel.com Change-Id: Ic6f15b04fff091c20f26526391b967287c06f6bf Reviewed-on: https://chromium-review.googlesource.com/455583Reviewed-by: Caitlin Potter <caitp@igalia.com> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#44038}
-
Clemens Hammacher authored
The stack check at the beginning of each function maps to the wasm byte offset 0. For asm.js functions, this byte offset is mapped further to an asm.js source position. For most functions, we explicitly add an entry to this side table for offset 0. This was missing for the start function. R=ahaas@chromium.org BUG=v8:4203,chromium:703568 Change-Id: I05bc4a8cfa666864bb7a0b23f75186abe0be9bee Reviewed-on: https://chromium-review.googlesource.com/458437 Commit-Queue: Brad Nelson <bradnelson@chromium.org> Reviewed-by: Brad Nelson <bradnelson@chromium.org> Cr-Commit-Position: refs/heads/master@{#44037}
-
Sathya Gunasekaran authored
Change-Id: I7db6a8bfad31012f09cdfe4a395339309aad45b1 Reviewed-on: https://chromium-review.googlesource.com/457779 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#44036}
-
jarin authored
BUG=v8:6077 Review-Url: https://codereview.chromium.org/2765323002 Cr-Commit-Position: refs/heads/master@{#44035}
-
kozyatinskiy authored
Indisputable profit: - correct break location in next task (see tests), - stepOver with async await never lands in random code (see related test and issue), - inspector doesn't store current stepping state in debugger agent and completely trust V8 - step to new inspector-V8 design (I will finish design doc soon). - willExecuteScript and didExecuteScript instrumentation could be removed from code base - reduce probability of future errors. - finally - less code, - stepping implementation in V8 makes another step to follow our stepping strategy (stepOut should do stepInto and break when exit current frame) (another one one page design doc based on @aandrey comment is coming), - knowledge about existing of context groups is still inspector-only. Disputable part is related to super rare scenario when in single isolate we have more then one context group id with enabled debugger agent: - if one agent request break in own context (stepping, pause, e.t.c.) then we ignore all breaks in another agent. From one hand it looks like good: user clicks stepInto and they don't expect that execution could be paused by another instance of DevTools in unobservable from current DevTools way (second DevTools will get paused notification and run nested message loop). From another hand we shouldn't ignore breakpoints or debugger statement never. In general, I think that proposed behavior is rathe feature then issue. - and disadvantage, on attempt to break in non-target context group id we just call StepOut until reach target context group id, step out call could deoptimize code in non related to current debugger agent context. But break could happens only in case of debugger stmt or breakpoint - sound like minor issue. Ignoring break on exception sounds like real issue but by module of rareness of this case I think we can ignore this. Implementation details: - when debugger agent request break for any reason it passes target context group id to V8Debugger - last agent requesting break is preferred. - when V8Debugger gets BreakProgramRequested notification from V8, it checks current context group id against target context group id, if they match then just process break as usual otherwise makes StepOut action, - debug.cc at the end of microtask if last_scheduled_action is StepOut, schedules StepIn and will break on first instruction in next task. BUG=chromium:654022 R=dgozman@chromium.org,yangguo@chromium.org Review-Url: https://codereview.chromium.org/2748503002 Cr-Commit-Position: refs/heads/master@{#44034}
-
jarin authored
This adds optimization and deoptimization counts to the Web UI. Also, the function timeline now shows optimization and deoptimization marks. Review-Url: https://codereview.chromium.org/2753543006 Cr-Commit-Position: refs/heads/master@{#44033}
-
honggyu.kp authored
It would be better to generate ctags file for specified architecture so this CL adds a script gen-tags.py to generate architecture specific ctags. Usage: $ tools/dev/gen-tags.py [<arch>...] The example usage for 'x64' is as follows: $ tools/dev/gen-tags.py x64 If no <arch> is given, it generates tags file for all arches: $ tools/dev/gen-tags.py R=yangguo@chromium.org,jochen@chromium.org,jkummerow@chromium.org,clemensh@chromium.org NOTRY=true Review-Url: https://codereview.chromium.org/2762903002 Cr-Commit-Position: refs/heads/master@{#44032}
-
neis authored
BUG= Review-Url: https://codereview.chromium.org/2762973004 Cr-Commit-Position: refs/heads/master@{#44031}
-
Michael Lippautz authored
BUG=chromium:651354 Change-Id: Ic4cc354160b84267a4d930734120b68c2b7ba092 Reviewed-on: https://chromium-review.googlesource.com/458351Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#44030}
-
Igor Sheludko authored
... and introduce BinaryOpAssembler. BUG=v8:6116 Change-Id: I86b0afedbe6ac11fda286b877fe55cda746f5347 Reviewed-on: https://chromium-review.googlesource.com/458278 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#44029}
-
kozyatinskiy authored
Proposed behaviour: - StepNext at return position go into next function call (no changes with current behavior, but implemented in v8::Debug instead of hack on inspector side); - StepOut at return position go into next non-current function call. We need this to have better stepping in cases with native functions, blackboxed functions and/or different embedder calls (e.g. event listeners). New behavior could be illustrated with two examples (for more see stepping-with-natives-and-frameworks test): - let's assume that we've blackboxed callAll function, this function just takes its arguments and call one after another: var foo = () => 1; callAll(foo, foo, () => 2); If we break inside of first call of function foo. Then on.. ..StepNext - we're able to reach second call of function foo, ..StepOut - we're able to reach () => 2 call. - let's consider case with native function: [1,2,3].map(x => x * 2) If we break inside of first callback call, then with StepNext we can iterate through all calls of callback, with StepOut we go to next statement after .map call. Implementation details: - when we request break we schedule step-in function call for any step action at return position and for step-in at any position, - when we request StepOut at return position - we mark current function as needed-to-be-ignored inside of PrepareStepIn(function) call, - when we request StepOut at not return position - we set break at return position and ask debugger to just repeat last step action on next stepping-related break. Design doc: https://docs.google.com/document/d/1ihXHOIhP_q-fJCA0e2EiXz_Zr3B08KMjaPifcaqZ60Q/edit BUG=v8:6118,chromium:583193 R=dgozman@chromium.org,yangguo@chromium.org Review-Url: https://codereview.chromium.org/2758483002 Cr-Commit-Position: refs/heads/master@{#44028}
-
Clemens Hammacher authored
Add a check to appendToTable to catch illegal input, and fix a test case triggering this check. Also removing unused variables and fix indentation. R=ahaas@chromium.org Change-Id: I0eaa48ab95ef710530a3cfbe94ed4dd419618cda Reviewed-on: https://chromium-review.googlesource.com/458436 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#44027}
-
mvstanton authored
Before, we carefully turned on fast array builtins only if flag --enable-fast-array-builtins was true (though it was implied true if --turbo was on). Now, the set of Array.prototype.{some, forEach, every, reduce} is good enough to always turn them on. This means we can remove the JavaScript implementations. The flag is renamed to --experimental-fast-array-builtins, which is off. In the next days we'll add more non-javascript implementations here for testing. BUG= R=danno@chromium.org Review-Url: https://codereview.chromium.org/2761783002 Cr-Commit-Position: refs/heads/master@{#44026}
-
Igor Sheludko authored
BUG=v8:6116 Change-Id: I9659871441f90832bc4032444fc11af86b145488 Reviewed-on: https://chromium-review.googlesource.com/458397Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#44025}
-
Michael Lippautz authored
Use MarkingState to abstract over the different sets of markbits. BUG=chromium:651354 Change-Id: I1635eb0d441be2aeed19f0ed91999f0f0f1bbffc Reviewed-on: https://chromium-review.googlesource.com/458398Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#44024}
-
mvstanton authored
filter creates an output array with the Array species constructor for storing values from the input array that pass the user-supplied predicate function. Our new array builtins are implemented such that if we fall out of the fast path, we'll pick up where we left off in a continuation function. It's important to pass the index of where we left off appending to the output array, because otherwise we will read it at the start of the continuation function. That would be observable, and a spec violation. BUG= Review-Url: https://codereview.chromium.org/2771483002 Cr-Commit-Position: refs/heads/master@{#44023}
-
Igor Sheludko authored
... which is a TF_BUILTIN-like wrapper for defining code stubs. BUG=v8:6116 Change-Id: Iad599dfc71a50c5082d9e3fba2a7b553b9912207 Reviewed-on: https://chromium-review.googlesource.com/458476Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#44022}
-
Igor Sheludko authored
This is a step towards the world where only leaf CSA classes have access to parameters (via respective interface descriptor specified in builtin definition macro). BUG=v8:6116 Change-Id: I35dcd9a1c9d38ea394895ab339a07988a26070a0 Reviewed-on: https://chromium-review.googlesource.com/458198Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#44021}
-
Mythri authored
Some of the StrictEquality comparisons do not require feedback (for ex: in try-finally, generators). This cl introduces StrictEqualityNoFeedback bytecode to be used in such cases. With this change, we no longer have to check if the type feedback slot is valid in compare bytecode handlers. This is the first step in reworking the compare bytecode handler to avoid duplicate checks when collecting feedback and when performing the operation. BUG=v8:4280 Change-Id: Ia650fd43c0466b8625d3ce98c39ed1073ba42a6b Reviewed-on: https://chromium-review.googlesource.com/455778 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#44020}
-
Ilija.Pavlovic authored
Port for https://codereview.chromium.org/2737493002 TEST=cctest/test-run-machops/Regression6046b BUG= Review-Url: https://codereview.chromium.org/2762993002 Cr-Commit-Position: refs/heads/master@{#44019}
-
Peter Marshall authored
Deletes unused crankshaft implementation and C++ implementation, which have been replaced by a CSA implementation. BUG=v8:5977 Change-Id: I3614561e45db48583ee886461f98abb14cd9cc4f Reviewed-on: https://chromium-review.googlesource.com/458418 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#44018}
-
cwhan.tunz authored
Review-Url: https://codereview.chromium.org/2760313002 Cr-Commit-Position: refs/heads/master@{#44017}
-
Michael Lippautz authored
... when we run without code flushing. BUG= Change-Id: I956c53732598d805581388453010238c029fc3ba Reviewed-on: https://chromium-review.googlesource.com/458199Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#44016}
-
yangguo authored
R=leszeks@chromium.org BUG=chromium:633159 Review-Url: https://codereview.chromium.org/2767903002 Cr-Commit-Position: refs/heads/master@{#44015}
-
franzih authored
Handle fall-off returns and returns inside try blocks. Store the type-profile feedback slot on the FunctionLiteral rather than on every return statement. Next steps: * Store entries in nexus that can be identified as 'return' (rather than parameter or assignment) * Collect types for parameters and assignments * Distinguish multiple parameters and assignments correctly R=mstarzinger@chromium.org BUG=v8:5935 Review-Url: https://codereview.chromium.org/2764113002 Cr-Commit-Position: refs/heads/master@{#44014}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/4ae7d8e..a53333d Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/84775f4..8cbbd7f TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Change-Id: Ie5c7d77f1d80e775637d7a590b1fb6dceabe435e Reviewed-on: https://chromium-review.googlesource.com/458077Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#44013}
-
Clemens Hammacher authored
The old method always returned a Handle<Object>, requiring an explicit cast in the caller. This CL makes it return Handle<T> if called with a T* as parameter. Also, remove now redundant casts from callers. R=bmeurer@chromium.org Change-Id: I13cfb2f2e812e8582a9a1d9d6c8a5a24f40d0e79 Reviewed-on: https://chromium-review.googlesource.com/458376Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#44012}
-
Igor Sheludko authored
Third bulk of changes. BUG=v8:6116 Change-Id: I26f5c03a44e55a998e71160a42f6e2c1509f41c7 Reviewed-on: https://chromium-review.googlesource.com/458197Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#44011}
-
daniel.bevenius authored
Currently there are a number of comment in src/v8.h which look like this: TODO(dcarney): mark V8_WARN_UNUSED_RESULT. This commit attempts to remove these comments and add the V8_WARN_UNUSED_RESULT macro to the methods in question. BUG= Review-Url: https://codereview.chromium.org/2135973002 Cr-Commit-Position: refs/heads/master@{#44010}
-