- 30 May, 2018 1 commit
-
-
Leszek Swirski authored
Compress the parameter count (and function length) stored in SharedFunctionInfo to a uint16_t. This limits us to 2^16 - 1 parameters per function, minus one for the "don't adapt arguments" sentinel value, which is one fewer than Code::kMaxArguments was already. Anyway, 65534 arguments should be enough for anyone! This drops SFI size by 4 bytes. Bug: chromium:818642 Change-Id: I126bfb24453dcdc5087a104d3a12cf195a56fa9f Reviewed-on: https://chromium-review.googlesource.com/1076627 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53447}
-
- 20 Oct, 2017 1 commit
-
-
Toon Verwaest authored
Bug: Change-Id: I67cfd5634e86472425c161b461684bd975e58a41 Reviewed-on: https://chromium-review.googlesource.com/730204 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48783}
-
- 16 Aug, 2017 1 commit
-
-
Yang Guo authored
This removes: - CodeBreakIterator for FCG code. - RelocModes for debug breaks. - Code generator for debug break slots. - GC support for debug break slots. - Code flag to indicate code with debug break slots. - Builtin type DBG. - Mechanisms to replace FCG code in the debugger and LiveEdit. - Runtime entry to the debugger from debug break slots. R=bmeurer@chromium.org, rmcilroy@chromium.org, ulan@chromium.org Bug: v8:6409 Change-Id: I5662c8800e3ef1b1584ad107bfe0aae26c9d8abb Reviewed-on: https://chromium-review.googlesource.com/613263Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#47364}
-
- 03 Aug, 2017 1 commit
-
-
Ben L. Titzer authored
Since frames.h no longer defines basic register types like RegList, it is no longer necessary to include it in the macro assemblers. Next step: split out frame-constants.h from frames.h so that it will be possible to get frame constants without include the stackwalking logic, which needs objects.h. R=mstarzinger@chromium.org Bug: Change-Id: Ia12d3c8a8d46a73106c3c90bcb4b470c85f1eaa7 Reviewed-on: https://chromium-review.googlesource.com/597788 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47114}
-
- 19 Jul, 2017 1 commit
-
-
Michael Starzinger authored
This makes {NeedsDebugHookCheck} the default for all invocations, as there is no call-site left that doesn't perform said check. All other pieces of the {CallWrapper} are dead since Crankshafts removal. R=jgruber@chromium.org Change-Id: I158b816c089ede42972e8a7bdfc6ef0c02053a6b Reviewed-on: https://chromium-review.googlesource.com/577531Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46758}
-
- 07 Jun, 2017 1 commit
-
-
Igor Sheludko authored
Store 'length' and 'formal_parameter_count' fields as raw ints. Also fixed a couple of issues on the way. TBR=verwaest@chromium.org Bug: v8:6470 Change-Id: I74ecd87cb0f041e61dab50d8bc29e3604dd1d09c Reviewed-on: https://chromium-review.googlesource.com/527156 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#45774}
-
- 20 Apr, 2017 1 commit
-
-
Ilija.Pavlovic authored
For MIPS64, many load/store operations from/to memory emit more then one instruction. This is the reason for moving them from assembler to macro-assembler. TEST= BUG= Review-Url: https://codereview.chromium.org/2829073002 Cr-Commit-Position: refs/heads/master@{#44746}
-
- 27 Jan, 2017 1 commit
-
-
yangguo authored
Previously, when restarting a frame, we would rewrite all frames between the debugger activation and the frame to restart to squash them, and replace the return address with that of a builtin to leave that rewritten frame, and restart the function by calling it. We now simply remember the frame to drop to, and upon returning from the debugger, we check whether to drop the frame, load the new FP, and restart the function. R=jgruber@chromium.org, mstarzinger@chromium.org BUG=v8:5587 Review-Url: https://codereview.chromium.org/2636913002 Cr-Commit-Position: refs/heads/master@{#42725}
-
- 12 Jan, 2017 1 commit
-
-
yangguo authored
R=jgruber@chromium.org, mstarzinger@chromium.org BUG=v8:5821 Review-Url: https://codereview.chromium.org/2622863003 Cr-Commit-Position: refs/heads/master@{#42270}
-
- 06 Sep, 2016 1 commit
-
-
marja authored
Rebuilding (after touching certain files) is crazy slow because includes are out of control. The (last remaining) offending include path is: ast.h <- liveedit.h <- debug.h <- src/x64/assembler-whatever-port-inl.h <- src/macro-assembler.h <- everything possible With this CL, the rebuild steps needed when touching ast-value-factory.h drops from 365 to 181. BUG=v8:5294 TBR=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2316443002 Cr-Commit-Position: refs/heads/master@{#39195}
-
- 09 Jun, 2016 1 commit
-
-
ishell authored
There are no ICs left that store their state in this field: vector based ICs use feedback vector and the rest three (BinaryOpIC, CompareIC and ToBooleanIC) reconstruct their state from the ExtraICState field. This CL also removes unused InlineCacheState::DEBUG_STUB which was used mostly in Code::is_debug_stub(). The latter now checks if the code is one of the debug builtins instead. BUG=chromium:618701 LOG=Y Review-Url: https://codereview.chromium.org/2052763003 Cr-Commit-Position: refs/heads/master@{#36871}
-
- 30 Mar, 2016 1 commit
-
-
mythria authored
Debugger fetches the return value of a function when we break at return. Interpreter holds the return value in accumulator. This is not stored in a specified location on stack and hence it is not possible to look it up from stack similar to full-codegen or optimized frames. This cl adds support to store the value of accumulator on debug breaks. The value of accumulator is passed to the runtime function and is then stored in thread local data. Also changes full-codegen implementation to match that of ignition. The return value from full-codegen is also stored in thread local data. The return value is fetched directly thread local data instead of finding it by iterating over frames. BUG=v8:4280, v8:4690 LOG=N Review URL: https://codereview.chromium.org/1842683002 Cr-Commit-Position: refs/heads/master@{#35127}
-
- 24 Mar, 2016 2 commits
-
-
machenbach authored
Revert of [Interpreter] Adds support to fetch return value on break at return. (patchset #9 id:160001 of https://codereview.chromium.org/1818873003/ ) Reason for revert: [Sheriff] Seems to break nosnap debug: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/6019 Original issue's description: > [Interpreter] Adds support to fetch return value on break at return. > > Debugger fetches the return value of a function when we break at return. > Interpreter holds the return value in accumulator. This is not stored in a > specified location on stack and hence it is not possible to look it up from > stack similar to full-codegen or optimized frames. This cl adds support to > store the value of accumulator on debug breaks. The value of accumulator is > passed to the runtime function and is then stored in thread local data. > > Also changes full-codegen implementation to match that of ignition. > The return value from full-codegen is also stored in thread local data. > The return value is fetched directly thread local data instead of > finding it by iterating over frames. > > BUG=v8:4280, v8:4690 > LOG=N > > Committed: https://crrev.com/fb65527b75754bcf3b173f16f5d0b04a1c6d9b99 > Cr-Commit-Position: refs/heads/master@{#35060} TBR=rmcilroy@chromium.org,yangguo@chromium.org,weiliang.lin@intel.com,balazs.kilvady@imgtec.com,jyan@ca.ibm.com,mythria@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4280, v8:4690 Review URL: https://codereview.chromium.org/1834733002 Cr-Commit-Position: refs/heads/master@{#35065}
-
mythria authored
Debugger fetches the return value of a function when we break at return. Interpreter holds the return value in accumulator. This is not stored in a specified location on stack and hence it is not possible to look it up from stack similar to full-codegen or optimized frames. This cl adds support to store the value of accumulator on debug breaks. The value of accumulator is passed to the runtime function and is then stored in thread local data. Also changes full-codegen implementation to match that of ignition. The return value from full-codegen is also stored in thread local data. The return value is fetched directly thread local data instead of finding it by iterating over frames. BUG=v8:4280, v8:4690 LOG=N Review URL: https://codereview.chromium.org/1818873003 Cr-Commit-Position: refs/heads/master@{#35060}
-
- 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}
-
- 10 Feb, 2016 1 commit
-
-
yangguo authored
The break location heavily relies on relocation info. This change abstracts that away. Currently there is only one implementation for this interface, for JIT code. Future changes will introduce an implementation to iterate bytecode arrays. R=rmcilroy@chromium.org, vogelheim@chromium.org BUG=v8:4690 LOG=N Review URL: https://codereview.chromium.org/1682853003 Cr-Commit-Position: refs/heads/master@{#33869}
-
- 04 Dec, 2015 3 commits
-
-
yangguo authored
R=verwaest@chromium.org Committed: https://crrev.com/8f87ff5d62e996b07ffbde7e735daa603c1d7290 Cr-Commit-Position: refs/heads/master@{#32553} Committed: https://crrev.com/00559c4584fe3a4c3c1a8d3a5b5af0611b19c40a Cr-Commit-Position: refs/heads/master@{#32600} Review URL: https://codereview.chromium.org/1491743005 Cr-Commit-Position: refs/heads/master@{#32614}
-
machenbach authored
Revert of [debugger] do not predict step in target for liveedit. (patchset #2 id:20001 of https://codereview.chromium.org/1491743005/ ) Reason for revert: [Sheriff] And it still breaks: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/3239 Please run chromium trybots on relands of CLs that broke chromium bots. Original issue's description: > [debugger] do not predict step in target for liveedit. > > R=verwaest@chromium.org > > Committed: https://crrev.com/8f87ff5d62e996b07ffbde7e735daa603c1d7290 > Cr-Commit-Position: refs/heads/master@{#32553} > > Committed: https://crrev.com/00559c4584fe3a4c3c1a8d3a5b5af0611b19c40a > Cr-Commit-Position: refs/heads/master@{#32600} TBR=verwaest@chromium.org,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1498523008 Cr-Commit-Position: refs/heads/master@{#32607}
-
yangguo authored
R=verwaest@chromium.org Committed: https://crrev.com/8f87ff5d62e996b07ffbde7e735daa603c1d7290 Cr-Commit-Position: refs/heads/master@{#32553} Review URL: https://codereview.chromium.org/1491743005 Cr-Commit-Position: refs/heads/master@{#32600}
-
- 03 Dec, 2015 5 commits
-
-
machenbach authored
Reland of [debugger] do not restart frames that reference new.target for liveedit. (patchset #1 id:1 of https://codereview.chromium.org/1493863004/ ) Reason for revert: Didn't help... Original issue's description: > Revert of [debugger] do not restart frames that reference new.target for liveedit. (patchset #1 id:1 of https://codereview.chromium.org/1493363002/ ) > > Reason for revert: > [Sheriff] Speculative revert for https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/3225 > > Original issue's description: > > [debugger] do not restart frames that reference new.target for liveedit. > > > > R=mstarzinger@chromium.org > > > > Committed: https://crrev.com/6fca870240bdbb07a365189b5eb0c98fa65b3682 > > Cr-Commit-Position: refs/heads/master@{#32572} > > TBR=mstarzinger@chromium.org,yangguo@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Committed: https://crrev.com/1a61dab34b9849f3f70a42ce69317e22758c53a1 > Cr-Commit-Position: refs/heads/master@{#32582} TBR=mstarzinger@chromium.org,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1492393003 Cr-Commit-Position: refs/heads/master@{#32587}
-
machenbach authored
Revert of [debugger] do not restart frames that reference new.target for liveedit. (patchset #1 id:1 of https://codereview.chromium.org/1493363002/ ) Reason for revert: [Sheriff] Speculative revert for https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/3225 Original issue's description: > [debugger] do not restart frames that reference new.target for liveedit. > > R=mstarzinger@chromium.org > > Committed: https://crrev.com/6fca870240bdbb07a365189b5eb0c98fa65b3682 > Cr-Commit-Position: refs/heads/master@{#32572} TBR=mstarzinger@chromium.org,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1493863004 Cr-Commit-Position: refs/heads/master@{#32582}
-
yangguo authored
R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1493363002 Cr-Commit-Position: refs/heads/master@{#32572}
-
machenbach authored
Revert of [debugger] do not predict step in target for liveedit. (patchset #1 id:1 of https://codereview.chromium.org/1491743005/ ) Reason for revert: [Sheriff] Layout test crashes: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/3220 Original issue's description: > [debugger] do not predict step in target for liveedit. > > R=verwaest@chromium.org > > Committed: https://crrev.com/8f87ff5d62e996b07ffbde7e735daa603c1d7290 > Cr-Commit-Position: refs/heads/master@{#32553} TBR=verwaest@chromium.org,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1494143002 Cr-Commit-Position: refs/heads/master@{#32565}
-
yangguo authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/1491743005 Cr-Commit-Position: refs/heads/master@{#32553}
-
- 02 Dec, 2015 1 commit
-
-
yangguo authored
The new step-in implementation no longer tries to predict the step-in target, so we don't need the arguments count nor call type anymore. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/1484893003 Cr-Commit-Position: refs/heads/master@{#32516}
-
- 27 Nov, 2015 1 commit
-
-
jochen authored
BUG=v8:2487 R=yangguo@chromium.org,jkummerow@chromium.org,mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/1474763008 Cr-Commit-Position: refs/heads/master@{#32359}
-
- 12 Aug, 2015 1 commit
-
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1283023002 Cr-Commit-Position: refs/heads/master@{#30131}
-
- 31 Jul, 2015 1 commit
-
-
yangguo authored
R=cbruni@chromium.org Review URL: https://codereview.chromium.org/1265923002 Cr-Commit-Position: refs/heads/master@{#29951}
-
- 23 Jul, 2015 1 commit
-
-
danno authored
Previous to this CL, ICs used a slightly different code idiom to get to C++ code from generated code than runtime intrinsics, using an IC_Utility class that in essence provided exactly the same functionality as Runtime::FunctionForId, but in its own quirky way. This CL unifies the two mechanisms, folding IC_Utility away by making all IC entry points in C++ code, e.g. IC miss handlers, full-fledged runtime intrinsics. This makes it possible to eliminate a bunch of ad-hoc declarations and adapters that the IC system had to needlessly re-invent. As a bonus and the original reason for this yak-shave: IC-related C++ runtime functions are now callable from TurboFan. Review URL: https://codereview.chromium.org/1248303002 Cr-Commit-Position: refs/heads/master@{#29811}
-
- 15 Jul, 2015 1 commit
-
-
yangguo authored
By not having to patch the return sequence (we patch the debug break slot right before it), we don't overwrite it and therefore don't have to keep the original copy of the code around. R=ulan@chromium.org BUG=v8:4269 LOG=N Review URL: https://codereview.chromium.org/1234833003 Cr-Commit-Position: refs/heads/master@{#29672}
-
- 10 Jul, 2015 2 commits
-
-
yangguo authored
If we do it too early, we might get a constant pool between the reloc info and the actual slot. R=ulan@chromium.org Review URL: https://codereview.chromium.org/1229673005 Cr-Commit-Position: refs/heads/master@{#29568}
-
yangguo authored
Break point at calls are currently set via IC. To change this, we need to set debug break slots instead. We also need to distinguish those debug break slots as calls to support step-in. To implement this, we add a data field to debug break reloc info to indicate non-call debug breaks or in case of call debug breaks, the number of arguments. We can later use this to find the callee on the evaluation stack in Debug::PrepareStep. BUG=v8:4269 R=ulan@chromium.org LOG=N Review URL: https://codereview.chromium.org/1222093007 Cr-Commit-Position: refs/heads/master@{#29561}
-
- 06 Jul, 2015 1 commit
-
-
yangguo authored
BUG=v8:3147,v8:4269 LOG=N Review URL: https://codereview.chromium.org/1218493005 Cr-Commit-Position: refs/heads/master@{#29487}
-
- 08 Jun, 2015 1 commit
-
-
mvstanton authored
BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1154303008 Cr-Commit-Position: refs/heads/master@{#28825}
-
- 01 Jun, 2015 1 commit
-
-
erikcorry authored
When compiling on a laptop I like to concatenate the small test files. This makes a big difference to compile times. These changes make that easier. R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/1163803002 Cr-Commit-Position: refs/heads/master@{#28742}
-
- 20 May, 2015 1 commit
-
-
mvstanton authored
Also removed ornamentation like "VectorRaw" from stub names. BUG= Review URL: https://codereview.chromium.org/1144063002 Cr-Commit-Position: refs/heads/master@{#28516}
-
- 15 May, 2015 1 commit
-
-
mvstanton authored
Now that vector ics are established for load, keyed load and call ics, let's remove dead code behind the flag. BUG= Review URL: https://codereview.chromium.org/1129853002 Cr-Commit-Position: refs/heads/master@{#28422}
-
- 04 Mar, 2015 1 commit
-
-
yangguo authored
We now have BreakLocation::Iterator to iterate via RelocIterator, and create a BreakLocation when we are done iterating. The reloc info is stored in BreakLocation in a GC-safe way and instantiated on demand. R=ulan@chromium.org BUG=v8:3924 LOG=N Review URL: https://codereview.chromium.org/967323002 Cr-Commit-Position: refs/heads/master@{#26983}
-
- 08 Oct, 2014 1 commit
-
-
balazs.kilvady@imgtec.com authored
Port r24458 (18af11b) Original commit message: Experimental feature vector-ics needs some maintenance. BUG= R=dusan.milosavljevic@imgtec.com Review URL: https://codereview.chromium.org/636163002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Sep, 2014 1 commit
-
-
balazs.kilvady@imgtec.com authored
Port r23639 (e5a2758) Original commit message: The ic-convention classes that hold register specifications are merged into these new call descriptor classes, which should represent a final home for that information. BUG= R=paul.lind@imgtec.com Review URL: https://codereview.chromium.org/538573002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-