- 04 Apr, 2018 1 commit
-
-
Ivo Markovic authored
Code targets are not PC relative encoded on MIPS and are removed from RelocInfo::kApplyMask. Change-Id: Ie893626f38bfb7457693df34a22f5cb6bca2cd4c Reviewed-on: https://chromium-review.googlesource.com/995435Reviewed-by:
Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#52353}
-
- 03 Apr, 2018 2 commits
-
-
Ben Smith authored
This is a follow-up to https://chromium-review.googlesource.com/981687. When a wasm function has a large stack frame, the x64 code generator performs the stack overflow check before constructing the frame. This requires the use of the `address_of_real_stack_limit` external reference. This reference is thread local, so if it is not relocated the stack overflow check will always fail. Bug: chromium:808848 Change-Id: I0edf3fe5a006242fc50d0bff44cd9dd0e7d85bd9 Reviewed-on: https://chromium-review.googlesource.com/982906 Commit-Queue: Ben Smith <binji@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52330}
-
Ivica Bogosavljevic authored
Summary of work done: * Simplify complicated CompareAndBranch instructions * Mark BC1EQZ and BC1NEZ as compact branches in simulator * Remove unneeded nops for BC1EQZ and BC1NEZ * Block trampolines for delay slot of BC1T and BC1F Change-Id: I86f3a497e6e9ac73075bb51653c2d4c6ab8454b9 Reviewed-on: https://chromium-review.googlesource.com/986260 Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Reviewed-by:
Sreten Kovacevic <sreten.kovacevic@mips.com> Cr-Commit-Position: refs/heads/master@{#52324}
-
- 27 Mar, 2018 1 commit
-
-
Ivica Bogosavljevic authored
Change-Id: I41c3945d72116dd501bf34bafd8d21c205aed17c Reviewed-on: https://chromium-review.googlesource.com/973445Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Sreten Kovacevic <sreten.kovacevic@mips.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#52248}
-
- 23 Mar, 2018 1 commit
-
-
Peter Marshall authored
Part of ongoing work to remove the construct_stub. For non-constructable functions, don't use the non-constructable stub, instead handle non-constructables explicitly in ConstructFunction. Bug: v8:7503 Change-Id: I24aa7c2d5e934d5e80cd96afaf005342773d57af Reviewed-on: https://chromium-review.googlesource.com/975961 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52185}
-
- 22 Mar, 2018 1 commit
-
-
Ulan Degenbaev authored
This patch also moves Shell::Exit to base::OS::ExitProcess. Bug: chromium:824214 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I6565eebe9332557bbfb8e67c88890b7099b1db98 Reviewed-on: https://chromium-review.googlesource.com/975403Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#52150}
-
- 21 Mar, 2018 2 commits
-
-
Mike Stanton authored
This introduces masking of loads with speculation bit during code generation. At the moment, this is done only under the --branch-load-poisoning flag, and this CL enlarges the set of supported platforms from {x64, arm, arm64} to {x64, arm, arm64, mips, mips64}. Overview of changes: - new register configuration configuration with one register reserved for the speculation poison/mask (kSpeculationPoisonRegister). - in codegen, we introduce an update to the poison register at the starts of all successors of branches (and deopts) that are marked as safety branches (deopts). - in memory optimizer, we lower all field and element loads to PoisonedLoads. - poisoned loads are then masked in codegen with the poison register. (In this CL, this last step is left as a TODO. You can run with the flag, though mitigations will just not be effective at this time). * only integer loads are masked at the moment. TBR=mstarzinger@chromium.org Change-Id: Ie6eb8719bf85d49c03b4a28e2f054480195a1471 Reviewed-on: https://chromium-review.googlesource.com/973616 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#52123}
-
jgruber authored
This is a reland of 25207bf8 Original change's description: > Remove isolate.h include from external-reference.h > > This triggers a bunch of other necessary include tweaks for files that > used to work until now because they indirectly included isolate.h > through external-reference.h. > > Bug: v8:6666 > Change-Id: I8d48db44dcc321fa32a6279f3ddacb41ab58f975 > Reviewed-on: https://chromium-review.googlesource.com/972042 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52103} TBR=petermarshall@chromium.org Bug: v8:6666 Change-Id: Ibbcf2c116dc3b202d325fd7644e8755ffe583ef1 Reviewed-on: https://chromium-review.googlesource.com/973062Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52108}
-
- 19 Mar, 2018 3 commits
-
-
Michael Stanton authored
This reverts commit 46a3c772. Reason for revert: This is actually not quite ready. What we need is a speculation free poisoning, and if we do another branch, then I think that won't happen. Original change's description: > [turbofan] Masking/poisoning in codegen (optimized code, mips & mips64) > > This introduces masking of loads with speculation bit during code generation. > At the moment, this is done only under the > --branch-load-poisoning flag, and this CL enlarges the set of supported > platforms from {x64, arm, arm64} to {x64, arm, arm64, mips, mips64}. > > Overview of changes: > - new register configuration configuration with one register reserved for > the speculation poison/mask (kSpeculationPoisonRegister). > - in codegen, we introduce an update to the poison register at the starts > of all successors of branches (and deopts) that are marked as safety > branches (deopts). > - in memory optimizer, we lower all field and element loads to PoisonedLoads. > - poisoned loads are then masked in codegen with the poison register. > * only integer loads are masked at the moment. > > Bug: chromium:798964 > Change-Id: I211395b8305ed0ad9288d6da48fa159fa970c827 > Reviewed-on: https://chromium-review.googlesource.com/951382 > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> > Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> > Cr-Commit-Position: refs/heads/master@{#52042} TBR=mvstanton@chromium.org,mstarzinger@chromium.org,ivica.bogosavljevic@mips.com Change-Id: Ief4d9ef56d918172f0b545d321a64b1ab5b46915 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:798964 Reviewed-on: https://chromium-review.googlesource.com/969041Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#52045}
-
Mike Stanton authored
This introduces masking of loads with speculation bit during code generation. At the moment, this is done only under the --branch-load-poisoning flag, and this CL enlarges the set of supported platforms from {x64, arm, arm64} to {x64, arm, arm64, mips, mips64}. Overview of changes: - new register configuration configuration with one register reserved for the speculation poison/mask (kSpeculationPoisonRegister). - in codegen, we introduce an update to the poison register at the starts of all successors of branches (and deopts) that are marked as safety branches (deopts). - in memory optimizer, we lower all field and element loads to PoisonedLoads. - poisoned loads are then masked in codegen with the poison register. * only integer loads are masked at the moment. Bug: chromium:798964 Change-Id: I211395b8305ed0ad9288d6da48fa159fa970c827 Reviewed-on: https://chromium-review.googlesource.com/951382Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#52042}
-
jgruber authored
This is a reland of f1b1ec70 Original change's description: > [builtins] Remove off-heap builtins from the snapshot > > This CL is the final major step towards shipping off-heap-safe builtins > embedded into the binary. > > Prior to snapshot serialization, we now: > * create the embedded blob containing off-heap instruction streams, > * use that to generate embedded.cc (containing embedded binary data), > * replace off-heap-safe builtins with trampolines, > * and serialize those into the final snapshot. > > The new RelocInfo::OFF_HEAP_TARGET kind is used to fix up trampoline > targets on deserialization. > > Bug: v8:6666 > Change-Id: Ib07aea9e3bd7ecdec42291c1388b3a7453ea96ce > Reviewed-on: https://chromium-review.googlesource.com/950775 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#51960} TBR=yangguo@chromium.org,mstarzinger@chromium.org Cq-Include-Trybots: luci.v8.try:v8_mac64_dbg,v8_mac64_rel Bug: v8:6666 Change-Id: Id9954af3c8195754ff3658c4603858904fcf88c4 Reviewed-on: https://chromium-review.googlesource.com/964481 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52006}
-
- 16 Mar, 2018 2 commits
-
-
Ivica Bogosavljevic authored
Rewrite overflow instructions in order to allow branch poisoning. Change-Id: I5f97808c7eac08927243780a0ae0c48f6de0c45b Reviewed-on: https://chromium-review.googlesource.com/964321 Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Reviewed-by:
Sreten Kovacevic <sreten.kovacevic@mips.com> Cr-Commit-Position: refs/heads/master@{#51984}
-
Ilija Pavlovic authored
Enumerated constants CODE_AGE_MARKER_NOP and CODE_AGE_MARKER_NOP were defined for using in code aging. Support for code aging is removed with following: 8bf15bf1 Reland "[Compiler] Remove code aging support.". After this, mentioned constants are not used anymore in MIPS implementation and therefore they can be removed. TEST= BUG= Change-Id: Ica2b3ceeb94a8fc1110760beff159e82024d3ed3 Reviewed-on: https://chromium-review.googlesource.com/966183 Commit-Queue: Ilija Pavlović <ilija.pavlovic@mips.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Reviewed-by:
Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#51983}
-
- 15 Mar, 2018 2 commits
-
-
Jakob Gruber authored
This reverts commit f1b1ec70. Reason for revert: Tentative revert for https://logs.chromium.org/v/?s=chromium%2Fbb%2Fclient.v8.fyi%2FV8-Blink_Mac%2F13696%2F%2B%2Frecipes%2Fsteps%2Fwebkit_unit_tests%2F0%2Fstdout Original change's description: > [builtins] Remove off-heap builtins from the snapshot > > This CL is the final major step towards shipping off-heap-safe builtins > embedded into the binary. > > Prior to snapshot serialization, we now: > * create the embedded blob containing off-heap instruction streams, > * use that to generate embedded.cc (containing embedded binary data), > * replace off-heap-safe builtins with trampolines, > * and serialize those into the final snapshot. > > The new RelocInfo::OFF_HEAP_TARGET kind is used to fix up trampoline > targets on deserialization. > > Bug: v8:6666 > Change-Id: Ib07aea9e3bd7ecdec42291c1388b3a7453ea96ce > Reviewed-on: https://chromium-review.googlesource.com/950775 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#51960} TBR=yangguo@chromium.org,mstarzinger@chromium.org,jgruber@chromium.org Change-Id: I58dd4bf9a99d37416855b48807150e1dd9ecd9e8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6666 Reviewed-on: https://chromium-review.googlesource.com/964363Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#51962}
-
jgruber authored
This CL is the final major step towards shipping off-heap-safe builtins embedded into the binary. Prior to snapshot serialization, we now: * create the embedded blob containing off-heap instruction streams, * use that to generate embedded.cc (containing embedded binary data), * replace off-heap-safe builtins with trampolines, * and serialize those into the final snapshot. The new RelocInfo::OFF_HEAP_TARGET kind is used to fix up trampoline targets on deserialization. Bug: v8:6666 Change-Id: Ib07aea9e3bd7ecdec42291c1388b3a7453ea96ce Reviewed-on: https://chromium-review.googlesource.com/950775 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#51960}
-
- 09 Mar, 2018 1 commit
-
-
jgruber authored
It turns out that with the help of Code::Instruction{Start,End,Size} helpers, we don't need custom profiler methods. InstructionStream is now all-static. Bug: v8:6666 Change-Id: I59e1d2d2cb72c128725a1ed03f11506d40e76224 Reviewed-on: https://chromium-review.googlesource.com/947973 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#51837}
-
- 08 Mar, 2018 1 commit
-
-
Yang Guo authored
R=bmeurer@chromium.org, leszeks@chromium.org Bug: v8:178 Change-Id: I00411ddfee458a71464dcba7f1b504b46c70ef06 Reviewed-on: https://chromium-review.googlesource.com/953002Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#51811}
-
- 05 Mar, 2018 3 commits
-
-
Marja Hölttä authored
Implement in-place weak reference handling in GC. Turn FeedbackVector::optimized_code_or_smi into an in-place weak reference (this is the only in-place weak reference at this point). (See bug for design doc.) BUG=v8:7308 TBR=yangguo@chromium.org Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I16d65dc768f10ed431252e23a0df07bee9063534 Reviewed-on: https://chromium-review.googlesource.com/948493 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#51731}
-
Sigurd Schneider authored
This reverts commit 07c1e641. Reason for revert: Breaks TSAN build. https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/19784 Original change's description: > [in-place weak refs] Add in-place weak references & migrate one WeakCell to it. > > Implement in-place weak reference handling in GC. > > Turn FeedbackVector::optimized_code_or_smi into an in-place weak reference (this > is the only in-place weak reference at this point). > > (See bug for design doc.) > > BUG=v8:7308 > > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.chromium.linux:linux_chromium_rel_ng > Change-Id: I0f9f992cb4ee0457c40b7c868317dfb607bfb906 > Reviewed-on: https://chromium-review.googlesource.com/873638 > Commit-Queue: Marja Hölttä <marja@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#51722} TBR=ulan@chromium.org,marja@chromium.org,yangguo@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,ishell@chromium.org,bmeurer@chromium.org Change-Id: I75a7dd99fbfd2f5922a6c4d2000bea2adfdeac11 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7308 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/948522Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#51723}
-
Marja Hölttä authored
Implement in-place weak reference handling in GC. Turn FeedbackVector::optimized_code_or_smi into an in-place weak reference (this is the only in-place weak reference at this point). (See bug for design doc.) BUG=v8:7308 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I0f9f992cb4ee0457c40b7c868317dfb607bfb906 Reviewed-on: https://chromium-review.googlesource.com/873638 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51722}
-
- 22 Feb, 2018 1 commit
-
-
Benedikt Meurer authored
This is preparatory cleanup work for eventually tracking the functions (rather than concrete closures) in the CALL_IC, also for builtins like the default PromiseCapability [[Resolve]] and [[Reject]] functions. It adds a new FeedbackCell type, which is used by JSFunctions consistently now to reference the feedback vector (or undefined if not the function is not compiled yet or is a native/asm.js function). This also changes the calling convention for FastNewClosure builtin and the JSCreateClosure operator in TurboFan to carry the FeedbackCell here instead of the parent FeedbackVector and the slot index. In addition we eliminate the now unused %InterpreterNewClosure runtime function. Bug: v8:2206, v8:7253, v8:7310 Change-Id: Ib4ce456e276e0273e57c163dcdd0b33abf863656 Reviewed-on: https://chromium-review.googlesource.com/928403 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#51474}
-
- 21 Feb, 2018 2 commits
-
-
sreten.kovacevic authored
Refactor existing and add new Move instructions that get uint32_t and uint64_t to prevent compiler to set quiet-nan on passing float and double by value. Change-Id: I544e98e1bb288666140a3b1d2437b31d9e36ca55 Reviewed-on: https://chromium-review.googlesource.com/928722 Commit-Queue: Sreten Kovacevic <sreten.kovacevic@mips.com> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#51439}
-
Nico Weber authored
x86, arm, arm64: no change in behavior mips, mips64: disasm-mips(64).cc grows an UNREACHABLE that's maybe optimistic (but if it's not true, then that looks like a current unintentional fallthrough at that spot) test-js-typed-lowering.cc: looks like a clear bug, but test-only code Follow-up to https://chromium-review.googlesource.com/c/v8/v8/+/911731 which did this for x64. Doesn't turn on the warning yet. Bug: chromium:812686 Change-Id: I7dd79c9885c90f41dd7e3a595256a954ab0ae643 Reviewed-on: https://chromium-review.googlesource.com/923528Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#51437}
-
- 19 Feb, 2018 1 commit
-
-
sreten.kovacevic authored
Since these instructions will be used in liftoff as well as they are used in code generator, they are transfered to macro assembler. Change-Id: I48e60ccc7586252374bc66b7b72bbe23c2d0c0a6 Reviewed-on: https://chromium-review.googlesource.com/924194Reviewed-by:
Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#51366}
-
- 15 Feb, 2018 1 commit
-
-
Michael Starzinger authored
R=rmcilroy@chromium.org Change-Id: I0f6d628e49c1a3e3123c8e6f59f584fd5bb3a0ca Reviewed-on: https://chromium-review.googlesource.com/919064Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#51307}
-
- 13 Feb, 2018 4 commits
-
-
Camillo Bruni authored
FATAL(...) avoid creating literal strings for line number in release mode. Bug: v8:7310 Change-Id: I6a3e329adce36b0efcc240068f6a241d1cca4b6f Reviewed-on: https://chromium-review.googlesource.com/915066Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#51277}
-
Mike Stanton authored
This introduces masking of loads with speculation bit during code generation. At the moment, this is done only for x64 optimized code, under the --branch-load-poisoning flag. Overview of changes: - new register configuration configuration with one register reserved for the speculation poison/mask (kSpeculationPoisonRegister). - in codegen, we introduce an update to the poison register at the starts of all successors of branches (and deopts) that are marked as safety branches (deopts). - in memory optimizer, we lower all field and element loads to PoisonedLoads. - poisoned loads are then masked in codegen with the poison register. * only integer loads are masked at the moment. Bug: chromium:798964 Change-Id: Ie51fdbde578fc289dff029794f3cfe8eaf33e1ef Reviewed-on: https://chromium-review.googlesource.com/901625 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51272}
-
Michael Starzinger authored
R=mvstanton@chromium.org No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: I6175fd4c4e2999667ba04c89df5cd3f2b380ae0a Reviewed-on: https://chromium-review.googlesource.com/916263Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#51271}
-
Michael Starzinger authored
Now that instruction cache flushing is process-wide and no longer bound to a specific {Isolate}, we can also make setters on the {RelocInfo} structure equally independent of the {Isolate} and remove the respective parameter everywhere. R=ahaas@chromium.org Change-Id: I7b21f6f79d0d6cf73424019b9e808c3ec76de08e Reviewed-on: https://chromium-review.googlesource.com/915922Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#51269}
-
- 12 Feb, 2018 2 commits
-
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: Ifa641523a384a55fc9565d9447c6365cffbde4d1 Reviewed-on: https://chromium-review.googlesource.com/911904Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#51237}
-
Ross McIlroy authored
Moves generation of speculation poison to be based on the PC target vs the actual PC being executed. The speculation poison is generated in the prologue of the generated code if CompilationInfo::kGenerateSpeculationPoison is set. The result is stored in a known register, which can then be read using the SpeculationPoison machine node. Currently we need to ensure the SpeculationPoison node is scheduled right after the code prologue so that the poison register doesn't get clobbered. This is currently not verified, however it's only use is in RawMachineAssembler where it is manually scheduled early. The Ignition bytecode handlers are updated to use this speculation poison rather than one generated by comparing the target bytecode. BUG=chromium:798964 Change-Id: I2a3d0cfc694e88d7a8fe893282bd5082f693d5e2 Reviewed-on: https://chromium-review.googlesource.com/893160 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#51229}
-
- 09 Feb, 2018 3 commits
-
-
Michael Starzinger authored
This refactors the instruction cache simulation to now be maintained process-wide (as opposed to be per Isolate). It prepares for allowing to share code between Isolates (e.g. WebAssembly or shared builtins) while still allowing to simulate execution of such shared code. R=clemensh@chromium.org Change-Id: I5a6f083f4e32597565dc646f13b4445014c0daaa Reviewed-on: https://chromium-review.googlesource.com/909130Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#51219}
-
Ivica Bogosavljevic authored
Change-Id: I9cc0cc5ffe9175132634bea87cfc24cc5439e592 Reviewed-on: https://chromium-review.googlesource.com/911389Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#51216}
-
Ivica Bogosavljevic authored
Fix 876f37c3 Wrong instruction use causes around 600 failures on MIPS64 bots Change-Id: I66bd9689c5e5b5e9bf40a0e7063dbbcfed04fcf7 Reviewed-on: https://chromium-review.googlesource.com/908465Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#51198}
-
- 07 Feb, 2018 2 commits
-
-
Yang Guo authored
We reuse most of the infrastructure to set break points, with minor differences when we encounter functions where we can only break on entry: - PrepareFunctionForBreakPoints simply deopts all functions. - Break point objects have the canonical source position 0. - Break point is set/checked/cleared via bit on the DebugInfo. - Debug::Break do not continue stepping since stepping is implemented via regular break points and therefore do not interfere with break on entry. I promise to add more tests. Bug: v8:178 Change-Id: Ifc8231995c771286db0b848b811e1c3ad3b12494 Reviewed-on: https://chromium-review.googlesource.com/906245 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#51152}
-
Ross McIlroy authored
Port https://chromium-review.googlesource.com/c/v8/v8/+/888700 to MIPS Change-Id: I16cd2de41c790dea307efa7c78125dec1c4304a4 Reviewed-on: https://chromium-review.googlesource.com/906768Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#51151}
-
- 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}
-
- 01 Feb, 2018 1 commit
-
-
jgruber authored
If enabled, this mode moves code for isolate-independent builtins off the JS heap at Isolate creation. The Code object itself is rewritten to tail-call the off-heap instruction stream. Drive-by-fix: Support lazy deserialization in asm-wasm instantiation. Bug: v8:6666 Change-Id: Ic109527ff478cfc6e8942e924413fc7532da6eaf Reviewed-on: https://chromium-review.googlesource.com/888562Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#51015}
-
- 31 Jan, 2018 2 commits
-
-
Predrag Rudic authored
For mips, if 'mips_arch_variant=="r6"' and if 'mips_use_msa' flag is set to 'true', then test-run-wasm-simd tests won't be skipped for mips. It will also force 'MIPS_SIMD' bit in CpuFeatures to be set. ARM processors are assumed to support SIMD. Change-Id: Iea668b97ef995ca4949ddbf2ffc734aad89d3aa3 Reviewed-on: https://chromium-review.googlesource.com/868430Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#50981}
-
sreten.kovacevic authored
Register t3 is not allocatable, so register a7 is used instead. Change-Id: Ic198f038a10b4c891b417656d639477aedf6b703 Reviewed-on: https://chromium-review.googlesource.com/891823Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#50979}
-