- 22 Apr, 2016 2 commits
-
-
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}
-
yangguo authored
This is pretty useful when debugging. There is no easy way to find the bytecode arrays on the stack. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1909663005 Cr-Commit-Position: refs/heads/master@{#35712}
-
- 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}
-
- 17 Apr, 2016 1 commit
-
-
weiliang.lin authored
WASM codes always have a StackFrame::Type marker. BUG= Review URL: https://codereview.chromium.org/1879543002 Cr-Commit-Position: refs/heads/master@{#35553}
-
- 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}
-
- 13 Apr, 2016 1 commit
-
-
mlippautz authored
- Additionally allow to commit late lists to an already started sweeper BUG=chromium:581412 LOG=N Review URL: https://codereview.chromium.org/1871423002 Cr-Commit-Position: refs/heads/master@{#35432}
-
- 06 Apr, 2016 3 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}
-
clemensh authored
SingletonFor(type, state) returns NULL and does nothing whenever SingletonFor(type) also return NULL. So checking this beforehand is redundant. This is my first CL, so I also use it to get familiar with the system. R=titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/1862753003 Cr-Commit-Position: refs/heads/master@{#35285}
-
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 3 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}
-
bmeurer authored
This was missing from the previous fix. R=ishell@chromium.org BUG=chromium:599714 LOG=n Review URL: https://codereview.chromium.org/1861583002 Cr-Commit-Position: refs/heads/master@{#35249}
-
- 01 Apr, 2016 1 commit
-
-
yangguo authored
Make sure we don't use arbitrary optimized code in FrameSummary. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1846183002 Cr-Commit-Position: refs/heads/master@{#35191}
-
- 22 Mar, 2016 1 commit
-
-
bmeurer authored
This CL adds support for builtins with JavaScript linkage written using the TurboFan CodeStubAssembler, but with a JSCall descriptor (which was already supported thanks to a previous patch by Ben Smith). As a first example, we convert the Math.sqrt builtin and thereby get rid of the %_MathSqrt intrinsic, which causes trouble for the representation selection pass in the JavaScript pipeline. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1824993002 Cr-Commit-Position: refs/heads/master@{#34989}
-
- 10 Mar, 2016 1 commit
-
-
titzer authored
R=mstarzinger@chromium.org,bradnelson@chromium.org BUG= Review URL: https://codereview.chromium.org/1782613003 Cr-Commit-Position: refs/heads/master@{#34682}
-
- 09 Mar, 2016 1 commit
-
-
mbrandy authored
Avoid hard-coding fp offset to marker in StandardFrame::IterateCompiledFrame. R=danno@chromium.org, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1775193002 Cr-Commit-Position: refs/heads/master@{#34623}
-
- 08 Mar, 2016 3 commits
-
-
mythria authored
BailoutId points to the next bytecode in the bytecode array. Code offset is set to one less than the bail out id. This would point to the end of the current instruction. Since we use it only for summarizing the frame and to compute the source position, it should be safe to set it to the end of current instruction. BUG=v8:4280, v8:4689 LOG=N Review URL: https://codereview.chromium.org/1763783003 Cr-Commit-Position: refs/heads/master@{#34580}
-
danno authored
Review URL: https://codereview.chromium.org/1776593002 Cr-Commit-Position: refs/heads/master@{#34576}
-
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}
-
- 01 Mar, 2016 1 commit
-
-
mythria authored
Adds the translation from optimized frame to bytecode offset in FrameSummary. For interpreter, the bailout id represents the bytecode array offset. So we can directly use the bailout id as the code offset in the FrameSummary. Also updates mjsunit.status with more information about failing tests. BUG=v8:4280, v8:4689 LOG=N Review URL: https://codereview.chromium.org/1740753002 Cr-Commit-Position: refs/heads/master@{#34393}
-
- 26 Feb, 2016 1 commit
-
-
rmcilroy authored
Adds support for cpu profiler logging to the interpreter. Modifies the the API to be passed AbstractCode objects instead of Code objects, and adds extra functions to AbstractCode which is required by log.cc and cpu-profiler.cc. The main change in sampler.cc is to determine if a stack frame is an interpreter stack frame, and if so, use the bytecode address as the pc for that frame. This allows sampling of bytecode functions. This requires adding support to SafeStackIterator to determine if a frame is interpreted, which we do by checking the PC against pre-stored addresses for the start and end of interpreter entry builtins. Also removes CodeDeleteEvents which are dead code and haven't been reported for some time. Still to do is tracking source positions which will be done in a followup CL. BUG=v8:4766 LOG=N Review URL: https://codereview.chromium.org/1728593002 Cr-Commit-Position: refs/heads/master@{#34321}
-
- 25 Feb, 2016 1 commit
-
-
ishell authored
This optimization does not give us much (see perf try bot results associated with this CL) but complicates things a lot. The main motivation is to avoid additional complexity in tail call optimization. There are some pieces left in the deoptimizer, but I'll address this in a separate CL. Review URL: https://codereview.chromium.org/1731273003 Cr-Commit-Position: refs/heads/master@{#34273}
-
- 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
-
-
alph authored
CPU profiler probes stack frame to find if it's in a valid state. Under simulator it might happen the frame is not initialized and MSAN repors that. That's totally ok. Suppress the warning. BUG=v8:4751 LOG=N Review URL: https://codereview.chromium.org/1700533003 Cr-Commit-Position: refs/heads/master@{#34061}
-
- 16 Feb, 2016 2 commits
-
-
rmcilroy authored
Various places assume that GetExpression returns the locals for a frame. Modify InterpretedFrames such that GetExpression(0) returns the first local, not the fixed parts of the interpreter frame. BUG=v8:4690,v8:4680 LOG=N Review URL: https://codereview.chromium.org/1697223003 Cr-Commit-Position: refs/heads/master@{#34040}
-
rmcilroy authored
Replaces the push of the dispatch table on the interpreted stack frame with a push of the bytecode array. This enables the debugger to replace the bytecode array with a patched version containing breakpoints. BUG=v8:4690 LOG=N Review URL: https://codereview.chromium.org/1699013002 Cr-Commit-Position: refs/heads/master@{#34032}
-
- 11 Feb, 2016 2 commits
-
-
rmcilroy authored
Saves and restores the dispatch pointer during calls to enable the debugger to switch the dispatch table used by a function during it's execution. Also moves the accumulator and context nodes to be Variables so that they will be properly merged across branches. BUG=v8:4280,v8:4690 LOG=N Review URL: https://codereview.chromium.org/1684073002 Cr-Commit-Position: refs/heads/master@{#33894}
-
jarin authored
JS_FRAME_FUNCTION can be expressed using the STACK_SLOT translation. Review URL: https://codereview.chromium.org/1688023003 Cr-Commit-Position: refs/heads/master@{#33882}
-
- 10 Feb, 2016 1 commit
-
-
mlippautz authored
Preparing the young generation for (real) non-contiguous backing memory, this change removes object masks that are used to compute containment in semi and new space. The masks are replaced by lookups for object tags and page headers, where possible. Details: - Use the fast checks (page header lookups) for containment in regular code. - Use the slow version that masks out the page start adress and iterates all pages of a space for debugging/verification. - The slow version works for off-heap/unmapped memory. - Encapsulate all checks for the old->new barrier in Heap::RecordWrite(). BUG=chromium:581412 LOG=N Review URL: https://codereview.chromium.org/1632913003 Cr-Commit-Position: refs/heads/master@{#33857}
-
- 05 Feb, 2016 1 commit
-
-
mstarzinger authored
This makes the field in question more generic by renaming it from the previous "depth" to "data". Pure refactoring, no function change. R=rmcilroy@chromium.org,yangguo@chromium.org Review URL: https://codereview.chromium.org/1670983003 Cr-Commit-Position: refs/heads/master@{#33779}
-
- 04 Feb, 2016 2 commits
-
-
alph authored
There might be several ExternalCallbackScope's created during the native callback. Remove the assert that is not aligned with that. Moreover this iterator must work for any kind of stacks including corrupted ones. BUG=v8:4705 LOG=N Review URL: https://codereview.chromium.org/1663193003 Cr-Commit-Position: refs/heads/master@{#33751}
-
mstarzinger authored
This implements proper context switching while unwinding the stack due to an exception being handled in interpreted code. The context under which the handler is scoped is being preserved in a dedicated register while the try-block is running. Both, the stack unwinding machinery as well as the graph builder, restore the context from that register. R=rmcilroy@chromium.org,bmeurer@chromium.org BUG=v8:4674 LOG=n Review URL: https://codereview.chromium.org/1665833002 Cr-Commit-Position: refs/heads/master@{#33733}
-