- 17 Apr, 2020 1 commit
-
-
Adam Kallai authored
NEONFormatDecoder::Substitute function utilizes snprintf() to substitute arrangement specifier into a format string. Some instruction format strings (e.i. ld4r) are specified with '%n$' positional parameter fields, but on Windows snprintf function doesn't support these parameters. NEONFormatDecoder logic is extended to handle four parameters in order to avoid using positional parameters. Bug: v8:10365 Change-Id: I79d4014c6b45d698ca47090a74c30e4eae856334 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2148776Reviewed-by: Martyn Capewell <martyn.capewell@arm.com> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67201}
-
- 25 Feb, 2020 1 commit
-
-
Georgia Kouveli authored
Change-Id: I22a6d25fb1d7b8e0db13df4a0be46d2f4104d20c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2064394Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Cr-Commit-Position: refs/heads/master@{#66422}
-
- 16 Sep, 2019 1 commit
-
-
Jakob Kummerow authored
Bug: v8:3770,v8:9666 Change-Id: I7b7652887d6b60fbb80e1100834bc7c9df0544d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1792909 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Martyn Capewell <martyn.capewell@arm.com> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#63801}
-
- 03 Sep, 2019 1 commit
-
-
Pierre Langlois authored
The `Instruction::IsValidImmPCOffset()` method was taking an `offset` argument in numbers of *instructions* while we were passing it numbers of *bytes*. See `Instruction::IsTargetInImmPCOffsetRange()` and `MacroAssembler::NeedExtraInstructionsOrRegisterBranch()`. As a result, we were 4 times too conservative when computing branch ranges going backwards, forcing us to generate the following sequence for TBZ more often than needed: ``` TBNZ <skip> B <target> skip: ``` This happened rarely for loops, but a lot when doing an early return from out-of-line calls to write barriers. Since out-of-line code is easily out of range of 8K, although the real range of TBZ is 32K. This fixes it by changing this method to take a byte offset instead of instructions, as this is more intuitive and in line with similar methods. For instance, `Instruction::ImmPcOffset()` returns an offset in bytes. The tests are adapted so that they would have caught such a bug: * TEST(far_branch_backward): This test used to only check the code worked if the branch was very far away, but it didn't test the range was correct. So this test was changed to check each branch type separately, and test in-range and out-of-range cases separately too. * TEST(far_branch_veneer_broken_link_chain): Because of the backwards range bug, this test wasn't actually testing what it should. The idea of the test is to make sure the MacroAssembler can still cope when the chain of links is broken after a veneer was emitted. But no veneers were ever emitted. Change-Id: Iddb5c683a71147455175f38fa7ae57da0a3e7337 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1781058Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#63518}
-
- 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}
-
- 19 Dec, 2018 1 commit
-
-
Sigurd Schneider authored
This refactoring reduces the LoC after preprocessor expansion by 370,322 gen ( 21 files): 71,503 to 1,631,168 ( 23x) src ( 624 files): 367,639 to 53,231,764 ( 145x) test ( 392 files): 490,770 to 37,450,839 ( 76x) third_party ( 432 files): 239,085 to 9,547,902 ( 40x) total ( 1521 files): 1,183,681 to 102,836,194 ( 87x) gen ( 21 files): 71,503 to 1,613,222 ( 23x) src ( 624 files): 367,634 to 52,964,046 ( 144x) test ( 392 files): 490,771 to 37,366,181 ( 76x) third_party ( 432 files): 239,085 to 9,547,902 ( 40x) total ( 1521 files): 1,183,677 to 102,465,872 ( 87x) Bug: v8:8562 Change-Id: Ib4e771c37471a2ff19c5538e62c038943cc74eaf Reviewed-on: https://chromium-review.googlesource.com/c/1382469Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#58349}
-
- 24 Oct, 2018 1 commit
-
-
Tom Tan authored
This is a reland of fcbb023b Original change's description: > Add Windows ARM64 ABI support to V8 > > This change added Windows ARM64 ABI support, major things are: > 1. Excluding x18 register from any usage because it is reserved as > platform register. Preserve alignment after the change. > 2. Fix the assumption of LP64 in arm64 backend. Windows ARM64 is > still LLP64. > 3. Stack guard page probe for large allocation on stack. > > Reference: > Windows ARM64 ABI: > https://docs.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?view=vs-2017 > > Bug: chromium:893460 > Change-Id: I325884ac8dab719154a0047141e18a9fcb8dff7e > Reviewed-on: https://chromium-review.googlesource.com/c/1285129 > Commit-Queue: Michael Achenbach <machenbach@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#56881} CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_arm64_dbg_recipe TBR=mlippautz@chromium.org Bug: chromium:893460 Change-Id: Icc45fd091c33f7df805842a70236b79b14756f52 Reviewed-on: https://chromium-review.googlesource.com/c/1297300 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#56965}
-
- 23 Oct, 2018 2 commits
-
-
Michael Hablich authored
This reverts commit fcbb023b. Reason for revert: blocks roll https://chromium-review.googlesource.com/c/chromium/src/+/1296315 Original change's description: > Add Windows ARM64 ABI support to V8 > > This change added Windows ARM64 ABI support, major things are: > 1. Excluding x18 register from any usage because it is reserved as > platform register. Preserve alignment after the change. > 2. Fix the assumption of LP64 in arm64 backend. Windows ARM64 is > still LLP64. > 3. Stack guard page probe for large allocation on stack. > > Reference: > Windows ARM64 ABI: > https://docs.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?view=vs-2017 > > Bug: chromium:893460 > Change-Id: I325884ac8dab719154a0047141e18a9fcb8dff7e > Reviewed-on: https://chromium-review.googlesource.com/c/1285129 > Commit-Queue: Michael Achenbach <machenbach@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#56881} TBR=bbudge@chromium.org,ulan@chromium.org,machenbach@chromium.org,hpayer@chromium.org,brucedawson@chromium.org,mlippautz@chromium.org,ahaas@chromium.org,bmeurer@chromium.org,Tom.Tan@microsoft.com Change-Id: I0b804af6dfca9409a655194fa6e5407f209be2dc No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:893460 Reviewed-on: https://chromium-review.googlesource.com/c/1296460Reviewed-by: Michael Hablich <hablich@chromium.org> Commit-Queue: Michael Hablich <hablich@chromium.org> Cr-Commit-Position: refs/heads/master@{#56912}
-
Tom Tan authored
This change added Windows ARM64 ABI support, major things are: 1. Excluding x18 register from any usage because it is reserved as platform register. Preserve alignment after the change. 2. Fix the assumption of LP64 in arm64 backend. Windows ARM64 is still LLP64. 3. Stack guard page probe for large allocation on stack. Reference: Windows ARM64 ABI: https://docs.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?view=vs-2017 Bug: chromium:893460 Change-Id: I325884ac8dab719154a0047141e18a9fcb8dff7e Reviewed-on: https://chromium-review.googlesource.com/c/1285129 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#56881}
-
- 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}
-
- 20 Jun, 2018 1 commit
-
-
Ben L. Titzer authored
This CL attempts to simplify the Assembler's dependency on the isolate, in particular on a global "serializer_enabled" mode contained therein. The "serializer_enabled" condition enabled and disabled a number of things in both the assemblers and macro assemblers. To make these dependencies explicit, the Assembler::IsolateData is refactored to be a proper Assembler::Options struct that controls specific assembler behaviors, with default settings easily computable from the isolate. This also helps make the contract for compiling WASM code more explicit (since WASM code needs to have reloc info recorded for external references) we can explicitly enable this recording without trying to "trick" the assembler using "serializer_enabled". R=jgruber@chromium.org CC=mstarzinger@chromium.org, herhut@chromium.org Change-Id: I7a8ba49df7b75b292d73ec2aa6e507c27a3d99c8 Reviewed-on: https://chromium-review.googlesource.com/1105982 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53890}
-
- 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}
-
- 13 Sep, 2017 1 commit
-
-
Mostyn Bramley-Moore authored
Previously instructions-arm64.h was alternatively defining or declaring some constants based on whether or not ARM64_DEFINE_FP_STATICS was defined, and it was assumed that exactly one file would include this header with the macro defined. In jumbo builds, the header guards in instructions-arm64.h meant that the resulting state of the header file would be whichever of the two cases that appeared first in the compilation unit. This would cause multiple definitions in some cases and no definitions in some other cases (or if you were really lucky, it would work out ok). Let's move these constants to a separate source file temporarily, to be excluded from jumbo compilation units. This code should eventually be replaced with a cleaner solution. Bug: chromium:746958 Change-Id: I7edb1821ef408afd50c6b236d63d3c07f955b58f Reviewed-on: https://chromium-review.googlesource.com/663898 Commit-Queue: Mostyn Bramley-Moore <mostynb@opera.com> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#48003}
-
- 31 May, 2017 1 commit
-
-
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}
-
- 22 May, 2017 1 commit
-
-
Wiktor Garbacz authored
Change-Id: I20ed35a7fb5104a9cc66bb54fa8966589c43d7f9 Reviewed-on: https://chromium-review.googlesource.com/507287Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Cr-Commit-Position: refs/heads/master@{#45458}
-
- 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}
-
- 17 Mar, 2017 1 commit
-
-
neis authored
This is a first step towards moving Turbofan code generation off the main thread. Summary of the changes: - AssemblerBase no longer has a pointer to the isolate. Instead, its constructor receives the few things that it needs from the isolate (on most architectures this is just the serializer_enabled flag). - RelocInfo no longer has a pointer to the isolate. Instead, the functions that need it take it as an argument. (There are currently still a few that implicitly access the isolate through a HeapObject.) - The MacroAssembler now explicitly holds a pointer to the isolate (before, it used to get it from the Assembler). - The jit_cookie also moved from AssemblerBase to the MacroAssemblers, since it's not used at all in the Assemblers. - A few architectures implemented parts of the Assembler with the help of a Codepatcher that is based on MacroAssembler. Since the Assembler no longer has the isolate, but the MacroAssembler still needs it, this doesn't work anymore. Instead, these Assemblers now use a new PatchingAssembler. BUG=v8:6048 Review-Url: https://codereview.chromium.org/2732273003 Cr-Commit-Position: refs/heads/master@{#43890}
-
- 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}
-
- 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}
-
- 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
-
-
jacob.bramley authored
These trigger warnings on cross-builds under GCC. BUG= Review URL: https://codereview.chromium.org/1151463002 Cr-Commit-Position: refs/heads/master@{#28509}
-
- 15 May, 2015 1 commit
-
-
martyn.capewell authored
Enable clang's shorten-64-to-32 warning flag on ARM64, and fix the warnings that arise. BUG= Review URL: https://codereview.chromium.org/1131573006 Cr-Commit-Position: refs/heads/master@{#28412}
-
- 19 Mar, 2015 1 commit
-
-
rodolph.perfetta authored
BUG= Review URL: https://codereview.chromium.org/1016073002 Cr-Commit-Position: refs/heads/master@{#27296}
-
- 11 Sep, 2014 1 commit
-
-
baptiste.afsa@arm.com authored
R=bmeurer@chromium.org, ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/559073003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23856 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
-
- 03 Jul, 2014 1 commit
-
-
m.m.capewell@googlemail.com authored
R=ulan@chromium.org, bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/363293004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22198 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
-
- 09 Jun, 2014 1 commit
-
-
rodolph.perfetta@arm.com authored
This is the first patch to improve literal pool handling in arm64. Cleans up assembler/macro-assembler access to literal pools. BUG= R=rmcilroy@chromium.org Review URL: https://codereview.chromium.org/318773009 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21723 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 Apr, 2014 1 commit
-
-
alexandre.rames@arm.com authored
This fixes an out-of-range label error for an ADR instruction in the mozilla/data/js1_5/Regress/regress-280769-2.js test. R=ulan@chromium.org Review URL: https://codereview.chromium.org/222433002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20545 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
-
- 18 Mar, 2014 1 commit
-
-
svenpanne@chromium.org authored
We no longer rely on the (adventurous) assumption that the class Instruction is empty, implying sizeof(Instruction) == 1. This will greatly simplify upcoming refactorings. R=rodolph.perfetta@gmail.com Review URL: https://codereview.chromium.org/201843003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Mar, 2014 1 commit
-
-
alexandre.rames@arm.com authored
R=ulan@chromium.org Review URL: https://codereview.chromium.org/194473005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Feb, 2014 1 commit
-
-
alexandre.rames@arm.com authored
Code generation would fail when assembling a branch to a label that is bound outside the immediate range of the instruction. A64 is sensitive to this, as the various branching instructions have different ranges, going down to +-32KB for TBZ/TBNZ. The MacroAssembler is augmented to handle branches to targets that may exceed the immediate range of instructions. When branching backward to a label exceeding the instruction range, the MacroAssembler can simply tweak the generated code to use an unconditional branch with a longer range. For example instead of B(cond, &label); the MacroAssembler can generate: b(InvertCondition(cond), &done); b(&label); bind(&done); Since the target is not known when the branch is emitted, forward branches uses a different mechanism. The MacroAssembler keeps track of forward branches to unbound labels. When the code generation approaches the end of the range of a branch, a veneer is generated for the branch. BUG=v8:3148 LOG=Y R=ulan@chromium.org Review URL: https://codereview.chromium.org/169893002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-