- 20 Jun, 2017 17 commits
-
-
Daniel Ehrenberg authored
Previously, Date.toString() and friends were completely implementation-defined. However, they actually seemed to match each other's behavior with the exception of how years less than 1000 are formatted. The rough consensus among browsers seemed to be %04d, so this was standardized at TC39 [1]. V8 previously used %4d (it was the only one to do so); this patch adopts the new standard. [1] https://github.com/tc39/ecma262/commit/5d4acf3377e1b0ad4a4660c57108db1b28ef20ff Bug: v8:6076 Change-Id: I8c795a4e1b71187ad7c24a1aee8d7d66719a2586 Reviewed-on: https://chromium-review.googlesource.com/536733 Commit-Queue: Daniel Ehrenberg <littledan@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#46037}
-
Clemens Hammacher authored
For each Managed<T> (which is a Foreign), we create a weak global handle with a finalizer which deletes the referenced C++ object once the Foreign is dead. Before calling this finalizer, the garbage collector needs to mark the referenced object black (i.e. live), because the finalizer might resurrect it. Since this is never done for managed objects, we can use the more lightweight phantom handle semantics, which allows the referenced object to be garbage collected right away. However, we can't access the global handle via the WeakCallbackInfo, because the global handle will already be garbage collected. So we need to store it explicitly. This is solved by storing the global handle together with the finalizer. In order to implement this, ownership of the ManagedObjectFinalizer is moved from the isolate to the managed object. R=ulan@chromium.org, mtrofin@chromium.org BUG=v8:6505, chromium:734345 Change-Id: I94a245df601f70e19355d82439d30099e159231b Reviewed-on: https://chromium-review.googlesource.com/539578 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46036}
-
Alexey Kozyatinskiy authored
This test checks how much time we spent for generating Debugger.paused notification. R=machenbach@chromium.org Bug: chromium:688036 Change-Id: Ie8a52aafe6c8d93401b0b2a90a202ddff7de78ef Reviewed-on: https://chromium-review.googlesource.com/538584 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#46035}
-
Sathya Gunasekaran authored
Bug: v8:6443 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I20b1006a5c5ff24a730f15286cf0f340ba047b78 Reviewed-on: https://chromium-review.googlesource.com/526001Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#46034}
-
Camillo Bruni authored
Bug: chromium:734162, chromium:734051, v8:6211 Change-Id: I5c3e7578e9278b8f19ff16ad4d963f490dcc6c8c Reviewed-on: https://chromium-review.googlesource.com/541415 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#46033}
-
Michael Lippautz authored
During minor MC new space evacuation we could have two adjacent LABs sharing a mark bit cell. The DCHECK when observing and changing markbits of the target needs to reflect that. Bug: chromium:651354 Change-Id: I737d0f9e3d37dfb1cda3f126d37ed5e7123bedc9 Reviewed-on: https://chromium-review.googlesource.com/541296Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46032}
-
Michael Lippautz authored
With the exception for map space we can avoid atomic access at all since pages are locked. Map space is different since it contains old to new poitners to LayoutDescriptors that are concurrently used by other tasks for iterating objects. Bug: chromium:651354 Change-Id: If7ed99d21676bad8d2944132fb9696ff4123624d Reviewed-on: https://chromium-review.googlesource.com/539642 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46031}
-
georgia.kouveli authored
This is to help the transition to using CSP as the stack pointer. It does not make JSSP aligned yet, just makes sure that we only modify JSSP by a multiple of 16 bytes. To do this, we might need to add a padding slot above the receiver. BUG= Review-Url: https://codereview.chromium.org/2938603002 Cr-Commit-Position: refs/heads/master@{#46030}
-
Mircea Trofin authored
It is possible that the foreground task is unable to clear the scheduled unfinished work, eventually leading to an OOM. We use either code_range on 64 bit, or the capacity of the code space, as a heuristic for how much memory to use for compilation. The change avoids blocking the background threads while we're over the memory threshold. This is to avoid starving the GC. Bug: v8:6492, chromium:732010 Change-Id: Ic2647d9fa71af4f8cdd2149a434b107cbed3a6c3 Reviewed-on: https://chromium-review.googlesource.com/540763 Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#46029}
-
Ross McIlroy authored
Change-Id: Icac68bc8fe1ae3b8f70003e001b45b3f22dac511 Reviewed-on: https://chromium-review.googlesource.com/541338Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46028}
-
Loo Rong Jie authored
Python List Comprehension does not need join() (alias of os.path.join). Change-Id: I9d5a8610d88c35fd4e3cb101bc10b25c3d1dd7cf Reviewed-on: https://chromium-review.googlesource.com/538453Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Loo Rong Jie <loorongjie@gmail.com> Cr-Commit-Position: refs/heads/master@{#46027}
-
Igor Sheludko authored
The initial implementation did not work in certain cases. For example, in the following case 'f' didn't have a shared name while it should have had an empty shared name: var f = (function() { return function() { return 42; } }(); The new implementation ensures that all anonymous functions have empty shared name and if any of them happen to be an object literal property value or an accessor function or a concise method then such a function is marked as having no shared name. Bug: v8:6459 Change-Id: I0f936afce0c152d91b2b41c1dc475a5ed841eca0 Reviewed-on: https://chromium-review.googlesource.com/538666Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#46026}
-
Michael Lippautz authored
Those sets are to be released on the main thread without concurrent accesses. Making this explicit will give TSAN a chance to help us once the surrounding code changes. Bug: Change-Id: Ia73754caafbeec385d4c922fb8140e3e64f7378c Reviewed-on: https://chromium-review.googlesource.com/541375Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46025}
-
mvstanton authored
These are no longer being used. BUG=v8:6408 Review-Url: https://codereview.chromium.org/2944013002 Cr-Commit-Position: refs/heads/master@{#46024}
-
Mircea Trofin authored
This reverts commit 1835b4b1. Reason for revert: This has a perf regression, wasn't ready just yet. Original change's description: > Revert "Revert "[wasm] Throttle the amount of unfinished work to avoid OOM"" > > This reverts commit 4ee49181. > > Reason for revert: Fix: in d8, blocking all the bg threads starves the GC. > > Original change's description: > > Revert "[wasm] Throttle the amount of unfinished work to avoid OOM" > > > > This reverts commit 1280954d. > > > > Reason for revert: Speculative, GC stress bots started taking much longer after this change. > > > > Original change's description: > > > [wasm] Throttle the amount of unfinished work to avoid OOM > > > > > > It is possible that the foreground task is unable to clear the > > > scheduled unfinished work, eventually leading to an OOM. > > > > > > We use either code_range on 64 bit, or the capacity of the code space, > > > as a heuristic for how much memory to use for compilation. > > > > > > Bug: v8:6492, chromium:732010 > > > Change-Id: I1e4c0825351a42fa0b8369ccc41800ac3445563d > > > Reviewed-on: https://chromium-review.googlesource.com/535017 > > > Commit-Queue: Brad Nelson <bradnelson@chromium.org> > > > Reviewed-by: Brad Nelson <bradnelson@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#46017} > > > > TBR=bradnelson@chromium.org,mtrofin@chromium.org,ahaas@chromium.org > > > > Change-Id: I8883cee7f77667530bc50f91bfb468c485e6f7f2 > > No-Presubmit: true > > No-Tree-Checks: true > > No-Try: true > > Bug: v8:6492, chromium:732010 > > Reviewed-on: https://chromium-review.googlesource.com/540270 > > Reviewed-by: Bill Budge <bbudge@chromium.org> > > Commit-Queue: Bill Budge <bbudge@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#46020} > > TBR=bradnelson@chromium.org,bbudge@chromium.org,mtrofin@chromium.org,ahaas@chromium.org > > Change-Id: I1e7a1d0202c3161f9a7139e8895eebf472473ad3 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: v8:6492, chromium:732010 > Reviewed-on: https://chromium-review.googlesource.com/540841 > Reviewed-by: Brad Nelson <bradnelson@chromium.org> > Reviewed-by: Mircea Trofin <mtrofin@chromium.org> > Commit-Queue: Brad Nelson <bradnelson@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46022} TBR=bradnelson@chromium.org,bbudge@chromium.org,mtrofin@chromium.org,mtrofin@google.com,ahaas@chromium.org Change-Id: Ic1351325173b233be3972ff3c159c035838fa963 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6492, chromium:732010 Reviewed-on: https://chromium-review.googlesource.com/540842Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#46023}
-
Mircea Trofin authored
This reverts commit 4ee49181. Reason for revert: Fix: in d8, blocking all the bg threads starves the GC. Original change's description: > Revert "[wasm] Throttle the amount of unfinished work to avoid OOM" > > This reverts commit 1280954d. > > Reason for revert: Speculative, GC stress bots started taking much longer after this change. > > Original change's description: > > [wasm] Throttle the amount of unfinished work to avoid OOM > > > > It is possible that the foreground task is unable to clear the > > scheduled unfinished work, eventually leading to an OOM. > > > > We use either code_range on 64 bit, or the capacity of the code space, > > as a heuristic for how much memory to use for compilation. > > > > Bug: v8:6492, chromium:732010 > > Change-Id: I1e4c0825351a42fa0b8369ccc41800ac3445563d > > Reviewed-on: https://chromium-review.googlesource.com/535017 > > Commit-Queue: Brad Nelson <bradnelson@chromium.org> > > Reviewed-by: Brad Nelson <bradnelson@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#46017} > > TBR=bradnelson@chromium.org,mtrofin@chromium.org,ahaas@chromium.org > > Change-Id: I8883cee7f77667530bc50f91bfb468c485e6f7f2 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: v8:6492, chromium:732010 > Reviewed-on: https://chromium-review.googlesource.com/540270 > Reviewed-by: Bill Budge <bbudge@chromium.org> > Commit-Queue: Bill Budge <bbudge@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46020} TBR=bradnelson@chromium.org,bbudge@chromium.org,mtrofin@chromium.org,ahaas@chromium.org Change-Id: I1e7a1d0202c3161f9a7139e8895eebf472473ad3 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6492, chromium:732010 Reviewed-on: https://chromium-review.googlesource.com/540841Reviewed-by: Brad Nelson <bradnelson@chromium.org> Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Brad Nelson <bradnelson@chromium.org> Cr-Commit-Position: refs/heads/master@{#46022}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/bf51d56..97e4bb9 Rolling v8/buildtools: https://chromium.googlesource.com/chromium/buildtools/+log/ee9c3a7..9a65473 Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/57e600c..c2d7f3a TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Change-Id: I07f5b7705651eec34733919182793ee6981b067c Reviewed-on: https://chromium-review.googlesource.com/541056Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#46021}
-
- 19 Jun, 2017 23 commits
-
-
Bill Budge authored
This reverts commit 1280954d. Reason for revert: Speculative, GC stress bots started taking much longer after this change. Original change's description: > [wasm] Throttle the amount of unfinished work to avoid OOM > > It is possible that the foreground task is unable to clear the > scheduled unfinished work, eventually leading to an OOM. > > We use either code_range on 64 bit, or the capacity of the code space, > as a heuristic for how much memory to use for compilation. > > Bug: v8:6492, chromium:732010 > Change-Id: I1e4c0825351a42fa0b8369ccc41800ac3445563d > Reviewed-on: https://chromium-review.googlesource.com/535017 > Commit-Queue: Brad Nelson <bradnelson@chromium.org> > Reviewed-by: Brad Nelson <bradnelson@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46017} TBR=bradnelson@chromium.org,mtrofin@chromium.org,ahaas@chromium.org Change-Id: I8883cee7f77667530bc50f91bfb468c485e6f7f2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6492, chromium:732010 Reviewed-on: https://chromium-review.googlesource.com/540270Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#46020}
-
Ross McIlroy authored
Adds a 'performance' test which tracks the number of expressions which can be nested before the compiler runs out of stack space. This isn't really a performance test, but is created as a js-perf-test to enable regression tracking in the dashboards. Change-Id: Iee0c00df53b38b083e2dde09676ac9b13e439461 Reviewed-on: https://chromium-review.googlesource.com/539419Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46019}
-
Bill Budge authored
BUG: v8:6020 Change-Id: I7280827aa9a493677253cc2fbd42be8173b55b7a Reviewed-on: https://chromium-review.googlesource.com/534956Reviewed-by: Martyn Capewell <martyn.capewell@arm.com> Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#46018}
-
Mircea Trofin authored
It is possible that the foreground task is unable to clear the scheduled unfinished work, eventually leading to an OOM. We use either code_range on 64 bit, or the capacity of the code space, as a heuristic for how much memory to use for compilation. Bug: v8:6492, chromium:732010 Change-Id: I1e4c0825351a42fa0b8369ccc41800ac3445563d Reviewed-on: https://chromium-review.googlesource.com/535017 Commit-Queue: Brad Nelson <bradnelson@chromium.org> Reviewed-by: Brad Nelson <bradnelson@chromium.org> Cr-Commit-Position: refs/heads/master@{#46017}
-
gdeepti authored
- Use correct prefixes for SIMD/Atomics ops - S128 LoadMem/StoreMem should not use 0xc0/0xc1 opcodes, these are now being used for sign extension - S128 LoadMem/StoreMem should use prefixed opcodes BUG=v8:6020 Review-Url: https://codereview.chromium.org/2943773002 Cr-Commit-Position: refs/heads/master@{#46016}
-
Sathya Gunasekaran authored
This patch updates the error positition and the error msg. Previously, → ./out.gn/x64.release/d8 test.js test.js:1: TypeError: undefined is not a function var [a] = {}; ^ TypeError: undefined is not a function at test.js:1:1 With this patch, → ./out.gn/x64.release/d8 test.js test.js:1: TypeError: [Symbol.iterator] is not a function var [a] = {}; ^ TypeError: [Symbol.iterator] is not a function at test.js:1:11 Bug: v8:5532 Change-Id: Ib066e8ec8a53fdf06cce491bde4b1d0c6d564cbc Reviewed-on: https://chromium-review.googlesource.com/539024Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#46015}
-
Michael Lippautz authored
Merge OLD_TO_OLD and OLD_TO_NEW per page. This enables removing atomic operations for the slot updates, effectively removing the need for fences. Bug: chromium:651354 Change-Id: I9e318bef06c403b135d638cf94fda9569dcf0e36 Reviewed-on: https://chromium-review.googlesource.com/539338 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46014}
-
Clemens Hammacher authored
For functions without any calls, there is no value in executing a stack check. The current frame is materialized at that point anyway. Note that for loops, we still emit additional stack checks in the loop header. For unity, the reduction in code size is moderate (0.53%), as only 4000 of the 34000 functions are leaf functions (no calls). However, we also save some compile time and gain performance, so this is still worth doing it. Drive-by: Fix the effect chain generated in {StackCheck()}. R=mstarzinger@chromium.org, ahaas@chromium.org Change-Id: Ia6ec58d0ea46de02634c923cdf8e6e08d8902c59 Reviewed-on: https://chromium-review.googlesource.com/533333Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46013}
-
Peter Marshall authored
We only need to use this for certain Intrinsics defined in the spec. This CL removes unnecessary uses. Bug: v8:6474 Change-Id: I13a9f0c57d877dd65a883a38f9683d55623030d3 Reviewed-on: https://chromium-review.googlesource.com/529224 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#46012}
-
Michael Lippautz authored
This avoids emitting the costly barriers on arm. Bug: chromium:651354 Change-Id: Ibb29e58f7c41aab37ed5c4971b2a754b4ecd7155 Reviewed-on: https://chromium-review.googlesource.com/533337 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46011}
-
Ulan Degenbaev authored
Change-Id: If0f80ceac9582f5bd0f9177db67b2a833fa8c8cd Reviewed-on: https://chromium-review.googlesource.com/539418Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46010}
-
Michael Starzinger authored
R=rmcilroy@chromium.org BUG=v8:6408 Change-Id: I724a14e4f3b9395eed5d56ec3b5f7be835e9390a Reviewed-on: https://chromium-review.googlesource.com/539595Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46009}
-
Camillo Bruni authored
Change-Id: I0aa40ce54833c81a15a6dd0010b2eeb46799a984 Reviewed-on: https://chromium-review.googlesource.com/539519Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#46008}
-
Michael Lippautz authored
Move obvious candidates to the cc file. Bug: Change-Id: I9b2bca0ed1f2836a4873760d6677a9c0dff9c064 Reviewed-on: https://chromium-review.googlesource.com/538664Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46007}
-
jgruber authored
Track execution counts of the continuations of block structures (e.g. IfStatements) to capture cases in which execution does not continue after a block. For example: for (;;) { return; } // Never reached, tracked by continuation counter. A continuation counter only has a start position; it's range is implicitly until the next sibling range or the end of the parent range. Bug: v8:6000 Change-Id: I8e8f1f5b140b64c86754b916e626eb50f0707d70 Reviewed-on: https://chromium-review.googlesource.com/530846 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#46006}
-
Toon Verwaest authored
If we pass in thin-string into a keyed load, the underlying internalized string is used to find the handler. However, the thin string itself was used to interpret the handler. Since the thin string itself isn't unique, this caused existing properties on the prototype chain to not be found in case of dictionary-mode prototypes. Bug: chromium:731193 Change-Id: Ic98d3789ecf9175e17d9c898ab13231aad59efcc Reviewed-on: https://chromium-review.googlesource.com/539596Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#46005}
-
Loo Rong Jie authored
Bug: v8:6494 Change-Id: Ie6f91c3bad38e467dd047f4d2848473cc4085c2a Reviewed-on: https://chromium-review.googlesource.com/536397 Commit-Queue: Loo Rong Jie <loorongjie@gmail.com> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46004}
-
Camillo Bruni authored
It might happen that we deprecate the map of previous sub-literals if we create literals with the same map several times. This is usually the case for configuration arrays. Bug: chromium:734051 Change-Id: I82284e5aae632286135b2092816d776d229c65af Reviewed-on: https://chromium-review.googlesource.com/538665Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#46003}
-
jgruber authored
Bug: v8:6474 Change-Id: Ia20250d74c94bf2568ad044795188db583b7f36c Reviewed-on: https://chromium-review.googlesource.com/539555Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#46002}
-
Miran.Karic authored
Here we optimize Dsubu by instead of loading imm and subtracting, we load -imm and perform addition when loading -imm takes less instructions than loading imm. Similarily li is optimized by loading -imm and performing addition or loading ~imm and inverting bits using nor when one of these loads takes two instructions less than loading imm, saving at least one instruction. Tests are adjusted to cover these optimizations. BUG= TEST=cctest/test-assembler-mips/li_macro cctest/test-assembler-mips/Dsubu Review-Url: https://codereview.chromium.org/2909913002 Cr-Commit-Position: refs/heads/master@{#46001}
-
jgruber authored
Mechanical change to remove argument adaption (should be a tad faster this way). Especially next is called without arguments in the common case. Bug: v8:6354, v8:6369 Change-Id: I4180caabfc4c1bbf1a10a881dcbcd41e03614b27 Reviewed-on: https://chromium-review.googlesource.com/535453 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Caitlin Potter <caitp@igalia.com> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#46000}
-
Peter Marshall authored
Large allocations would fail due to the flag not being set. Bug: chromium:732836 Change-Id: I31686e382386a2d08582c86b29dc8f89841040d1 Reviewed-on: https://chromium-review.googlesource.com/535563Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#45999}
-
jgruber authored
Minor differences in how we dispatch on the regexp type (IRREGEXP,ATOM,NOT_COMPILED) make significant differences in benchmark performance. A simple switch turns out to be the best alternative. BUG=chromium:734035, v8:6462 Change-Id: I09c613658e828b9fd1e3082624ef692b8b4a0c5f Reviewed-on: https://chromium-review.googlesource.com/539295Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#45998}
-