- 15 Feb, 2021 1 commit
-
-
Leszek Swirski authored
Add a new StackFrame class for unoptimized frames (which are either interpreted or baseline). BaselineFrame becomes a subclass of this rather than InterpretedFrame, and the various frame constants helpers are similarly amended. Bug: v8:11420, v8:11429 Change-Id: I87e9368aef48ef06a39476bf826f379ce1441528 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2692208 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#72743}
-
- 21 Feb, 2020 1 commit
-
-
Wouter Vermeiren authored
After support for ARCH_PPC was dropped, it became a subset of ARCH_PPC64. If you compile for ppc64, then you set the ARCH_PPC64 define which also sets the ARCH_PPC define. To be able to again support ppc (32 bit) those defines should be split up again. This commit only splits up the defines but does not introduce a working ARCH_PPC variant. Bug: v8:10102 Change-Id: I64e0749f8e5a7dc078ee7890d92e57b82706a849 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1989826 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Milad Farazmand <miladfar@ca.ibm.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#66390}
-
- 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}
-
- 21 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 TBR=bmeurer@chromium.org,neis@chromium.org NOPRESUBMIT=true Change-Id: Ia1e49d1aac09c4ff9e05d58fab9d08dd71198878 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621931Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61682}
-
- 19 Nov, 2018 1 commit
-
-
Junliang Yan authored
Port 1952f928 Original Commit Message: The platform specific macro assembler headers can not be included directly. They require symbols declared in macro-assembler.h. We also cannot include macro-assembler.h from the platform specific headers, because that would form a cycle, and the include in macro-assembler.h would be skipped, which then also fails. This CL documents and enforces this unfortunate situation. This helps with further iwyu cleanups. Note that current code which includes the platform specific headers only works because we transitively included macro-assembler.h already before. R=clemensh@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Iff6217ccb961d009a31f6adc50a7ef77ca1c8b70 Reviewed-on: https://chromium-review.googlesource.com/c/1342977Reviewed-by: Muntasir Mallick <mmallick@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#57618}
-
- 11 Oct, 2017 1 commit
-
-
Georgia Kouveli authored
Adds some necessary padding to ensure the frame is 16-byte aligned. We don't yet consider the bailout state, which will be handled separately. This patch also improves the code generated for ContinueTo*Builtin* stubs. Finally, it adds a test that checks the return value for Array.map in the case where a LAZY deopt results in a topmost builtin continuation frame - this is easy to break if the padding for the result is done incorrectly in NotifyBuiltinContinuation, but was not detected by existing tests. Bug: v8:6644 Change-Id: Id1a294950cdf535e2bfdb0ed27c67f077ec34f8a Reviewed-on: https://chromium-review.googlesource.com/704835 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48465}
-
- 22 Sep, 2017 1 commit
-
-
Georgia Kouveli authored
Add padding for the interpreter registers when needed, to make the interpreter frame a multiple of 16 bytes. The padding needs to be added in the InterpreterEntryTrampoline and when generating an interpreter frame in the deoptimizer. It also needs to be considered when calculating the size of the interpreter frame during OSR and stack unwinding. Bug: v8:6644 Change-Id: Icfec94079cf0785fc8a2506ff555b5f9e89e3d13 Reviewed-on: https://chromium-review.googlesource.com/664563 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#48121}
-
- 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}
-
- 26 Jun, 2017 1 commit
-
-
Michael Starzinger authored
This removes support for code-stub to tail-call into the runtime via the deoptimizer. The Hydrogen code-stubs would trigger a deopt in order to materialize a trampoline frame, which would then continue execution in a runtime function associated with each stub. This is no longer needed for code-stubs built with the CSA. R=jarin@chromium.org BUG=v8:6408 Change-Id: I1ff8dc03ac716200b28e962259a3e233aeda1234 Reviewed-on: https://chromium-review.googlesource.com/548375Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46223}
-
- 03 Sep, 2015 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1318863004 Cr-Commit-Position: refs/heads/master@{#30554}
-
- 17 Aug, 2015 1 commit
-
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1299563003 Cr-Commit-Position: refs/heads/master@{#30187}
-
- 04 Jun, 2015 1 commit
-
-
mbrandy authored
Embed constant pools within their corresponding Code objects. This removes support for out-of-line constant pools in favor of the new approach -- the main advantage being that it eliminates the need to allocate and manage separate constant pool array objects. Currently supported on PPC and ARM. Enabled by default on PPC only. This yields a 6% improvment in Octane on PPC64. R=bmeurer@chromium.org, rmcilroy@chromium.org, michael_dawson@ca.ibm.com BUG=chromium:478811 LOG=Y Review URL: https://codereview.chromium.org/1162993006 Cr-Commit-Position: refs/heads/master@{#28801}
-
- 03 Jun, 2015 1 commit
-
-
bmeurer authored
Revert of Embedded constant pools. (patchset #12 id:220001 of https://codereview.chromium.org/1131783003/) Reason for revert: Breaks Linux nosnap cctest/test-api/FastReturnValuesWithProfiler, see http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug%20-%202/builds/609/steps/Check/logs/FastReturnValuesWithP.. Original issue's description: > Add support for Embedded Constant Pools for PPC and Arm > > Embed constant pools within their corresponding Code > objects. > > This removes support for out-of-line constant pools in favor > of the new approach -- the main advantage being that it > eliminates the need to allocate and manage separate constant > pool array objects. > > Currently supported on PPC and ARM. Enabled by default on > PPC only. > > This yields a 6% improvment in Octane on PPC64. > > R=danno@chromium.org, svenpanne@chromium.org, bmeurer@chromium.org, rmcilroy@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com > BUG=chromium:478811 > LOG=Y > > Committed: https://crrev.com/a9404029343d65f146e3443f5280c40a97e736af > Cr-Commit-Position: refs/heads/master@{#28770} TBR=rmcilroy@chromium.org,ishell@chromium.org,rodolph.perfetta@arm.com,mbrandy@us.ibm.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:478811 Review URL: https://codereview.chromium.org/1155703006 Cr-Commit-Position: refs/heads/master@{#28772}
-
- 02 Jun, 2015 1 commit
-
-
mbrandy authored
Embed constant pools within their corresponding Code objects. This removes support for out-of-line constant pools in favor of the new approach -- the main advantage being that it eliminates the need to allocate and manage separate constant pool array objects. Currently supported on PPC and ARM. Enabled by default on PPC only. This yields a 6% improvment in Octane on PPC64. R=danno@chromium.org, svenpanne@chromium.org, bmeurer@chromium.org, rmcilroy@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG=chromium:478811 LOG=Y Review URL: https://codereview.chromium.org/1131783003 Cr-Commit-Position: refs/heads/master@{#28770}
-
- 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}
-
- 03 Mar, 2015 1 commit
-
-
michael_dawson authored
Contribution of PowerPC port (continuation of 422063005, 817143002, 866843003, and 901083004. This patch updates the ppc directories to make them current with changes in common code, removes the optimization to use the ool constant pool, and excludes tests that don't pass under the ppc simulator given a 240s timeout. Subsequent patches will cover: - remaining optimizations for PPC - remaining AIX changes not resolved by 4.8 compiler (4.8 is only recently available for AIX) - incremental updates required to ppc directories due to platform specific changes made in google repos while we complete the above steps. modified: src/compiler/ppc/code-generator-ppc.cc modified: src/ic/ppc/handler-compiler-ppc.cc modified: src/ppc/assembler-ppc-inl.h modified: src/ppc/assembler-ppc.cc modified: src/ppc/assembler-ppc.h modified: src/ppc/builtins-ppc.cc modified: src/ppc/code-stubs-ppc.cc modified: src/ppc/debug-ppc.cc modified: src/ppc/deoptimizer-ppc.cc modified: src/ppc/frames-ppc.cc modified: src/ppc/frames-ppc.h modified: src/ppc/full-codegen-ppc.cc modified: src/ppc/lithium-codegen-ppc.cc modified: src/ppc/lithium-ppc.cc modified: src/ppc/lithium-ppc.h modified: src/ppc/macro-assembler-ppc.cc modified: src/ppc/macro-assembler-ppc.h modified: test/cctest/cctest.status modified: test/mjsunit/mjsunit.status R=danno@chromium.org, svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/965823002 Cr-Commit-Position: refs/heads/master@{#26951}
-
- 11 Nov, 2014 1 commit
-
-
svenpanne@chromium.org authored
Technically, this is https://codereview.chromium.org/571173003/ from Andrew Low <andrew_low@ca.ibm.com>. TBR=bmeurer@chromium.org Review URL: https://codereview.chromium.org/714093002 Cr-Commit-Position: refs/heads/master@{#25255} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
This way we don't clash with the ASSERT* macros defined by GoogleTest, and we are one step closer to being able to replace our homegrown base/ with base/ from Chrome. R=jochen@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/430503007 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Jun, 2014 1 commit
-
-
mstarzinger@chromium.org authored
R=rossberg@chromium.org Review URL: https://codereview.chromium.org/333013002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
- this avoids using relative include paths which are forbidden by the style guide - makes the code more readable since it's clear which header is meant - allows for starting to use checkdeps BUG=none R=jkummerow@chromium.org, danno@chromium.org LOG=n Review URL: https://codereview.chromium.org/304153016 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 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
-
- 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
-
- 30 Dec, 2013 1 commit
-
-
rmcilroy@chromium.org authored
Third stage of implementing an out-of-line constant pool for Arm. This CL adds a ConstantPool field to Code objects and initializes the pp register on function entry, and saves the pp register on the stack frame. The ConstantPool object is always empty and is unused currently. R=ulan@chromium.org Review URL: https://codereview.chromium.org/88043002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Jun, 2013 1 commit
-
-
jkummerow@chromium.org authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/18037002 Patch from Haitao Feng <haitao.feng@intel.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Jun, 2013 1 commit
-
-
yurys@chromium.org authored
The method has identical implementation for all architectures. Moved it into frames.cc Drive-by: deleted SafeStackFrameIterator::is_working_iterator_, SafeStackFrameIterator::iteration_done_ is used instead. BUG=None R=loislo@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/17581004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 May, 2013 1 commit
-
-
mstarzinger@chromium.org authored
This unifies the translation of an optimized frame to a full JavaScript frame. Only the frame's context and fp register as well as alignment padding are different on each architecture and can be factored out. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/14843020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Mar, 2013 1 commit
-
-
mstarzinger@chromium.org authored
This unifies the translation of a compiled stub frame to a stub failure trampoline frame. Only the frame's register allocation is different on each architecture and can be factored out. R=danno@chromium.org Review URL: https://codereview.chromium.org/12379045 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Jan, 2011 1 commit
-
-
sgjesse@chromium.org authored
Change the ARM exit frame to have the same layout as the IA32 exit frame. This basically re-arranges the order of fp and sp and changes the sp location of the entry frame to hold the sp used by the gc and not the sp for popping the arguments. This removes the option of tearing down the frame and returning using one ldm instruction. The main motivation for this is to avoid pushing an alignment word before generating the entry frame. The GC handling of optimized frames process the registers pushed as part of a safepoint and asumes that these are at the top of the frame, so if an alignment word is pushed this processing will be one off. The alignment handling in the C entry stub have also been simplified. Now the value of lr is stored to a stack slot already reserved avoiding pushing it and keeping track of "frame skew". This does result in more instructions in the exit frame on ARM, but we can look into improving this later. Review URL: http://codereview.chromium.org/6247019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Dec, 2010 3 commits
-
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Sep, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
When running profiling in debug mode, several assertions in frame iterators that are undoubtedly useful when iterator is started from a VM thread in a known "good" state, may fail when running over a stack of a suspended VM thread. This patch makes SafeStackFrameIterator to proactively check addresses and bail out from iteration early, before an assertion will be triggered. BUG=crbug/55565 Review URL: http://codereview.chromium.org/3436006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Aug, 2010 1 commit
-
-
ricow@chromium.org authored
the code object's instructions. This allows us to find a code object using just the pc. This approach uses a cache (PcToCodeCache) to make sure we don't continuously have to iterate heap pages. This change eliminates the need for cooking and uncooking of stack frames. Review URL: http://codereview.chromium.org/3226014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Aug, 2010 1 commit
-
-
sgjesse@chromium.org authored
The live registers are now only stored to the expression stack with the non pointer values being stored as smis (on the 32-bit platforms these values are assumed to be 31-bit max). This makes the CEntryStub entry/exit code much simpler, and there is no longer any need for a mode (debug or normal) on it. Fix a missing live register when breaking at ARM keyed load. Review URL: http://codereview.chromium.org/3141047 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 May, 2010 1 commit
-
-
erik.corry@gmail.com authored
on other ways to make ARM code more compact. Review URL: http://codereview.chromium.org/2080017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 May, 2010 1 commit
-
-
mark@chromium.org authored
Chromium build. v8.gyp no longer sets any V8_TARGET_ARCH_* macro on the Mac. Instead, the proper V8_TARGET_ARCH_* macro will be set by src/globals.h in the same way as the V8_HOST_ARCH_* macro when it detects that no target macro is currently defined. The Mac build will attempt to compile all ia32 and x86_64 .cc files. #ifdef guards in each of these target-specific source files prevent their compilation when the associated target is not selected. For completeness, these #ifdef guards are also provided for the arm and mips .cc files. BUG=706 TEST=x86_64 Mac GYP/Xcode-based Chromium build (still depends on other changes) Review URL: http://codereview.chromium.org/2133003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Dec, 2009 1 commit
-
-
erik.corry@gmail.com authored
Create the framework for adding a thumb2 backend for ARM. See http://codereview.chromium.org/464070 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Nov, 2009 1 commit
-
-
christian.plesner.hansen@gmail.com authored
ics. Review URL: http://codereview.chromium.org/341082 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3209 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Oct, 2009 1 commit
-
-
sgjesse@chromium.org authored
TBR=christian.plesner.hansen@gmail.com Review URL: http://codereview.chromium.org/343035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-