- 26 Apr, 2018 3 commits
-
-
jgruber authored
This is a reland of f5d30851 Original change's description: > [builtins] Introduce further constant & external reference indirections > > This introduces further indirections for embedded constants and > external references for builtins generated by the macro-assembler. > The used mechanisms (LookupConstant and LookupExternalReference) are > identical to what we already use in CSA. > > Almost all builtins are now isolate-independent in both release and > debug modes. snapshot_blob.bin is roughly 670K smaller in embedded > builds vs. non-embedded builds, while libv8.so is roughly 280K larger. > > Bug: v8:6666 > Change-Id: I7a6c2193ef5a763e6cf7543dd51597d6fff6c110 > Reviewed-on: https://chromium-review.googlesource.com/1006581 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52810} TBR=mstarzinger@chromium.org Bug: v8:6666 Change-Id: I73dfe207f2c5f79a9a06c165c75f5619e88a5a17 Reviewed-on: https://chromium-review.googlesource.com/1030550Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52819}
-
jgruber authored
This reverts commit f5d30851. Breakages: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20noi18n%20-%20debug/builds/20370 https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20custom%20snapshot%20-%20debug/builds/21174 TBR=yangguo@chromium.org No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6666 Change-Id: Ic4d28fccf647aadcac0a60430b7fb66d22ce4577 Reviewed-on: https://chromium-review.googlesource.com/1030431Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52813}
-
jgruber authored
This introduces further indirections for embedded constants and external references for builtins generated by the macro-assembler. The used mechanisms (LookupConstant and LookupExternalReference) are identical to what we already use in CSA. Almost all builtins are now isolate-independent in both release and debug modes. snapshot_blob.bin is roughly 670K smaller in embedded builds vs. non-embedded builds, while libv8.so is roughly 280K larger. Bug: v8:6666 Change-Id: I7a6c2193ef5a763e6cf7543dd51597d6fff6c110 Reviewed-on: https://chromium-review.googlesource.com/1006581 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52810}
-
- 24 Apr, 2018 1 commit
-
-
Sigurd Schneider authored
Bug: v8:7679 Change-Id: If8b6d9ad4f93eb2b98878c916625b7a344e5900c Reviewed-on: https://chromium-review.googlesource.com/1021532Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#52756}
-
- 23 Apr, 2018 4 commits
-
-
Sigurd Schneider authored
This manages input_index directly in TranslatedFrame::iterator. I think the overhead is low enough, expecially since all uses of the iterator, except one, compute input_index anyway. Bug: v8:7679 Change-Id: I7e5fc08ff23a49415265afd617248c55f4d95e19 Reviewed-on: https://chromium-review.googlesource.com/1021711 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#52739}
-
Sigurd Schneider authored
This CL applies the previously introduced stack abstraction for constructing output frames to constructor stub frames. Bug: v8:7679 Change-Id: I707b3d11c033b29873317f5798e1ee89c13e9907 Reviewed-on: https://chromium-review.googlesource.com/1021410 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#52730}
-
Sigurd Schneider authored
This CL applies the previously introduced stack abstraction for constructing output frames to argument adaptor frames. Bug: v8:7679 Change-Id: I07cb4447a8af510b24a8489d8abd047845a23e62 Reviewed-on: https://chromium-review.googlesource.com/1019148 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#52727}
-
Sigurd Schneider authored
This CL applies the previously introduced stack abstraction for constructing output frames to interpreted frames. Bug: v8:7679 Change-Id: I8f62b40f76f3ea43145de37429c84fcaeb12a935 Reviewed-on: https://chromium-review.googlesource.com/1019146 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#52717}
-
- 20 Apr, 2018 1 commit
-
-
Sigurd Schneider authored
This CL introduces an stack abstraction for writing frame descriptions. Previously, we managed the output offset by hand, which is verbose and error prone. This CL introduced FrameWriter, which offers a stack abstraction with push operations for constructing the output frame descriptions. The abstraction is only applied to DoComputeBuiltinContinuation; following CLs will apply it to the other DoCompute* functions. Bug: v8:7679 Change-Id: Ia6e34de1ed63ba9245e2a08945b1e0548562ed43 Reviewed-on: https://chromium-review.googlesource.com/1019143Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#52714}
-
- 17 Apr, 2018 1 commit
-
-
Jakob Kummerow authored
Casting from a floating-point type to an integer type is undefined behavior if the integral part of the float cannot be represented in the range of the int. Bug: v8:3770, chromium:831145 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I2e85ea8b0f09bbeeb3e0dcc1135fc747fa312f6d Reviewed-on: https://chromium-review.googlesource.com/1011651 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#52631}
-
- 14 Apr, 2018 1 commit
-
-
Jakob Kummerow authored
The "Address" type is V8's general-purpose type for manipulating memory addresses. Per the C++ spec, pointer arithmetic and pointer comparisons are undefined behavior except within the same array; since we generally don't operate within a C++ array, our general-purpose type shouldn't be a pointer type. Bug: v8:3770 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ib96016c24a0f18bcdba916dabd83e3f24a1b5779 Reviewed-on: https://chromium-review.googlesource.com/988657 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#52601}
-
- 10 Apr, 2018 3 commits
-
-
Matheus Marchini authored
Before Turbofan/Ignition it was possible to use external profilers to sample running V8/Node.js processes and generate reports/FlameGraphs from that. It's still possible to do so, but non-optimized JavaScript functions appear in the stack as InterpreterEntryTrampoline. This commit adds a runtime flag which makes interpreted frames visible on the process' native stack as distinguishable functions, making the sampled data gathered by external profilers such as Linux perf and DTrace more useful. R=bmeurer@google.com, franzih@google.com, jarin@google.com, yangguo@google.com Bug: v8:7155 Change-Id: I3dc8876aa3cd9f1b9766624842a7cc354ccca415 Reviewed-on: https://chromium-review.googlesource.com/959081 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52533}
-
Sigurd Schneider authored
This CL adds a context slot to builtin continuation frames which stores the context, even for stub continuations. This context slot is used in NotifyDeoptimized to provide the JavaScript context. Bug: v8:7639 Change-Id: Ibdfe24141a759cda6d319db0933bea57919dc171 Reviewed-on: https://chromium-review.googlesource.com/1002776 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52522}
-
Sigurd Schneider authored
Bug: v8:7570 Change-Id: I1653f216962b99161e21e0e8342164f10d5928cb Reviewed-on: https://chromium-review.googlesource.com/1004579Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#52510}
-
- 09 Apr, 2018 3 commits
-
-
Sigurd Schneider authored
This CL ensures that the frame pointer register is set to the innermost frame for builtin continuations. To make this work, this CL contains a temporary fix for NotifyDeoptimized, which needs to skip these frames in order to obtain a valid JavaScript context. Bug: v8:7584, v8:7639 Change-Id: I8ea318e5441950fdf45d909e1f3ee649daf38dca Reviewed-on: https://chromium-review.googlesource.com/1001899Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#52479}
-
Sigurd Schneider authored
This CL adds a forced GC point in Deoptimizer::MaterializeHeapObjects, which will catch problems with deoptimized frames early and improve reproducibility. Bug: v8:7584 Change-Id: Idfad584e821b777542cf8fce673a9080c64d5d7b Reviewed-on: https://chromium-review.googlesource.com/1002655Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#52478}
-
Sigurd Schneider authored
For BuiltinContinuationFrames we stored the frame-height as a plain value, which did not cause problems because height (in bytes) always looks like a Smi to the GC. This CL introduces proper Smi encoding. Bug: v8:7584 Change-Id: I5e3c41c2e576926bbb2bad7dbe0f277cc017b495 Reviewed-on: https://chromium-review.googlesource.com/1000782Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#52476}
-
- 05 Apr, 2018 1 commit
-
-
jgruber authored
In order to clarify the difference between, e.g., InstructionStart and instruction_start, rename as follows: Code::instruction_start -> raw_instruction_start Code::instruction_end -> raw_instruction_end Code::instruction_size -> raw_instruction_size The difference between the camel-case and raw_* function families is in how they handle off-heap-trampoline Code objects. For example, when called on an off-heap-trampoline: raw_instruction_start returns the trampoline's entry point, while InstructionStart returns the off-heap code's entry point (located in the .text section of the binary). Some callsites were updated to call the camel-case function family as appropriate. Bug: v8:6666 Change-Id: I4a572f47c2d161a853599d7c17879e263b0d1a87 Reviewed-on: https://chromium-review.googlesource.com/997532 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52387}
-
- 04 Apr, 2018 1 commit
-
-
Sigurd Schneider authored
This CL allows builtin continuations to handle pending exceptions. This implements exception handling for the promise constructor in case of deoptimization. Bug: v8:7584 Change-Id: Ib5df5eb6606abb3f9690f294397981858dbdbf25 Reviewed-on: https://chromium-review.googlesource.com/983912 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#52340}
-
- 03 Apr, 2018 1 commit
-
-
Sigurd Schneider authored
Builtin continuation frames know their height now. This is prework to allow UnwindAndFindHandler to reconstructor the stack pointer for the ContinueToBuiltin trampoline. Bug: v8:7584 Change-Id: If1361f5bbac130c284cd46c0d39cc81e2df613d3 Reviewed-on: https://chromium-review.googlesource.com/983633Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#52322}
-
- 28 Mar, 2018 1 commit
-
-
Sigurd Schneider authored
R=jarin@chromium.org Bug: v8:7584 Change-Id: I299e49452d70891190490f44f2db299dfa7d864c Reviewed-on: https://chromium-review.googlesource.com/981150Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#52262}
-
- 23 Mar, 2018 3 commits
-
-
Alexey Kozyatinskiy authored
This is a reland of 6da438fd Original change's description: > [runtime] introduced instrance type for each context type > > Each context type get own instance type: > - we can make CSA checks more strict in couple places, > - it is requires step for advanced evaluation without side effects. > > R=yangguo@chromium.org > > Bug: v8:7588 > Change-Id: I585e8b55a280a909fc3c6069ed30e34b7040d0c7 > Reviewed-on: https://chromium-review.googlesource.com/977041 > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52191} Bug: v8:7588 Change-Id: I80110ff814c0315d7ca694b7d0aef5b10df614f0 Reviewed-on: https://chromium-review.googlesource.com/978584Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#52196}
-
Michael Achenbach authored
This reverts commit 6da438fd. Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/18287 Original change's description: > [runtime] introduced instrance type for each context type > > Each context type get own instance type: > - we can make CSA checks more strict in couple places, > - it is requires step for advanced evaluation without side effects. > > R=yangguo@chromium.org > > Bug: v8:7588 > Change-Id: I585e8b55a280a909fc3c6069ed30e34b7040d0c7 > Reviewed-on: https://chromium-review.googlesource.com/977041 > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52191} TBR=yangguo@chromium.org,mstarzinger@chromium.org,kozyatinskiy@chromium.org Change-Id: I17a24b5b99552941d7a8ec54ebf6d11d6d1a66d8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7588 Reviewed-on: https://chromium-review.googlesource.com/977974Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52193}
-
Alexey Kozyatinskiy authored
Each context type get own instance type: - we can make CSA checks more strict in couple places, - it is requires step for advanced evaluation without side effects. R=yangguo@chromium.org Bug: v8:7588 Change-Id: I585e8b55a280a909fc3c6069ed30e34b7040d0c7 Reviewed-on: https://chromium-review.googlesource.com/977041 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52191}
-
- 21 Mar, 2018 1 commit
-
-
jgruber authored
Continuations are called directly from the deoptimizer, and thus cannot be lazy. This also changes the corresponding assertion to an unconditional CHECK in order to catch this type of mistake early. Drive-by: Sort Builtins::IsLazy. Bug: chromium:823292 Change-Id: I739429ef574e40d7b9ba40cd209175054eb73349 Reviewed-on: https://chromium-review.googlesource.com/972282Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52094}
-
- 02 Mar, 2018 1 commit
-
-
Camillo Bruni authored
Bug: v8:7266 Change-Id: I2835ec79aaa2821aca288685a3f230a7f8029186 Reviewed-on: https://chromium-review.googlesource.com/941948 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#51696}
-
- 27 Feb, 2018 1 commit
-
-
Michael Starzinger authored
This changes the encoding of the {HandlerTable} from an array of Smi values to a byte array. It allows embedding of said array into the instruction stream of {Code} objects (similar to how safepoint tables work). For interpreted bytecode the table is attached as a {ByteArray} to the bytecode. The advantage of this approach is a more compact encoding and also the ability to move such tables easily off the GC'ed heap if needed (as is done for WebAssembly code for example). R=jarin@chromium.org Change-Id: I3320415dff69b3d1053825bda0d667a28232bf6d Reviewed-on: https://chromium-review.googlesource.com/934642 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51589}
-
- 26 Feb, 2018 1 commit
-
-
jgruber authored
These helpers support off-heap code objects, for which they return start, end, and size of the off-heap instruction stream. Bug: v8:6666 Change-Id: Ib5e819d976eee3073b0354b8d8ce324b691f1b15 Reviewed-on: https://chromium-review.googlesource.com/937281 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#51572}
-
- 23 Feb, 2018 2 commits
-
-
jgruber authored
The deoptimizer can create argument adaptor frames, in which case we write a return address onto the stack that jumps into the middle of the ArgumentsAdaptorTrampoline builtin. Now that this builtin is off-heap, we need to calculate the return address based on the off-heap instruction stream, not the on-heap trampoline. Bug: v8:6666 Change-Id: I55b27fe8b0573f6c6ae66375850352f71bdff618 Reviewed-on: https://chromium-review.googlesource.com/934202 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#51520}
-
jgruber authored
Off-heap-safety slightly differs from isolate-independence in that it allows external references and checks instruction-size constraints. This adds the new predicate as well as a cctest verifying it. New DCHECKs are introduced to document assumptions and upcoming work. Note that this breaks the --stress-off-heap-code flag. Fixes will follow in upcoming CLs. Bug: v8:6666 Change-Id: If4f3e0f4428bacc8d293cd864b9b07b81679c423 Reviewed-on: https://chromium-review.googlesource.com/934183 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#51513}
-
- 20 Feb, 2018 1 commit
-
-
Sigurd Schneider authored
This ensures that breaking on inlined builtins works, even when compiling concurrently. This CL also introduces the member Isolate::AbortConcurrentOptimization. R=sigurds@chromium.org Bug: v8:178 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ie6cbb48ebde18036888af2dd715862e7a14ddf9d Reviewed-on: https://chromium-review.googlesource.com/912468 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#51384}
-
- 13 Feb, 2018 1 commit
-
-
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}
-
- 31 Jan, 2018 1 commit
-
-
Mike Stanton authored
The FeedbackNexus classes initially were one-to-one with IC classes, but over time this got out of date. We also found Nexus' useful, so we made more classes even for cases that weren't ICs. The inheritence and polymorphism became confusing and led to duplication. Better, to just talk about a (single) FeedbackNexus. Bug: v8:7344 Change-Id: I509dc9657895d56c3859de6e6589695cdff9e73e Reviewed-on: https://chromium-review.googlesource.com/890452 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Franziska Hinkelmann <franzih@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#50997}
-
- 11 Jan, 2018 1 commit
-
-
Sigurd Schneider authored
This CL adds output related to the no speculation bit on the feedback vector. Messages appear on two occasions: - if a feedback vector is read from the deoptimization entry - if the no-speculation bit on a feedback vector is set The latter only happens during object materialization. Bug: v8:7127 Change-Id: I9676323d3223441472539a544d3309687dba27a3 Reviewed-on: https://chromium-review.googlesource.com/849092Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#50496}
-
- 09 Jan, 2018 1 commit
-
-
Georg Neis authored
- Remove unused deoptimization reasons. - Replace most uses of kNoReason with an actual reason (some are new). - Rename kNoReason to kUnknown. Bug: Change-Id: Ia8df54fca0f0f4885ef0c3523ce8f67b557a635d Reviewed-on: https://chromium-review.googlesource.com/839421Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#50440}
-
- 20 Dec, 2017 1 commit
-
-
Georgia Kouveli authored
This is a reland of bcf11729 The test was timing out in no snapshot builds, as each CodeAssemblerTester creates a new Context. Reduced the random iterations significantly. Original change's description: > [arm64] Preparation for padding of arguments > > As part of JSSP removal, we need to align the arguments passed to functions > on the stack, by adding a padding slot when the total number of arguments > is odd. > > This patch introduces the kPadArguments flag (which is currently set to > false for all architectures), which will control padding of arguments in > architecture-independent parts of the code (deoptimizer, instruction > selector). > > It also adds some executable tests for tail calls with various stack > parameter counts on the caller and callee sides. > > This will be turned on for arm64 together with arm64-specific changes to > the code generator, the MacroAsembler and the builtins, in a later patch. > > Bug: v8:6644 > Change-Id: I79a5c149123fe8130cedd1ccffec3d9b50361e08 > Reviewed-on: https://chromium-review.googlesource.com/806554 > 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@{#50134} TBR=jarin@chromium.org Bug: v8:6644 Change-Id: I795877ed9791e126ffac6841dbbb65189e95d207 Reviewed-on: https://chromium-review.googlesource.com/833046 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#50238}
-
- 16 Dec, 2017 1 commit
-
-
Michael Achenbach authored
This reverts commit bcf11729. Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/16791 The test cctest/test-run-tail-calls/FuzzStackParamCount hangs on the nosnap debug bot and times out. Original change's description: > [arm64] Preparation for padding of arguments > > As part of JSSP removal, we need to align the arguments passed to functions > on the stack, by adding a padding slot when the total number of arguments > is odd. > > This patch introduces the kPadArguments flag (which is currently set to > false for all architectures), which will control padding of arguments in > architecture-independent parts of the code (deoptimizer, instruction > selector). > > It also adds some executable tests for tail calls with various stack > parameter counts on the caller and callee sides. > > This will be turned on for arm64 together with arm64-specific changes to > the code generator, the MacroAsembler and the builtins, in a later patch. > > Bug: v8:6644 > Change-Id: I79a5c149123fe8130cedd1ccffec3d9b50361e08 > Reviewed-on: https://chromium-review.googlesource.com/806554 > 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@{#50134} TBR=rmcilroy@chromium.org,jarin@chromium.org,georgia.kouveli@arm.com Change-Id: Iff4d7da418204834822842b160eacb8980058172 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6644 Reviewed-on: https://chromium-review.googlesource.com/830847Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50144}
-
- 15 Dec, 2017 3 commits
-
-
Georgia Kouveli authored
As part of JSSP removal, we need to align the arguments passed to functions on the stack, by adding a padding slot when the total number of arguments is odd. This patch introduces the kPadArguments flag (which is currently set to false for all architectures), which will control padding of arguments in architecture-independent parts of the code (deoptimizer, instruction selector). It also adds some executable tests for tail calls with various stack parameter counts on the caller and callee sides. This will be turned on for arm64 together with arm64-specific changes to the code generator, the MacroAsembler and the builtins, in a later patch. Bug: v8:6644 Change-Id: I79a5c149123fe8130cedd1ccffec3d9b50361e08 Reviewed-on: https://chromium-review.googlesource.com/806554 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@{#50134}
-
Michael Achenbach authored
This reverts commit ce2a9e16. Reason for revert: Breaks all gpu bots, e.g.: https://build.chromium.org/p/client.v8.fyi/builders/Linux%20Release%20%28NVIDIA%29/builds/4628 Original change's description: > [turbofan] Add performance counters for speculation mode change > > Bug: v8:7127, v8:7216 > Change-Id: I57f8bc3f486c53b11475bd174961c4547bb07b04 > Reviewed-on: https://chromium-review.googlesource.com/827073 > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Michael Hablich <hablich@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50121} TBR=sigurds@chromium.org,hablich@chromium.org,bmeurer@chromium.org Change-Id: Ic658699a3c267758b925c4a6832992a638125d27 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7127, v8:7216 Reviewed-on: https://chromium-review.googlesource.com/828874Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50125}
-
Sigurd Schneider authored
Bug: v8:7127, v8:7216 Change-Id: I57f8bc3f486c53b11475bd174961c4547bb07b04 Reviewed-on: https://chromium-review.googlesource.com/827073 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Michael Hablich <hablich@chromium.org> Cr-Commit-Position: refs/heads/master@{#50121}
-