- 20 Mar, 2020 1 commit
-
-
Zhao Jiazhong authored
The FpRegister size was miswritten as kSimd128Size like x64, while it should be kDoubleSize on mips. Change-Id: Iac4c5687e398a87ec0508fb99042a487c41ddf8c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2110891 Auto-Submit: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Reviewed-by:
Dan Elphick <delphick@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#66804}
-
- 18 Mar, 2020 2 commits
-
-
Zhao Jiazhong authored
Port ae03752f https://crrev.com/c/2102574 Original Commit Message: This implements inspection of live registers on breakpoints in Liftoff. To that end, the frame pointer of the WasmDebugBreak frame is remembered when iterating the stack. Based on a platform-specific implementation of {WasmDebugBreakFrameConstants}, the offset of the respective register within that frame is computed, and the value is read from the frame. As a drive-by, the wasm debug side table is storing register codes as liftoff codes, which can also store register pairs (needed for i64 on 32-bit platforms, and for SIMD, which is not supported yet). Change-Id: I88bcc5256e1a3b4447c727673178c41fbdd04df4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2105506 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#66772}
-
Zhao Jiazhong authored
Port e47f9a9d https://crrev.com/c/2102570 Original Commit Message: The set of registers to spill was wrong. Instead of spilling wasm parameter registers (like the WasmCompileLazy builtin), we should spill all registers that are being used as Liftoff cache registers. This CL defines platform-specific WasmDebugBreakFrameConstants which hold the set of registers to spill. This set is used in the builtin, and will later be used for inspecting the spilled registers. In order to iterate bit sets more easily in both direction (MSB to LSB or LSB to MSB), we add a base::bits::IterateBits{,Backwards} method which provides the respective iterators. Change-Id: I1137a0b8bcb20d994bfc8662f0a938b627582fbd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2105495Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#66765}
-
- 25 Oct, 2019 2 commits
-
-
Michael Starzinger authored
R=clemensb@chromium.org BUG=v8:9810 Change-Id: I4bfd667952cb933a131701c692cad18857df2244 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1878711Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64562}
-
Michael Starzinger authored
This class used to describe unoptimized but compiled frames. All such frames are by now covered via the architecture-independent description in the {StandardFrameConstants} class (or one of its subclasses). R=clemensb@chromium.org BUG=v8:9810 Change-Id: I294cc6eec7d4a05e88e7aa336f1ebedfa0eb6e98 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1878708Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64556}
-
- 28 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 Change-Id: I2f999ed3a8cc0931e5092f2ac6e709b8ff3f9e42 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1630678 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61896}
-
- 22 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 Change-Id: I79e0553e8a0d6dac2aa16b94a6c0e05b6ccde4a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621934 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61725}
-
- 15 Mar, 2019 1 commit
-
-
Michael Starzinger authored
This slot has become obsolete now that all CEntry stubs are builtins (which are part of the rootset) and no longer need to be kept alive explicitly by a slot in the frame. R=verwaest@chromium.org BUG=v8:8834 Change-Id: I7b791cc509ef800bcf7aa5faab31ddf35370f944 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520725Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60267}
-
- 11 Jan, 2019 1 commit
-
-
tzik authored
As a follow-up of https://crrev.com/c/1372857 that repordered the parameters of JSEntry, this CL updates JSEntry for MIPS for new ordering. Bug: v8:8124 Change-Id: Ic7f22a4f59b1c15a959a3249b4f13cd8f3f1c331 Reviewed-on: https://chromium-review.googlesource.com/c/1405166Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Cr-Commit-Position: refs/heads/master@{#58721}
-
- 06 Dec, 2018 1 commit
-
-
Jakob Gruber authored
In preparation for converting JSEntry into a builtin. The root register used to be initialized by an embedded external reference, which is not isolate-independent. Pass in its value explicitly instead. Tbr: clemensh@chromium.org Bug: v8:7777 Change-Id: If9d20cb193af175bd1cf58e5826bdf6f397869ad Reviewed-on: https://chromium-review.googlesource.com/c/1363139Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58065}
-
- 10 Oct, 2018 1 commit
-
-
Ben L. Titzer authored
This CL refactors the implementation of WASM->JS import wrappers in order to make the wrapper code shareable. Instead of specializing to the import index, we use a tuple as the object ref in the both the import and indirect tables. The tuple allows the wrapper code to load both the calling instance and the target callable, rather than relying on code specialization. This requires some tricky codegen machinery, because WASM call descriptors expect an instance argument in a given register, yet the wrappers receive a tuple, the code generator must generate a prologue that loads the instance (and the callable), since it is not possible to express this at the graph level. R=mstarzinger@chromium.org CC=clemensh@chromium.org Change-Id: Id67e307f7f5089e776f5439a53b5aee4b76934b6 Reviewed-on: https://chromium-review.googlesource.com/c/1268237 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56520}
-
- 19 Jun, 2018 1 commit
-
-
Clemens Hammacher authored
This also restores some uniformity in these headers. R=mstarzinger@chromium.org Change-Id: Ic3a941bce287596f564ba9f87f3a8ca2c46c2ee2 Reviewed-on: https://chromium-review.googlesource.com/1105763Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53831}
-
- 29 May, 2018 1 commit
-
-
Michael Starzinger authored
This makes the WasmCompileLazy builtin push a new WASM_COMPILE_LAZY frame type. We can thereby remove the workaround to return a relocated instance from the underlying runtime function. It also removes the last remaining embedded code objects from {WasmCode} objects. R=titzer@chromium.org Change-Id: Ic9c3f59339e8d7bed53ea0ed70ef50dfe640f1c6 Reviewed-on: https://chromium-review.googlesource.com/1073455 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53405}
-
- 10 Apr, 2018 1 commit
-
-
Michael Starzinger authored
This is in preparation of using some of these constants to compute values for the Liftoff assembler that are themselves constexpr. R=clemensh@chromium.org Change-Id: I573ef4ca164e0107968e482996963fde9a3960b0 Reviewed-on: https://chromium-review.googlesource.com/1005056Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52527}
-
- 02 Feb, 2018 1 commit
-
-
jgruber authored
This check verifies that all .h files in the src/ directory have an include guard of the form #ifndef V8_PATH_TO_FILE_H_ #define V8_PATH_TO_FILE_H_ // ... #endif // V8_PATH_TO_FILE_H_ The check can be skipped with a magic comment: // PRESUBMIT_INTENTIONALLY_MISSING_INCLUDE_GUARD Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I0a7b96abec289ad60f64ba8418f1892a6969596d Reviewed-on: https://chromium-review.googlesource.com/897487Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#51079}
-
- 03 Aug, 2017 1 commit
-
-
Ben L. Titzer authored
R=mstarzinger@chromium.org Bug: Change-Id: I95acea7b33a6e5799399d0891b2a52103f5e4964 Reviewed-on: https://chromium-review.googlesource.com/598072Reviewed-by:
Ben Titzer <titzer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47116}
-
- 01 Aug, 2017 1 commit
-
-
Ben L. Titzer authored
Register configuration data is not the same as frame configuration data. This CL moves the last remnants of register configuration into the assembler files, to be with the other register configuration macros. Next step: extract this register configuration data into platform-specific files that can be included independent of the assembler. R=mstarzinger@chromium.org Bug: Change-Id: I10933b5090be94e90e2a1442197528dfe30bb566 Reviewed-on: https://chromium-review.googlesource.com/595590 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47044}
-
- 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}
-
- 30 Sep, 2015 1 commit
-
-
mstarzinger authored
This enables linter checking for "readability/namespace" violations during presubmit and instead marks the few known exceptions that we allow explicitly. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1371083003 Cr-Commit-Position: refs/heads/master@{#31019}
-
- 13 Jul, 2015 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1235893002 Cr-Commit-Position: refs/heads/master@{#29607}
-
- 07 Jul, 2015 1 commit
-
-
mstarzinger authored
This unifies the existing frame constants that are the same accross all architectures. It also adds a new kOriginalConstructorOffset constant for construct frames and uses is in full-codegen. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1220223005 Cr-Commit-Position: refs/heads/master@{#29509}
-
- 25 Jun, 2015 1 commit
-
-
arv authored
The stack layout was different for different ports. BUG=v8:3887 LOG=N R=dslomov@chromium.org, adamk@chromium.org Review URL: https://codereview.chromium.org/1203103003 Cr-Commit-Position: refs/heads/master@{#29292}
-
- 10 Mar, 2015 1 commit
-
-
mstarzinger authored
This reduces the size of the StackHandler by yet another word. We no longer need to keep track of the frame pointer, as the stack walk will be able to recalculate it. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/991893003 Cr-Commit-Position: refs/heads/master@{#27115}
-
- 09 Jul, 2014 1 commit
-
-
dusan.milosavljevic@rt-rk.com authored
Summary: - Changes in common code are mainly boilerplate changes, gyp and test status files updates. - On mips64 simulator all tests pass from all test units. - Current issues: mjsunit JS debugger tests fail randomly on HW in release mode. Corresponding tests are skipped on HW. - Skipped tests on mips64: test-heap/ReleaseOverReservedPages, mjsunit/debug-* TEST= BUG= R=danno@chromium.org, plind44@gmail.com, ulan@chromium.org Review URL: https://codereview.chromium.org/371923006 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 May, 2014 1 commit
-
-
yangguo@chromium.org authored
R=ulan@chromium.org Review URL: https://codereview.chromium.org/286903003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Apr, 2014 1 commit
-
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/259183002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Mar, 2014 1 commit
-
-
plind44@gmail.com authored
MIPS: Reland "Pass a Code object to Assembler::(set_)target_address_at for use by ool constant pool." Port r19856 (0546217) Original commit message: The ool constant pool will require a pointer to the code's constant pool when updating or reading target addresses using set_target_address_at() and target_address_at(). BUG= R=plind44@gmail.com Review URL: https://codereview.chromium.org/198163002 Patch from Balazs Kilvady <kilvadyb@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Jan, 2014 1 commit
-
-
rmcilroy@chromium.org authored
This CL fixes some bugs in the out of line constant pool implementation when constant pools are GCed. Namely: - Push/Pop pp register in exit frames and VisitPointer on it to ensure it is updated if the ConstantPoolArray is moved by GC. - Mark pp as a SafePoint Register for optimized functions. - Ensure that StandardFrame::IterateExpressions also iterates over the constant pool pointer in the stackframe. - Fix calculation of last_ptr_offset in ConstantPoolArray body iterator. - Make ensure that CONSTANT_POOL_ARRAY_TYPE is a pointer object InstanceType. R=ulan@chromium.org Review URL: https://codereview.chromium.org/123263005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Nov, 2013 1 commit
-
-
plind44@gmail.com authored
MIPS: Replace hard-coded stack frame size literals with StandardFrameConstants::kFixedFrameSizeFromFp. Port r17925 (0b95731) BUG= R=plind44@gmail.com Review URL: https://codereview.chromium.org/77763006 Patch from Balazs Kilvady <kilvadyb@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Jul, 2013 1 commit
-
-
haitao.feng@intel.com authored
The FP setting is different for X32 than the other platforms as kFPOnStackSize is double the kPointerSize and we have to clear the higher 32 bits to 0. R=danno@chromium.org Review URL: https://codereview.chromium.org/20073004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Apr, 2013 1 commit
-
-
mstarzinger@chromium.org authored
* src/frames.h: Move StackHandlerConstants here, as it is the same for all architectures. BUG= Review URL: https://codereview.chromium.org/13638002 Patch from Andy Wingo <wingo@igalia.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Mar, 2013 1 commit
-
-
mstarzinger@chromium.org authored
This unifies the translation of artificial construct stub frames. The frame layout is almost the same on all architectures and only differs in the presence of a slot holding the constructor function. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/12379042 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Feb, 2013 1 commit
-
-
palfia@homejinni.com authored
Port r13593 (ae4edde7) BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/12217079 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Jan, 2012 1 commit
-
-
vegorov@chromium.org authored
Port r10483 (8785a3ef) BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9271068 Patch from Daniel Kalmar <kalmard@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Nov, 2011 1 commit
-
-
kmillikin@chromium.org authored
This shaves 416+ KB, just under 1% off the size of the debug d8 executable on Linux (mostly because the CheckHelper functions for assertions were getting separate copies for each compilation unit). The difference in release builds is negligible---a size reduction of 0.1%. Also, change namespace-level 'static const' variables to remove the static storage class as it's the default. R=danno@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8680013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Nov, 2011 1 commit
-
-
kmillikin@chromium.org authored
Port r9977 (9aded78be4). Note: This is the port of the reapplied patch, not the original. Original commit message: To support deoptimization of exception handlers, the handler address in the stack is converted to a pair of code object and an index into a separate table of code offsets. The index part is invariant under deoptimization. The index is packed into the handler state field so that handler size does not change. BUG= TEST= Review URL: http://codereview.chromium.org/8557003 Patch from Gergely Kis <gergely@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Oct, 2011 1 commit
-
-
danno@chromium.org authored
Simplified based on Michael's change Refactor how embedded pointers are visited. (9597) Ported r9328 (bdc13b7) BUG= TEST= Review URL: http://codereview.chromium.org/8106002 Patch from Paul Lind <pling44@gmail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Sep, 2011 1 commit
-
-
danno@chromium.org authored
Highlights: - assembler.h adds FPU definitions used for Crankshaft. - Support optimization of mips call: jalr->jal - includes changes to set_target_address_at(), support routines. - Add 2nd use of Apply() to update target addresses. - Minor debugging improvement in simulator. BUG= TEST= Review URL: http://codereview.chromium.org/7888003 Patch from Paul Lind <plind44@gmail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Sep, 2011 1 commit
-
-
yangguo@chromium.org authored
This is the bleeding_edge port of our crankshaft commit 41cab38. BUG= TEST= Review URL: http://codereview.chromium.org/7834017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Sep, 2011 1 commit
-
-
yangguo@chromium.org authored
This commit was missed/skipped earlier for some reason. Ported r8357 (d78dae4) BUG= TEST= Review URL: http://codereview.chromium.org/7809014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-