- 16 Aug, 2018 1 commit
-
-
Pierre Langlois authored
This test would fail when running natively on arm64. If USE_SIMULATOR isn't defined, then the assembler always generates a brk instruction, regarless of the `enable_simulator_code` Assembler option. Change-Id: Id56788ba60ab4a13857825ebf09bf55375250c9d Reviewed-on: https://chromium-review.googlesource.com/1174712Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#55148}
-
- 07 Aug, 2018 1 commit
-
-
Sigurd Schneider authored
The instruction size in bytes is now kInstrSize on all platforms. Bug: v8:6666 Change-Id: I2f9880a6a74199a439c8327a4117efb74240aa22 Reviewed-on: https://chromium-review.googlesource.com/1164955 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#54944}
-
- 06 Jul, 2018 1 commit
-
-
Sigurd Schneider authored
This CL surfaces AssemblerOptions to CodeAssembler::GenerateCode and to pipeline methods. To allow forward declaring AssemblerOptions, AssemblerBase::Options was moved out of the AssemblerBase class. Bug: v8:6666 Change-Id: If9fc50d3d4767bb5dd39a0c3b6e094021f4cae2b Reviewed-on: https://chromium-review.googlesource.com/1127039 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#54286}
-
- 21 Jun, 2018 1 commit
-
-
Ben L. Titzer authored
This completes the transition to Assembler::Options, which reduces the assemblers's dependency on isolates, and there is now only one way to create an Assembler, which is to use the options. Note that some operations on assemblers still need an isolate, such as GetCode(), and in these cases, the isolate is an additional argument to the method. R=jgruber@chromium.org CC=mstarzinger@chromium.org Change-Id: I413209d816c63a7c3640f1c226764693dcad1e7f Reviewed-on: https://chromium-review.googlesource.com/1106169 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53925}
-
- 21 Feb, 2018 1 commit
-
-
Martyn Capewell authored
Add support for CSDB, equivalent to HINT #20, in the system instruction space. Additionally, relax the "unallocated" identification of hint instructions that we don't support, such that they'll now disassemble as "unimplemented (System)" rather than "unallocated". Change-Id: Ia36d13fe17a98edb872f234e7cdda33d033618e8 Reviewed-on: https://chromium-review.googlesource.com/926806Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#51420}
-
- 18 Jan, 2018 1 commit
-
-
Martyn Capewell authored
Rename csp to sp and remove support for the stack pointer abstraction and switching stack pointers. Bug: v8:6644 Change-Id: I616633aabc1cee9926249fe95ce6c37ed6544fe3 Reviewed-on: https://chromium-review.googlesource.com/870870Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#50687}
-
- 16 Jan, 2018 1 commit
-
-
Martyn Capewell authored
Remove remaining references to jssp, and return register to the allocator. Bug: v8:6644 Change-Id: Ia6938e6c9548cd45d8c9c12032920b32d3da3c4c Reviewed-on: https://chromium-review.googlesource.com/866747Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#50613}
-
- 29 Nov, 2017 1 commit
-
-
Martyn Capewell authored
The stlxr (store-release exclusive register) instructions in Arm64 have similar restrictions to Arm's strex instructions - the status register must not alias the source or address registers. Enforce this in the assembler and simulator, and modify Turbofan and cctest to conform to this. Also, make a small improvement to the code generated for compare and exchange. This is a port of 44c52f7b. Bug: Change-Id: Ia3a8c39b09c5cb579357a5f61c3d88f13d61b724 Reviewed-on: https://chromium-review.googlesource.com/793037Reviewed-by:
Ben Smith <binji@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#49714}
-
- 18 Oct, 2017 1 commit
-
-
Clemens Hammacher authored
This CL fixes all occurences that don't require special OWNER reviews, or can be reviewed by Michi. After this one, we should be able to reenable the readability/check cpplint check. R=mstarzinger@chromium.org Bug: v8:6837, v8:6921 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng;master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: Ic81d68d5534eaa795b7197fed5c41ed158361d62 Reviewed-on: https://chromium-review.googlesource.com/721120 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48670}
-
- 13 Oct, 2017 1 commit
-
-
Mathias Bynens authored
New code should use nullptr instead of NULL. This patch updates existing use of NULL to nullptr where applicable, making the code base more consistent. BUG=v8:6928,v8:6921 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng;master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I4687f5b96fcfd88b41fa970a2b937b4f6538777c Reviewed-on: https://chromium-review.googlesource.com/718338 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#48557}
-
- 01 Sep, 2017 1 commit
-
-
Michael Starzinger authored
R=jkummerow@chromium.org Change-Id: I8937933e9ec5b4bd150f5a044700716db458f365 Reviewed-on: https://chromium-review.googlesource.com/645691Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47758}
-
- 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}
-
- 20 Jul, 2017 1 commit
-
-
Martyn Capewell authored
Unscaled memory operations were missing disassembly output for vector registers, so add support and rewrite as a macro. Bug: Change-Id: I6f388952dbe5a3b9f8a9b9c46e69ef63dc6655ba Reviewed-on: https://chromium-review.googlesource.com/576177Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#46785}
-
- 14 Jul, 2017 1 commit
-
-
Pierre Langlois authored
The "test-disasm-arm64/DISASM_debug" test would fail on hardware because we expected a "hlt" instruction instead of "brk". The former is specific to running inside the simulator. Bug: Change-Id: I7a5a3d4c1a93d03bbf4c934037c565d27379c2b5 Reviewed-on: https://chromium-review.googlesource.com/570442Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#46663}
-
- 14 Jun, 2017 1 commit
-
-
georgia.kouveli authored
BUG= Review-Url: https://codereview.chromium.org/2922983002 Cr-Commit-Position: refs/heads/master@{#45948}
-
- 31 May, 2017 2 commits
-
-
neis authored
Instead of allocating and embedding certain heap numbers into the code during code assembly, emit dummies but record the allocation requests. Later then, in Assembler::GetCode, allocate the heap numbers and patch the code by replacing the dummies with the actual objects. The RelocInfos for the embedded objects are already recorded correctly when emitting the dummies. R=jarin@chromium.org BUG=v8:6048 Review-Url: https://codereview.chromium.org/2900683002 Cr-Commit-Position: refs/heads/master@{#45635}
-
martyn.capewell authored
This reverts commit c5aad5f2 The CL was reverted due to missing Chromium dependencies. This commit removes the simulator trace-based tests, and the associated header file dependencies, previously pulled in by DEPS. The NEON support now has only hand-written tests, in test-assembler-arm64.cc. The remaining tests can be added in a later patch. BUG=chromium:718439 Original issue's description: > Reland "ARM64: Add NEON support" > > This reverts commit cc047635. > The CL was reverted due to a missing DEPS mirror. > > Original issue's description: > > ARM64: Add NEON support > > > > Add assembler, disassembler and simulator support for NEON in the ARM64 backend. > > > > BUG= > > > > Review-Url: https://codereview.chromium.org/2622643005 > > Cr-Commit-Position: refs/heads/master@{#44306} > > BUG= > > Review-Url: https://codereview.chromium.org/2812573003 > Cr-Commit-Position: refs/heads/master@{#44652} Review-Url: https://codereview.chromium.org/2896303003 Cr-Commit-Position: refs/heads/master@{#45633}
-
- 15 Apr, 2017 1 commit
-
-
hablich authored
This reverts commit 8faf3d6f. Reason: blocks roll https://codereview.chromium.org/2820753003/ TBR=martyn.capewell@arm.com,jarin@chromium.org,bmeurer@chromium.org,machenbach@chromium.org NOTRY=true Review-Url: https://codereview.chromium.org/2819093002 Cr-Commit-Position: refs/heads/master@{#44660}
-
- 13 Apr, 2017 1 commit
-
-
martyn.capewell authored
This reverts commit cc047635. The CL was reverted due to a missing DEPS mirror. Original issue's description: > ARM64: Add NEON support > > Add assembler, disassembler and simulator support for NEON in the ARM64 backend. > > BUG= > > Review-Url: https://codereview.chromium.org/2622643005 > Cr-Commit-Position: refs/heads/master@{#44306} BUG= Review-Url: https://codereview.chromium.org/2812573003 Cr-Commit-Position: refs/heads/master@{#44652}
-
- 31 Mar, 2017 2 commits
-
-
machenbach authored
This reverts commit 4506382d. We don't allow DEPS'ing things outside googlesource. This requires a mirror. Also .gitignore entry is missing. NOTRY=true NOTREECHECKS=true NOPRESUBMIT=true TBR=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2785183005 Cr-Commit-Position: refs/heads/master@{#44307}
-
martyn.capewell authored
Add assembler, disassembler and simulator support for NEON in the ARM64 backend. BUG= Review-Url: https://codereview.chromium.org/2622643005 Cr-Commit-Position: refs/heads/master@{#44306}
-
- 28 Mar, 2017 1 commit
-
-
martyn.capewell authored
Implement ASSEMBLE_ATOMIC_LOAD/STORE_INTEGER using acquire/release instructions, to match the existing ASSEMBLE_ATOMIC_EXCHANGE_INTEGER macro. BUG=v8:6097 Review-Url: https://codereview.chromium.org/2760963002 Cr-Commit-Position: refs/heads/master@{#44184}
-
- 15 Mar, 2017 1 commit
-
-
Marja Hölttä authored
BUG=v8:5294 Change-Id: I6214c50c7d1344210a80763b066e5ec56df1265a Reviewed-on: https://chromium-review.googlesource.com/453460 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#43820}
-
- 19 May, 2016 1 commit
-
-
binji authored
They are not currently implemented by the ARM64 simulator. R=jarin@chromium.org, bmeurer@chromium.org Review-Url: https://codereview.chromium.org/1990073002 Cr-Commit-Position: refs/heads/master@{#36385}
-
- 09 Dec, 2015 1 commit
-
-
jochen authored
Embedders still can use those APIs by default test-api.cc still has an exception to use the old APIs... BUG=v8:4143 R=vogelheim@chromium.org LOG=n Review URL: https://codereview.chromium.org/1505803004 Cr-Commit-Position: refs/heads/master@{#32701}
-
- 07 Dec, 2015 1 commit
-
-
bmeurer authored
The test expectations should fail consistently in both release and debug builds. DCHECK is only meant for debug-only checks in production code. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1506753002 Cr-Commit-Position: refs/heads/master@{#32639}
-
- 25 Nov, 2015 1 commit
-
-
jochen authored
We always want to have an Isolate, so just use an extra ctor arg BUG=2487 R=yangguo@chromium.org,mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/1476763002 Cr-Commit-Position: refs/heads/master@{#32277}
-
- 23 Nov, 2015 1 commit
-
-
jochen authored
BUG=2487 R=yangguo@chromium.org LOG=n Review URL: https://codereview.chromium.org/1468943002 Cr-Commit-Position: refs/heads/master@{#32176}
-
- 16 Nov, 2015 1 commit
-
-
jochen authored
BUG=4134 R=epertoso@chromium.org LOG=n Review URL: https://codereview.chromium.org/1451733002 Cr-Commit-Position: refs/heads/master@{#32011}
-
- 09 Nov, 2015 1 commit
-
-
mtrofin authored
While working on frame elision, I wanted to disassemble codegen in the debugger, as the code generation is progressing. I discovered we had a "Print" member on the x64 assembler, without any implementation. I pulled it up to AssemblerBase and gave it an implementation that should work for the other architectures. Also checked that ia32, x87, arm and arm64 assemblers didn't have such an implementation - free Print. Arm64 has a naming conflict with the v8::internal::Disassembler. I renamed the arm64 type with a more specific name. Opportunistically fixed a bug in the name converter. This debug-time printer doesn't provide a Code object, which should be OK with the name converters, by the looks of other APIs there. All this means is that when using the Print() API, we just get addresses dumped without any context (like what this address may be - a stub maybe, etc). This seems fine for the scenario. There may be other places that assume a Code object. Since this is a diagnostics-only scenario, for codegen developers, I feel it is reasonable to fix such other places as we find them. Review URL: https://codereview.chromium.org/1431933003 Cr-Commit-Position: refs/heads/master@{#31869}
-
- 12 Aug, 2015 1 commit
-
-
jfb authored
The operations were available on ARM64 and x86-32 but were unused. It has been conjectured that nontemporals can be used for rowhammer-like bitflips more easily than regular load/store operations. It is therefore desirable to avoid generating these instructions in the future. R= titzer, jochen, jln, Mark Seaborn, ruiq Review URL: https://codereview.chromium.org/1276113002 Cr-Commit-Position: refs/heads/master@{#30139}
-
- 20 May, 2015 1 commit
-
-
svenpanne authored
Alas, this involved quite a bit of copy-n-paste between the architectures, but this is caused by the very convoluted relationships, lifetimes and distribution of responsibilities. This should really be cleaned up by moving code around and using STL maps, but that's not really a priority right now. Bonus: Fixed leaks in the ARM64 disassembler tests. Review URL: https://codereview.chromium.org/1132943007 Cr-Commit-Position: refs/heads/master@{#28496}
-
- 22 Oct, 2014 1 commit
-
-
sigurds@chromium.org authored
Macro Assember, assembler and simulator for ARM64 were missing FRINTP. R=rodolph.perfetta@arm.com, ulan@chromium.org Review URL: https://codereview.chromium.org/669923002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24800 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
-
- 02 Apr, 2014 1 commit
-
-
alexandre.rames@arm.com authored
Without the 'BREAK' parameter, no instruction is generated when we are not running with the simulator. R=ulan@chromium.org Review URL: https://codereview.chromium.org/221903004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Mar, 2014 1 commit
-
-
jochen@chromium.org authored
BUG=354405 R=ulan@chromium.org, rodolph.perfetta@arm.com LOG=y Review URL: https://codereview.chromium.org/207823003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Mar, 2014 1 commit
-
-
jacob.bramley@arm.com authored
BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/194753002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Mar, 2014 1 commit
-
-
alexandre.rames@arm.com authored
Notes about a few TODOs handled in this patch: * In ProfileEntryHookStub::Generate: Stubs are always called with relocation. * In CreateArrayDispatchOneArgument: The branches to registers can't be conditional. We could use a jump table, but there are only 6 different kinds so it is likely not worth it. * In Builtins::Generate_StringConstructCode: Rename the argc register (x0) after its meaning changes. Remove a TODO: using a macro would not make the code clearer. * In Generate_JSEntryTrampolineHelper: Remove the TODO and raise an internal issue to investigate this. * In Disassembler::SubstituteBranchTargetField: Print the target address, but we don't have more info on the target. R=ulan@chromium.org Review URL: https://codereview.chromium.org/185793002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-