- 04 May, 2017 36 commits
-
-
Caitlin Potter authored
Removes the do-expression wrapping, modifies BytecodeGenerator change to enter a class literal's block scope if needed. This does not solve the actual bug in v8:6322, but helps mitigate it in simple cases. The bug is caused by BytecodeGenerator not allocating a large enough array of context registers to hold its entire stack, allowing non-context registers to be overwritten during PushContext and PopContext bytecodes. Nevertheless, I like the idea of not depending on do-expressions when possible, so I think it's worth doing anyways. BUG=v8:6322 R=rmcilroy@chromium.org, marja@chromium.org, littledan@chromium.org Change-Id: I82b7569db2a0eead1694bd04765fc4456c2f1a0a Reviewed-on: https://chromium-review.googlesource.com/491074 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Daniel Ehrenberg <littledan@chromium.org> Cr-Commit-Position: refs/heads/master@{#45110}
-
Daniel Ehrenberg authored
Different Intl features (DateTimeFormat, NumberFormat, etc) have different lists of locales supported. Previously, the default locale was set to "und", as opposed to what was detected from the surrounding system, if any of these features was missing data. With this patch, only that feature is set to "und". In this way, the data quality should be just as good as if there were no fallback logic, but at the same time, resolvedOptions().locale should show the locale actually in effect. R=adamk,jshin BUG=v8:6288 Change-Id: I62b083a1dde2465cb1541cb18ecc7e59f9097bc0 Reviewed-on: https://chromium-review.googlesource.com/492886 Commit-Queue: Daniel Ehrenberg <littledan@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#45109}
-
bmeurer authored
Revert of [js] Avoid %_ClassOf for collection builtins. (patchset #4 id:60001 of https://codereview.chromium.org/2814773005/ ) Reason for revert: Breaks node.js integration bot: https://build.chromium.org/p/client.v8.fyi/builders/V8%20-%20node.js%20integration/builds/5374/steps/build%20addons%20and%20test%20node.js/logs/stdio Original issue's description: > [js] Avoid %_ClassOf for collection builtins. > > The collection builtins (Map, Set, WeakMap, WeakSet) are still written > in JavaScript and make heavy use of %_ClassOf, which is kind of > expensive compared to a simple instance type check. Change that to use > simple instance type checks instead. > > R=jarin@chromium.org > BUG=v8:6261,v8:6278,v8:6344 > > Review-Url: https://codereview.chromium.org/2814773005 > Cr-Commit-Position: refs/heads/master@{#45106} > Committed: https://chromium.googlesource.com/v8/v8/+/28170099fd1efc84a724ef133f335fec521c0852 TBR=jarin@chromium.org,adamk@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:6261,v8:6278,v8:6344 Review-Url: https://codereview.chromium.org/2860123002 Cr-Commit-Position: refs/heads/master@{#45108}
-
Sathya Gunasekaran authored
Bug: v8:5045 Change-Id: I1d8b6be8a65595dc357c4f721b1a03425e025e6e Reviewed-on: https://chromium-review.googlesource.com/463811 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Daniel Ehrenberg <littledan@chromium.org> Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Cr-Commit-Position: refs/heads/master@{#45107}
-
bmeurer authored
The collection builtins (Map, Set, WeakMap, WeakSet) are still written in JavaScript and make heavy use of %_ClassOf, which is kind of expensive compared to a simple instance type check. Change that to use simple instance type checks instead. R=jarin@chromium.org BUG=v8:6261,v8:6278,v8:6344 Review-Url: https://codereview.chromium.org/2814773005 Cr-Commit-Position: refs/heads/master@{#45106}
-
gdeepti authored
If an ArrayBuffer is setup through the WebAssembly.Memory constructor, identify these with a flag and avoid optimizations in js-typed-lowering.cc. This is needed becasue buffers associated with memory objects can be grown/detached leading to crashes. BUG=chromium:717194 Review-Url: https://codereview.chromium.org/2862763002 Cr-Commit-Position: refs/heads/master@{#45105}
-
bbudge authored
- Removes primitive shuffle opcodes. - Adds Shuffle opcode for S32x4, S16x8, S8x16. - Adds code to ARM instruction selector to pick best opcodes for some common shuffle patterns. LOG=N BUG=v8:6020 Review-Url: https://codereview.chromium.org/2847663005 Cr-Commit-Position: refs/heads/master@{#45104}
-
Ross McIlroy authored
Now that the optimized code hangs off the feedback vector, it is possible to check whether a function has optimized code available every time it's called in the interpreter entry trampoline. If optimized code exists, the interpreter entry trampoline 'self-heals' the closure to point to the optimized code and links the closure into the optimized code list. BUG=v8:6246 Change-Id: If1bd7c555bb0551bfe04b36baa6bcf949604717e Reviewed-on: https://chromium-review.googlesource.com/488026Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#45103}
-
Toon Verwaest authored
Bug: chromium:714580 Change-Id: I8969fb83c6c29eccb29fc1b4a9a35d7abb0ba0d6 Reviewed-on: https://chromium-review.googlesource.com/496148Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#45102}
-
Michael Achenbach authored
TBR=jochen@chromium.org Change-Id: I0b4436c343a92a3f41d627e71a6fc16e7d6ad698 Reviewed-on: https://chromium-review.googlesource.com/496108Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#45101}
-
Michael Achenbach authored
Keeping the CQ bot experimental for now. Will be converted to a regular bot in a follow up. NOTRY=true NOTREECHECKS=true Bug: v8:6355 Change-Id: I094cc26c8fd89bc6fda761d6bfd848a5e3b6dcb5 Reviewed-on: https://chromium-review.googlesource.com/496186 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#45100}
-
ulan authored
The concurrent marker now colors objects grey and black using the atomic markbit operations. The heap visitor is changed in two ways: 1) It iterates the map pointer of each object. 2) It guards object visitation with a predicate, which is overridden in the concurrent marker with the result of GreyToBlack transition. BUG=chromium:694255 Review-Url: https://codereview.chromium.org/2855003004 Cr-Commit-Position: refs/heads/master@{#45099}
-
Michael Starzinger authored
R=clemensh@chromium.org BUG=v8:6127 Change-Id: I104bf807d3da6a9f269e4f729b254bc6a0d2f0df Reviewed-on: https://chromium-review.googlesource.com/496206Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#45098}
-
jkummerow authored
Storing a data property on |target| can change |source|'s map if |target| and |source| are the same object. BUG=chromium:716520 Review-Url: https://codereview.chromium.org/2855133006 Cr-Commit-Position: refs/heads/master@{#45097}
-
Clemens Hammacher authored
This flag generates false positives, since gcc inlines functions and propagates constants, and then applies the check. Drive-by: Refactor the checks that triggered the error to avoid explicit casts. R=jochen@chromium.org, machenbach@chromium.org BUG=v8:6341 Change-Id: I86aebf402cbd2502ef17622a000a5bb777fd4b43 Reviewed-on: https://chromium-review.googlesource.com/494474Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45096}
-
ulan authored
Currently the VisitObject function iterates the object and then colors it black. This does not work well with concurrent marking. The function should instead first try to mark the object black and iterate its body only if the color transition succeeds. BUG=chromium:694255 Review-Url: https://codereview.chromium.org/2853323003 Cr-Commit-Position: refs/heads/master@{#45095}
-
mlippautz authored
These wrappers wouldn't be found by the marker otherwise and are only reported upon the next marking step or GC which potentially is already too late; the embedder could've reclaimed those objects already. BUG=chromium:717480 Review-Url: https://codereview.chromium.org/2860753003 Cr-Commit-Position: refs/heads/master@{#45094}
-
Wiktor Garbacz authored
BUG=v8:6093 Change-Id: Ia14f6200adbe6c557f9b899e67f2d96bf76f3a44 Reviewed-on: https://chromium-review.googlesource.com/494590Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Cr-Commit-Position: refs/heads/master@{#45093}
-
dusan.simicic authored
Add support for I32x4Neg, I32x4LtS, I32x4LeS, I32x4LtU, I32x4LeU, I16x8Splat, I16x8ExtractLane, I16x8ReplaceLane, I16x8Neg, I16x8Shl, I16x8ShrS, I16x8ShrU, I16x8Add, I16x8AddSaturateS, I16x8Sub, I16x8SubSaturateS for mips32 and mips64 architectures. BUG= Review-Url: https://codereview.chromium.org/2795143003 Cr-Commit-Position: refs/heads/master@{#45092}
-
ulan authored
concurrent marking is enabled. This patch adds kAtomicity flag to IncrementalMarking that is set depending on the concurrent marking compile time flag. BUG=chromium:694255 Review-Url: https://codereview.chromium.org/2857743002 Cr-Commit-Position: refs/heads/master@{#45091}
-
bmeurer authored
So far the Array.prototype.pop lowering in the JSBuiltinReducer was limited to (holey) fast or fast-smi elements. But it can be made to work easily to also handle fast-double elements, so allow that as well. R=jarin@chromium.org BUG=v8:5267,v8:6338 Review-Url: https://codereview.chromium.org/2861443006 Cr-Commit-Position: refs/heads/master@{#45090}
-
jarin authored
This enables allocation in Turbofan's graph building (which is useful for taking code dependencies there). BUG=v8:6357 R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2860843003 Cr-Commit-Position: refs/heads/master@{#45089}
-
littledan authored
Revert of [regexp] Support unicode capture names in non-unicode patterns (patchset #3 id:40001 of https://codereview.chromium.org/2791163003/ ) Reason for revert: The decision for the specification was to not have this syntax, and instead the syntax before this patch. Original issue's description: > [regexp] Support unicode capture names in non-unicode patterns > > This ensures that capture names containing surrogate pairs are parsed > correctly even in non-unicode RegExp patterns by introducing a new > scanning mode which unconditionally combines surrogate pairs. > > BUG=v8:5437,v8:6192 > > Review-Url: https://codereview.chromium.org/2791163003 > Cr-Commit-Position: refs/heads/master@{#44466} > Committed: https://chromium.googlesource.com/v8/v8/+/a8651c5671dd6e41595ffb438e7ea013082f2d38 R=yangguo@chromium.org,jgruber@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=v8:5437,v8:6192 Review-Url: https://codereview.chromium.org/2859933003 Cr-Commit-Position: refs/heads/master@{#45088}
-
bmeurer authored
Make sure that the input to ChangeFloat64ToTagged is definitely of type Number, because the operator cannot deal with non-Number inputs. R=jarin@chromium.org BUG=v8:5267 Review-Url: https://codereview.chromium.org/2858153003 Cr-Commit-Position: refs/heads/master@{#45087}
-
Clemens Hammacher authored
The functions are validated later during graph generation. This change uncovered a memory leak, which is now also fixed. R=ahaas@chromium.org Change-Id: I0150817da131c5c611fe21b156da9d9d00d4827d Reviewed-on: https://chromium-review.googlesource.com/490088Reviewed-by: Andreas Rossberg <rossberg@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45086}
-
ulan authored
Now non-atomic color transition operations return a boolean indicating whether the transition succeeded or not. This allows to replace color check and transition operations with a single transition operation. For example: if (IsWhite(object)) { WhiteToBlack(object); Foo(); } becomes if (WhiteToBlack(object)) { Foo(); } BUG=chromium:694255 Review-Url: https://codereview.chromium.org/2857713002 Cr-Commit-Position: refs/heads/master@{#45085}
-
Ross McIlroy authored
Since the feedback vector is itself a native context structure, why not store optimized code for a function in there rather than in a map from native context to code? This allows us to get rid of the optimized code map in the SharedFunctionInfo, saving a pointer, and making lookup of any optimized code quicker. Original patch by Michael Stanton <mvstanton@chromium.org> BUG=v8:6246 TBR=yangguo@chromium.org,ulan@chromium.org Change-Id: Ic83e4011148164ef080c63215a0c77f1dfb7f327 Reviewed-on: https://chromium-review.googlesource.com/494487Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#45084}
-
neis authored
1. Generalize context specialization such that the provided context can be any outer context of the function, not necessarily the immediate outer context. 2. Based on this: if function specialization is disabled, then specialize for the module context if there is one. 3. Extend typed lowering of module loads and stores such that if the operand is a Module constant, we constant-fold the cell load. That is, a JSLoadModule with a Module HeapConstant input becomes a LoadField with a Cell HeapConstant input, and similarly for JSStoreModule. BUG=v8:1569 Review-Url: https://codereview.chromium.org/2841613002 Cr-Commit-Position: refs/heads/master@{#45083}
-
Ross McIlroy authored
Remove the --zap_code_space flag and always patch deopted code to hard fail if called. Also, as a drive-by add deopt code patching for Arm64. BUG=v8:6246 Change-Id: Ibf1bc53692dbbe618132100a66c56a88c97fd62b Reviewed-on: https://chromium-review.googlesource.com/496127Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#45082}
-
jarin authored
BUG=chromium:712739 Review-Url: https://codereview.chromium.org/2857983004 Cr-Commit-Position: refs/heads/master@{#45081}
-
Daniel Ehrenberg authored
It's not clear what this logic is there for; ICU seems to already preserve the locale in the way that the comment mentions. There appear to be tests in test/intl/general/mapped-locale.js which remain passing. Bug: v8:5751 Change-Id: Ib9c64f00b982711ae0eab078252a88f44b81b894 Reviewed-on: https://chromium-review.googlesource.com/485780 Commit-Queue: Daniel Ehrenberg <littledan@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#45080}
-
mlippautz authored
BUG=v8:6343 Review-Url: https://codereview.chromium.org/2860043002 Cr-Commit-Position: refs/heads/master@{#45079}
-
Michael Starzinger authored
Note that this just switches from the AST-based validator to a dedicated parser for asm.js modules. The validation of asm.js modules in general still is predicated by the "--validate-asm" flag, and not enabled by default yet. R=clemensh@chromium.org,marja@chromium.org BUG=v8:6127 Change-Id: Ibd920b03e20ec3c70ee51b79c6c5a2043964fe4f Reviewed-on: https://chromium-review.googlesource.com/496146Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#45078}
-
mlippautz authored
BUG=v8:6343 Review-Url: https://codereview.chromium.org/2857213003 Cr-Commit-Position: refs/heads/master@{#45077}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/e9e0102..cef928f Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/08f16b6..0d00147 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Change-Id: I0aa7541addc2fd6ba2ef5471d56acdbb0c319fac Reviewed-on: https://chromium-review.googlesource.com/495351Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#45076}
-
Eric Holk authored
AllocateGuarded previously fell back on Allocate and then called Guard to set the protection to PROT_NONE. Linux commits RW memory, but the important thing here is to reserve the address space without committing it. This change adds a new variant of Allocate that takes explicit permission bits so that AllocateGuarded allocates non-RW memory from the beginning. Bug: v8:6320 Change-Id: I7962acbed09938951bf3bb4af2d1f302adba2547 Reviewed-on: https://chromium-review.googlesource.com/491928 Commit-Queue: Eric Holk <eholk@chromium.org> Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#45075}
-
- 03 May, 2017 4 commits
-
-
mlippautz authored
In the spirit of the full MC, we evacuate and update pointers in parallel for the young generation. The collectors are connected during incremental marking when mark bits are transferred from the young generation bitmap to the old generation bitmap. The evacuation phase cannot (yet) move pages and relies completely on copying objects. BUG=chromium:651354 Review-Url: https://codereview.chromium.org/2796233003 Cr-Commit-Position: refs/heads/master@{#45074}
-
mlippautz authored
BUG=v8:6343 Review-Url: https://codereview.chromium.org/2861763002 Cr-Commit-Position: refs/heads/master@{#45073}
-
ochang authored
-fsanitize-coverage={edge,bb,func} are deprecated. -fsanitize-coverage={edge,bb,func},trace-pc-guard should be used instead (edge is default). BUG=chromium:651540 Review-Url: https://codereview.chromium.org/2860653002 Cr-Commit-Position: refs/heads/master@{#45072}
-
neis authored
This is just a refactoring, no changes in behavior. BUG=v8:1569 Review-Url: https://codereview.chromium.org/2839623003 Cr-Commit-Position: refs/heads/master@{#45071}
-