- 03 Nov, 2016 1 commit
-
-
danno authored
Review-Url: https://codereview.chromium.org/2467513002 Cr-Commit-Position: refs/heads/master@{#40712}
-
- 19 Oct, 2016 1 commit
-
-
titzer authored
R=clemensh@chromium.org,ahaas@chromium.org BUG= Review-Url: https://chromiumcodereview.appspot.com/2428343005 Cr-Commit-Position: refs/heads/master@{#40426}
-
- 18 Oct, 2016 1 commit
-
-
bmeurer authored
This slot is completely unused and always undefined anyways, so there's no need to maintain the slot during object construction. R=yangguo@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2423323002 Cr-Commit-Position: refs/heads/master@{#40377}
-
- 13 Oct, 2016 2 commits
-
-
mythria authored
With --trace-ic flag, the function names and the source positions are not shown for interpreted functions. Interpreted functions have an extra frame built by bytecode handlers which has to be skipped to get the interpreted function's frame. Also the code offsets are computed differently for interpreted functions. BUG=v8:4280 Review-Url: https://codereview.chromium.org/2405173007 Cr-Commit-Position: refs/heads/master@{#40274}
-
clemensh authored
This CL fixes the debugger interface to provide correct (high-level) information for asm.js frames. It moves the computation of the source position from the FrameInspector to the individual StackFrame implementations, such that we can easily specualize it for certain frame types, and can potentially reuse this in other locations. Also, we are finalizing the setup of the wasm module earlier, before executing the start function. This is required for correct stack traces during the execution of the start function. R=titzer@chromium.org, yangguo@chromium.org BUG=v8:4203 Review-Url: https://codereview.chromium.org/2413693003 Cr-Commit-Position: refs/heads/master@{#40268}
-
- 30 Sep, 2016 1 commit
-
-
jpp authored
This is essentially CL/2275293002, with the difference that the effect dependencies are now updated correctly. BUG= Review-Url: https://codereview.chromium.org/2378773013 Cr-Commit-Position: refs/heads/master@{#39919}
-
- 29 Sep, 2016 2 commits
-
-
machenbach authored
Revert of [WASM] Implements catch for the wasm low level exception mechanism. (patchset #16 id:300001 of https://codereview.chromium.org/2275293002/ ) Reason for revert: nosse4 errors: https://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/13524 https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug/builds/11215 Original issue's description: > [WASM] Implements catch for the wasm low level exception mechanism. > > BUG= > > Committed: https://crrev.com/93e5425c46453764779bd557628d61fae670027a > Cr-Commit-Position: refs/heads/master@{#39881} TBR=titzer@chromium.org,bradnelson@chromium.org,jpp@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/2383613002 Cr-Commit-Position: refs/heads/master@{#39884}
-
jpp authored
BUG= Review-Url: https://codereview.chromium.org/2275293002 Cr-Commit-Position: refs/heads/master@{#39881}
-
- 25 Aug, 2016 1 commit
-
-
franzih authored
According to our style guide on Copyable and Movable Types, copy/move operators should be disabled in the public: section, not in the private: section. If disabled with a macro such as DISALLOW_COPY_AND_ASSIGN, it should be at the end of the private: section, and should be the last thing in the class. BUG= Review-Url: https://codereview.chromium.org/2271043003 Cr-Commit-Position: refs/heads/master@{#38878}
-
- 02 Aug, 2016 1 commit
-
-
yangguo authored
R=mstarzinger@chromium.org Review-Url: https://codereview.chromium.org/2197183002 Cr-Commit-Position: refs/heads/master@{#38247}
-
- 27 Jul, 2016 1 commit
-
-
mstarzinger authored
This implements graph construction for entry via on-stack replacement within the {BytecodeGraphBuilder}. Entry points are at loop headers similar to previous OSR implementations. All interpreter registers are addressable via {OsrValue} nodes in the graph. Currently we rely on {OsrPoll} bytecodes to be placed right after loop headers (i.e. at the targets of back edges). R=jarin@chromium.org BUG=v8:4764 Review-Url: https://codereview.chromium.org/2171083004 Cr-Commit-Position: refs/heads/master@{#38083}
-
- 11 Jul, 2016 1 commit
-
-
jgruber authored
Builtin frames can simply use the existing JavaScriptFrame::Print method. Builtin exit frames need their own implementation which can print the function name, receiver and parameters. R=bmeurer@chromium.org, yangguo@chromium.org BUG= Review-Url: https://codereview.chromium.org/2134093002 Cr-Commit-Position: refs/heads/master@{#37644}
-
- 04 Jul, 2016 1 commit
-
-
jgruber authored
Stack trace generation requires access to the receiver; and while the receiver is already on the stack, we cannot determine its position during stack trace generation (it's stored in argv[0], and argc is only stored in a callee-saved register). This patch grants access to the receiver by pushing argc onto builtin exit frames as an extra argument. Compared to simply pushing the receiver, this requires an additional dereference during stack trace generation, but one fewer during builtin calls. BUG=v8:4815 Review-Url: https://codereview.chromium.org/2106883003 Cr-Commit-Position: refs/heads/master@{#37500}
-
- 30 Jun, 2016 1 commit
-
-
jgruber authored
Prior to this commit, calls to C++ builtins created standard exit frames, which are skipped when constructing JS stack traces. In order to show these calls on traces, we introduce a new builtin exit frame type. Builtin exit frames contain target and new.target on the stack and are not skipped during stack trace construction. BUG=v8:4815 R=bmeurer@chromium.org, yangguo@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel;tryserver.v8:v8_linux_nosnap_dbg Committed: https://crrev.com/3c60c6b105f39344f93a8407f41534e5e60cf19a Review-Url: https://codereview.chromium.org/2090723005 Cr-Original-Commit-Position: refs/heads/master@{#37384} Cr-Commit-Position: refs/heads/master@{#37416}
-
- 29 Jun, 2016 3 commits
-
-
bmeurer authored
Revert of [builtins] New frame type for exits to C++ builtins (patchset #5 id:80001 of https://codereview.chromium.org/2090723005/ ) Reason for revert: Looks like this breaks on nosnap: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/7626 Original issue's description: > [builtins] New frame type for exits to C++ builtins > > Prior to this commit, calls to C++ builtins created standard exit > frames, which are skipped when constructing JS stack traces. In order to > show these calls on traces, we introduce a new builtin exit frame type. > > Builtin exit frames contain target and new.target on the stack and are > not skipped during stack trace construction. > > BUG=v8:4815 > R=bmeurer@chromium.org, yangguo@chromium.org > CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/3c60c6b105f39344f93a8407f41534e5e60cf19a > Cr-Commit-Position: refs/heads/master@{#37384} TBR=yangguo@chromium.org,jgruber@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4815 Review-Url: https://codereview.chromium.org/2106113002 Cr-Commit-Position: refs/heads/master@{#37394}
-
jgruber authored
Prior to this commit, calls to C++ builtins created standard exit frames, which are skipped when constructing JS stack traces. In order to show these calls on traces, we introduce a new builtin exit frame type. Builtin exit frames contain target and new.target on the stack and are not skipped during stack trace construction. BUG=v8:4815 R=bmeurer@chromium.org, yangguo@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel Review-Url: https://codereview.chromium.org/2090723005 Cr-Commit-Position: refs/heads/master@{#37384}
-
titzer authored
This changes many interfaces to accept StandardFrames instead of JavaScriptFrames, and use the StackTraceFrameIterator instead of the JavaScriptFrameIterator. Also, the detailed frame information array now contains the script in addition to the function, as wasm frames are not associated to any javascript function. This is a rebase of (https://codereview.chromium.org/2069823003/), since clemensh's internship has ended. R=yangguo@chromium.org,ahaas@chromium.org BUG= Review-Url: https://codereview.chromium.org/2109093003 Cr-Commit-Position: refs/heads/master@{#37379}
-
- 17 Jun, 2016 1 commit
-
-
jgruber authored
This adds a new BUILTIN frame type, which supports variable number of arguments for builtins implemented in hand-written native code (we will extend this mechanism to TurboFan builtins at some point). Convert the Math.max and Math.min builtins to construct a BUILTIN frame if required. This does not yet work for C++ builtins, but that'll be the next step. R=bmeurer@chromium.org, jarin@chromium.org BUG=v8:4815 LOG=n Review-Url: https://codereview.chromium.org/2069423002 Cr-Commit-Position: refs/heads/master@{#37051}
-
- 27 May, 2016 1 commit
-
-
oth authored
Online optimization stage for reducing redundant transfers between registers. BUG=V8:4280 LOG=N Review-Url: https://codereview.chromium.org/1997653002 Cr-Commit-Position: refs/heads/master@{#36551}
-
- 19 May, 2016 1 commit
-
-
clemensh authored
Empty function names are allowed and are output as such, unnamed functions or functions with no valid UTF-8 name are output as "<WASM UNNAMED>", while the CallSite object returns null as the function name. R=titzer@chromium.org, yangguo@chromium.org Review-Url: https://codereview.chromium.org/1970503004 Cr-Commit-Position: refs/heads/master@{#36348}
-
- 06 May, 2016 1 commit
-
-
clemensh authored
This changes different locations to extract the reference to the wasm object and the function index from the stack trace, and make it available through all the APIs which process stack traces. The javascript CallSite object now has the new methods isWasm(), getWasmObject() and getWasmFunctionIndex(); the byte offset is available via getPosition(). Function names of wasm frames should be fully functional with this commit, position information works reliably for calls, but not for traps like unreachable or out-of-bounds accesses. R=titzer@chromium.org, yangguo@chromium.org Review-Url: https://codereview.chromium.org/1909353002 Cr-Commit-Position: refs/heads/master@{#36067}
-
- 22 Apr, 2016 1 commit
-
-
jarin authored
The approximate mode enables taking an approximate stack trace from GC, where the top frames might be missing if inlined. Note that in that case, the frame summary will refer to optimized code, so it will not be possible to take source position. (The user of the summary will have to handle the case frame_summary.abstract_code()->kind() == AbstractCode::OPTIMIZED_CODE specially.) Review URL: https://codereview.chromium.org/1907443002 Cr-Commit-Position: refs/heads/master@{#35728}
-
- 19 Apr, 2016 2 commits
-
-
rmcilroy authored
Removes the register file machine register from the interpreter and replaces it will loads from the parent frame pointer. As part of this change the raw operand values for register values changes to enable the interpreter to keep using the operand value as the offset from the parent frame pointer. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1894063002 Cr-Commit-Position: refs/heads/master@{#35618}
-
clemensh authored
Till now, they were just skipped. With this patch, they now show up in the DevTools on uncaught Errors with function name <WASM> and no line number or file name information (see new test case: https://chromiumcodereview.appspot.com/1875083002). R=jfb@chromium.org, titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/1865553004 Cr-Commit-Position: refs/heads/master@{#35615}
-
- 18 Apr, 2016 2 commits
-
-
neis authored
Behind --ignition-generators. Does not yet support Turbofan. TBR=bmeurer@chromium.org BUG=v8:4907 LOG=n Review URL: https://codereview.chromium.org/1884183002 Cr-Commit-Position: refs/heads/master@{#35584}
-
yangguo authored
There were a couple of issues with it: - interpreter is not supported - the source position was just accidentally correct for full-codegen - the eval origin could have been cached Also fixes a few other places to use AbstractCode. R=mstarzinger@chromium.org Committed: https://crrev.com/2f3a171adc9e620c2235bf0562145b9d4eaba66d Cr-Commit-Position: refs/heads/master@{#35257} Committed: https://crrev.com/ad4e8a27963b704bb70ec8bac0991c57296b1d16 Cr-Commit-Position: refs/heads/master@{#35481} Review URL: https://codereview.chromium.org/1854713002 Cr-Commit-Position: refs/heads/master@{#35581}
-
- 14 Apr, 2016 2 commits
-
-
yangguo authored
Revert of Correctly annotate eval origin. (patchset #5 id:80001 of https://codereview.chromium.org/1854713002/ ) Reason for revert: performance impact Original issue's description: > Correctly annotate eval origin. > > There were a couple of issues with it: > - interpreter is not supported > - the source position was just accidentally correct for full-codegen > - the eval origin could have been cached > > Also fixes a few other places to use AbstractCode. > > R=mstarzinger@chromium.org > > Committed: https://crrev.com/2f3a171adc9e620c2235bf0562145b9d4eaba66d > Cr-Commit-Position: refs/heads/master@{#35257} > > Committed: https://crrev.com/ad4e8a27963b704bb70ec8bac0991c57296b1d16 > Cr-Commit-Position: refs/heads/master@{#35481} TBR=mstarzinger@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1888013002 Cr-Commit-Position: refs/heads/master@{#35491}
-
yangguo authored
There were a couple of issues with it: - interpreter is not supported - the source position was just accidentally correct for full-codegen - the eval origin could have been cached Also fixes a few other places to use AbstractCode. R=mstarzinger@chromium.org Committed: https://crrev.com/2f3a171adc9e620c2235bf0562145b9d4eaba66d Cr-Commit-Position: refs/heads/master@{#35257} Review URL: https://codereview.chromium.org/1854713002 Cr-Commit-Position: refs/heads/master@{#35481}
-
- 06 Apr, 2016 2 commits
-
-
clemensh authored
This particularly changes the StackTraceFrameIterator such that is not only returs JavaScriptFrames, but also WasmFrames. Because of that, some methods (Summarize, function, receiver) were pulled up to the StandardFrame, with specializations in JavaScriptFrame and WasmFrame. R=jfb@chromium.org, titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/1861283002 Cr-Commit-Position: refs/heads/master@{#35293}
-
bmeurer authored
Introduce a ResumeGeneratorTrampoline, which does the actual stack state reconstruction (currently always restores a fullcodegen frame), and introduce appropriate TurboFan builtins for %GeneratorPrototype%.next, %GeneratorPrototype%.return and %GeneratorPrototype%.throw based on this native builtin. Also unify the flooding in case of step-in to always work based on JSFunction and remove the special casing for JSGeneratorObject. R=mstarzinger@chromium.org, neis@chromium.org TBR=rossberg@chromium.org BUG=chromium:513471 LOG=n Review URL: https://codereview.chromium.org/1865833002 Cr-Commit-Position: refs/heads/master@{#35283}
-
- 05 Apr, 2016 2 commits
-
-
machenbach authored
Revert of Correctly annotate eval origin. (patchset #4 id:60001 of https://codereview.chromium.org/1854713002/ ) Reason for revert: [Sheriff] Crashes a layout test: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/5855 Original issue's description: > Correctly annotate eval origin. > > There were a couple of issues with it: > - interpreter is not supported > - the source position was just accidentally correct for full-codegen > - the eval origin could have been cached > > Also fixes a few other places to use AbstractCode. > > R=mstarzinger@chromium.org > > Committed: https://crrev.com/2f3a171adc9e620c2235bf0562145b9d4eaba66d > Cr-Commit-Position: refs/heads/master@{#35257} TBR=mstarzinger@chromium.org,yangguo@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1858773004 Cr-Commit-Position: refs/heads/master@{#35260}
-
yangguo authored
There were a couple of issues with it: - interpreter is not supported - the source position was just accidentally correct for full-codegen - the eval origin could have been cached Also fixes a few other places to use AbstractCode. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1854713002 Cr-Commit-Position: refs/heads/master@{#35257}
-
- 29 Mar, 2016 1 commit
-
-
jfb authored
wasm_to_js and js_to_wasm both derive from wasm, which was confusing because is_wasm wasn't true for them and that made WasmFrame::cast awkward. Make them derive from StubFrame instead. R=bradnelson@chromium.org, titzer@chromium.org Review URL: https://codereview.chromium.org/1839843002 Cr-Commit-Position: refs/heads/master@{#35115}
-
- 08 Mar, 2016 1 commit
-
-
danno authored
Before this CL, various code stubs used different techniques for marking their frames to enable stack-crawling and other access to data in the frame. All of them were based on a abuse of the "standard" frame representation, e.g. storing the a context pointer immediately below the frame's fp, and a function pointer after that. Although functional, this approach tends to make stubs and builtins do an awkward, unnecessary dance to appear like standard frames, even if they have nothing to do with JavaScript execution. This CL attempts to improve this by: * Ensuring that there are only two fundamentally different types of frames, a "standard" frame and a "typed" frame. Standard frames, as before, contain both a context and function pointer. Typed frames contain only a minimum of a smi marker in the position immediately below the fp where the context is in standard frames. * Only interpreted, full codegen, and optimized Crankshaft and TurboFan JavaScript frames use the "standard" format. All other frames use the type frame format with an explicit marker. * Typed frames can contain one or more values below the type marker. There is new magic macro machinery in frames.h that simplifies defining the offsets of these fields in typed frames. * A new flag in the CallDescriptor enables specifying whether a frame is a standard frame or a typed frame. Secondary register location spilling is now only enabled for standard frames. * A zillion places in the code have been updated to deal with the fact that most code stubs and internal frames use the typed frame format. This includes changes in the deoptimizer, debugger, and liveedit. * StandardFrameConstants::kMarkerOffset is deprecated, (CommonFrameConstants::kContextOrFrameTypeOffset and StandardFrameConstants::kFrameOffset are now used in its stead). LOG=N Review URL: https://codereview.chromium.org/1696043002 Cr-Commit-Position: refs/heads/master@{#34571}
-
- 04 Mar, 2016 1 commit
-
-
bradnelson authored
Frames entering of inside wasm don't have a function or context argument. Adding distinct wasm frame and function types to express this. Fixes a GC issue on several embenchen wasm tests, reenabling them. BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=mjsunit/wasm/embenchen R=titzer@chromium.org,aseemgarg@chromium.org,jfb@chromium.org,yangguo@chromium.org LOG=N Review URL: https://codereview.chromium.org/1764603003 Cr-Commit-Position: refs/heads/master@{#34476}
-
- 23 Feb, 2016 3 commits
-
-
jfb authored
For now WasmFrame doesn't summarize the wasm frames. That'll require adding the metadata in wasm-compiler similar to DeoptimizationInputData. Teach the basic backtrace to iterate over stack frames instead of JS frames. Update the wasm stack test. `git cl format` touches random lines in files I touch. R=titzer@chromium.org TEST=d8 --test --expose-wasm test/mjsunit/mjsunit.js test/mjsunit/wasm/stack.js Originally landed in: https://codereview.chromium.org/1712003003/ Reverted in: https://codereview.chromium.org/1730673002/ This patch puts the JSFunction on the C++ stack. Review URL: https://codereview.chromium.org/1724063002 Cr-Commit-Position: refs/heads/master@{#34225}
-
machenbach authored
Revert of Add WasmFrame, backtraces reflect wasm's presence (patchset #9 id:160001 of https://codereview.chromium.org/1712003003/ ) Reason for revert: [Sheriff] Seems to break gcmole: https://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/8295 Original issue's description: > Add WasmFrame, backtraces reflect wasm's presence > > For now WasmFrame doesn't summarize the wasm frames. That'll require adding the > metadata in wasm-compiler similar to DeoptimizationInputData. > > Teach the basic backtrace to iterate over stack frames instead of JS frames. > > Update the wasm stack test. > > `git cl format` touches random lines in files I touch. > > R=titzer@chromium.org > TEST=d8 --test --expose-wasm test/mjsunit/mjsunit.js test/mjsunit/wasm/stack.js > > Committed: https://crrev.com/aeca945786dcccad3efecfddbf2c07aefa524a56 > Cr-Commit-Position: refs/heads/master@{#34220} TBR=titzer@chromium.org,mvstanton@chromium.org,mstarzinger@chromium.org,jfb@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1730673002 Cr-Commit-Position: refs/heads/master@{#34221}
-
jfb authored
For now WasmFrame doesn't summarize the wasm frames. That'll require adding the metadata in wasm-compiler similar to DeoptimizationInputData. Teach the basic backtrace to iterate over stack frames instead of JS frames. Update the wasm stack test. `git cl format` touches random lines in files I touch. R=titzer@chromium.org TEST=d8 --test --expose-wasm test/mjsunit/mjsunit.js test/mjsunit/wasm/stack.js Review URL: https://codereview.chromium.org/1712003003 Cr-Commit-Position: refs/heads/master@{#34220}
-
- 18 Feb, 2016 1 commit
-
-
danno authored
Frame slots indexes numbers are used more consistently for computation in both TurboFan and Crankshaft. Specifically, Crankshaft now uses frame slot indexes in LChunk, removing the need for some special-case maths when building the deoptimization translation table. LOG=N R=mstarzinger@chromium.org Committed: https://crrev.com/81423b84dbb2eaf7e1a57b0f6029fc8e643b4755 Cr-Commit-Position: refs/heads/master@{#34078} Review URL: https://codereview.chromium.org/1702593002 Cr-Commit-Position: refs/heads/master@{#34114}
-
- 17 Feb, 2016 1 commit
-
-
machenbach authored
Revert of More simplification and unification of frame handling (patchset #5 id:80001 of https://codereview.chromium.org/1702593002/ ) Reason for revert: [Sheriff] Breaks nosnap debug: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/5329 Original issue's description: > More simplification and unification of frame handling > > Frame slots indexes numbers are used more consistently for > computation in both TurboFan and Crankshaft. Specifically, > Crankshaft now uses frame slot indexes in LChunk, removing > the need for some special-case maths when building the > deoptimization translation table. > > LOG=N > R=mstarzinger@chromium.org > > Committed: https://crrev.com/81423b84dbb2eaf7e1a57b0f6029fc8e643b4755 > Cr-Commit-Position: refs/heads/master@{#34078} TBR=mstarzinger@chromium.org,jarin@chromium.org,danno@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1708583002 Cr-Commit-Position: refs/heads/master@{#34082}
-