- 27 Apr, 2018 31 commits
-
-
jgruber authored
During code generation, we generate self-references (i.e. references to the Code object currently being generated) as references to a temporary handle. When the final Code object has been allocated, the handle's location is fixed up and RelocInfo iteration fixes up all references embedded in the generated code. This adds support for this mechanism to the builtins constants table builder. CodeObject() is now a new handle pointing to a dedicated self-reference marker in order to distinguish between self-references and references to undefined. In Factory::NewCode, we patch up the constants table. Bug: v8:6666 Change-Id: If74ed91bb1c3b8abb20ff2f0a87d1bcd9a1b0511 Reviewed-on: https://chromium-review.googlesource.com/1018468 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52854}
-
Michael Starzinger authored
This removes the last reference from {NativeModule} that made it specific to a concrete WebAssembly instance, by only referencing the {WasmSharedModuleData} instead of a {WasmCompiledModule}. Note that eventually we want to remove this reference completely to become even independent of the underlying Isolate soon. R=clemensh@chromium.org BUG=v8:7424 Change-Id: I29b8cde8beadeef75c90e90fbff1830f2bf4e636 Reviewed-on: https://chromium-review.googlesource.com/1032433 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52853}
-
Ben L. Titzer authored
R=clemensh@chromium.org Change-Id: Iade16b07a24dca8ac542e68becad734d977b673a Reviewed-on: https://chromium-review.googlesource.com/1032778Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52852}
-
Georg Neis authored
- Refine the type of 'hole'. - Remove the mysterious 'receiver' definition. - Remove the declaration of a non-existing Print function. Bug: v8:7570 Change-Id: If093b456a9bc31c5673ada87f262c0cfcadf11ad Reviewed-on: https://chromium-review.googlesource.com/1032737Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#52851}
-
Simon Zünd authored
Bug: v8:7570 Change-Id: I2c6551fdd1a53323065f9c23e5bee793e9f561cf Reviewed-on: https://chromium-review.googlesource.com/1032774Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Simon Zünd <szuend@google.com> Cr-Commit-Position: refs/heads/master@{#52850}
-
Clemens Hammacher authored
Linkage-related methods were declared in wasm-compiler.h and implemented in wasm-linkage.cc. This required all users of e.g. wasm call descriptors to include the whole wasm compiler header. Also, some wasm linkage information is independent of turbofan and also used outside of the compiler directory. This CL splits off wasm-linkage.h (with minimal includes) and puts it in src/wasm. This allows to use that information without including compiler headers (will clean up several uses in follow-up CLs). R=mstarzinger@chromium.org, titzer@chromium.org Bug: v8:7570 Change-Id: Ifcae70b4ea7932cda30953b325c2b87c4176c598 Reviewed-on: https://chromium-review.googlesource.com/1013701Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52849}
-
Dan Elphick authored
Allocates almost all maps found in the start up snapshot into RO_SPACE. There are 2 JSObject maps that are excluded as they contain a mutable cell. Also updates VerifyReadOnlyPointers to check that RO_SPACE objects' maps are also in RO_SPACE. Previously the invariant did not hold for Strings which still had their maps in MAP_SPACE. Also moves invalid_prototype_validity_cell to RO_SPACE. RO_SPACE NEW_SPACE OLD_SPACE CODE_SPACE MAP_SPACE LO_SPACE old 22024 0 229184 32928 8184 0 new 31488 0 229184 32928 176 0 Bug: v8:7464 Change-Id: I870d22cc5234ba60b3ef8a2ada590ee6ae426c9f Reviewed-on: https://chromium-review.googlesource.com/1013494Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#52848}
-
sreten.kovacevic authored
Bug: v8:6600 Change-Id: I49b3180603651609ce575e540169f995587f9d88 Reviewed-on: https://chromium-review.googlesource.com/1032615 Commit-Queue: Sreten Kovacevic <sreten.kovacevic@mips.com> Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#52847}
-
Camillo Bruni authored
Bug: v8:7570 Change-Id: I74b482b670ce0e78dca012cbe8d9c2f65fdae5b9 Reviewed-on: https://chromium-review.googlesource.com/1030554 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#52846}
-
Dan Elphick authored
Removes new_target member and getter since none of the Array builtins in builtins-array-gen.* use it (since none of them are constructors). delete new_target getter and member variable Bug: v8:7570 Change-Id: Ia23af014750278d64447bb58171955d909fdb5a8 Reviewed-on: https://chromium-review.googlesource.com/1032556Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#52845}
-
sreten.kovacevic authored
Bug: v8:6600 Change-Id: Ieefbd4530f068b41895a8eb608a480b563968d63 Reviewed-on: https://chromium-review.googlesource.com/1030331Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Commit-Queue: Sreten Kovacevic <sreten.kovacevic@mips.com> Cr-Commit-Position: refs/heads/master@{#52844}
-
Ivica Bogosavljevic authored
Temporary register at was rewritten. We use different register. Change-Id: If3a162765ee29eb1d03d3f29345328cf79244e41 Reviewed-on: https://chromium-review.googlesource.com/1032616Reviewed-by: Sreten Kovacevic <sreten.kovacevic@mips.com> Commit-Queue: Sreten Kovacevic <sreten.kovacevic@mips.com> Cr-Commit-Position: refs/heads/master@{#52843}
-
Peter Marshall authored
Trying to reduce use of our self-baked data structures. Bug: v8:7570 Change-Id: I3c8598ece74b6434c8baa69810a384b5209dd107 Reviewed-on: https://chromium-review.googlesource.com/1032442Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#52842}
-
Marja Hölttä authored
BUG=v8:5402,v8:7570 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ia97efa31495b371805eb469be8395aaa19c7628d Reviewed-on: https://chromium-review.googlesource.com/1032431Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#52841}
-
Peter Marshall authored
Trying to reduce use of our self-baked data structures. Bug: v8:7570 Change-Id: Ie4257911b388d320e4c5da5108cd763d3ab9299f Reviewed-on: https://chromium-review.googlesource.com/1032555Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#52840}
-
Georg Neis authored
Whenever mjsunit.js changes, these tests might suddenly fail. R=herhut@chromium.org Bug: v8:7570 Change-Id: Ib43b03a3df92a4c5acabc193c63f46b29ea992b0 Reviewed-on: https://chromium-review.googlesource.com/1032440Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#52839}
-
Clemens Hammacher authored
This adds support for f64.min and f64.max, implemented on ia32, x64, mips and mips64. R=ahaas@chromium.org Bug: v8:6600 Change-Id: Ib4383df08692c76df5861fe71a96c4354fdf10c1 Reviewed-on: https://chromium-review.googlesource.com/1028235 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52838}
-
Georg Neis authored
R=sigurds@chromium.org Bug: v8:7570 Change-Id: I3f077940117467be98fbb3c2a30684af8eaaf801 Reviewed-on: https://chromium-review.googlesource.com/1032432 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#52837}
-
sreten.kovacevic authored
Fix initial implementation of min/max f32 instructions. Bug: v8:6600 Change-Id: Icb30515b692caef2c33bd85f468e83c17cdef2a3 Reviewed-on: https://chromium-review.googlesource.com/1030493Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Commit-Queue: Sreten Kovacevic <sreten.kovacevic@mips.com> Cr-Commit-Position: refs/heads/master@{#52836}
-
Ben L. Titzer authored
R=ahaas@chromium.org Bug: v8:7570 Change-Id: I5327d1b8e2f2bf4c1538f565442305a0e1f05b65 Reviewed-on: https://chromium-review.googlesource.com/1032550Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52835}
-
Michael Achenbach authored
See referenced bugs for links. NOTRY=true Bug: v8:5193,v8:7702 Change-Id: I380479405f46cfc32d6cfa728fb86297f6d4f43c Reviewed-on: https://chromium-review.googlesource.com/1032436Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52834}
-
Michael Achenbach authored
This adds presubmit checks and documentation for the features added on infra side in https://crrev.com/c/1019080. NOTRY=true Bug: chromium:830557 Change-Id: If3808f5931f7b1043a8a80c03a293df4602ce758 Reviewed-on: https://chromium-review.googlesource.com/1021140Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52833}
-
Clemens Hammacher authored
Both macros currently call a function with individual CHECKs, which makes error messages only show that one part of the equality check (and not the the actual float values), and hides the actual location of the check. This CL refactors this such that the actual value is shown (just as with other CHECK_EQ macros) and it shows the right file name and line number. R=ahaas@chromium.org Bug: v8:7570 Change-Id: I198e73c053178a09f14330a18069463760693f81 Reviewed-on: https://chromium-review.googlesource.com/1027879Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52832}
-
Ben L. Titzer authored
In the case of an indirect call to an imported function, the target instance stored in the IFT was actually wrong. Bug: chromium:834619 Change-Id: Id2ac4158335ecf2b58e1983ce37df852a9ebd1b2 Reviewed-on: https://chromium-review.googlesource.com/1030174 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52831}
-
Marja Hölttä authored
It's old & not used recently & obsolete. It was mainly used for measuring the effect of preparse data, which we no longer have. BUG=v8:7570 Change-Id: Ic31958e736fbf9645e014f6ef61dd6cf72a42c76 Reviewed-on: https://chromium-review.googlesource.com/1032390Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#52830}
-
Marja Hölttä authored
Calls a function defined in map-inl.h which mark-compact.h is not allowed to include. BUG=v8:7490,v8:5402,v8:7570 Change-Id: I51cef646fc2b650208d4e59b92bcd1e406ddd7fd Reviewed-on: https://chromium-review.googlesource.com/1032332Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#52829}
-
Michael Achenbach authored
This adds parts of Chromium's PanProjectChecks. We don't add all yet as there is to much chance for the checks to fire on files later. We first need to find a way to run the checks on all files (not only changed ones). NOTRY=true Bug: v8:7689 Change-Id: I747b49a9a362cf76f329e7f743545c6e6cb56f85 Reviewed-on: https://chromium-review.googlesource.com/1029854Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52828}
-
jgruber authored
The test is flaky on arm in --optimize-for-size. NOTRY=true Bug: v8:7605 Change-Id: I6219442545244bb0c07f8b028668f41602a83b30 Reviewed-on: https://chromium-review.googlesource.com/1032331 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52827}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/403c903..70ef8f2 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/dc970d3..846cec5 Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/4bd8c46..a6f06bf Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/abe5e4f..ec200e7 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: Icdef510ea71b63f7dd748e72e85a494ebf790c39 Reviewed-on: https://chromium-review.googlesource.com/1031910Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#52826}
-
Jakob Kummerow authored
When collecting the values of an object with Smi or Object elements kind, there are no allocations, so we don't need to create a short- lived handle for each value. This gives a small performance benefit in general, and in particular on ia32 by reducing register pressure causes clang to spill less, which fixes the regression in the issue mentioned below. Bug: chromium:833591 Change-Id: I5eb0c6164b2972306ce965ec101687cab486bf0d Reviewed-on: https://chromium-review.googlesource.com/1029417 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#52825}
-
Jakob Kummerow authored
There is no need to remove an object pointer's heap object tag when all we want is the Page that it's on. Also, apply to IncrementalMarking's writebarrier the optimization that crrev.com/e570e673 brought to the old-to-new barrier. Change-Id: Ic9328d7d6f5c01073288a3e87931ea6095750740 Reviewed-on: https://chromium-review.googlesource.com/1029413 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52824}
-
- 26 Apr, 2018 9 commits
-
-
Jungshik Shin authored
Not all 2 or 3 letter language codes are canonical. Some of them need to be canonicalized. Specifically, exclude {jw,ji,iw,in} and all three-letter codes from the fast path except for 'fil'. {jw,ji,iw,in} are deprecated ISO 639 codes for {Javanese, Yiddish, Hebrew, Indonesian}. They should be canonicalized to {jv,yi,he,id}. So, do not return early in the fast path, but pass it down to the full canonicalization. In addition, there are 70+ deprecated 3-letter codes that need to be replaced by their modern equivalents. Instead of checking and replacing in v8, just pass them to ICU to handle. Along with the following ICU change, two more tests will pass. https://chromium-review.googlesource.com/c/chromium/deps/icu/+/1026797 These two tests still fail because of the disagreement between ICU and the test expectations about 5 grandfathered tags with no preferred value (e.g. i-default, zh-min, cel-gaulish). 'intl402/Intl/getCanonicalLocales/canonicalized-tags' 'intl402/Intl/getCanonicalLocales/preferred-grandfathered' Bug: v8:5693, v8:7669 Test: test262/intl402/language-tags-canonicalized.js Test: test262/intl402/Intl/preferred-variants.js Test: intl/general/language_tags_with_preferred_values.js Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Ide7e9c90ac046859604c7b71c641f84ce9c64be5 Reviewed-on: https://chromium-review.googlesource.com/1023379Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jungshik Shin <jshin@chromium.org> Cr-Commit-Position: refs/heads/master@{#52823}
-
Ben Smith authored
The new spec has two arguments, the first is the global descriptor, and the second is the initial value: new WebAssembly.Global({type: i32}, 42); If the initial value argument is omitted, the value is set to 0. Bug: v8:7625 Change-Id: I679d4b7c49c69ec7ffcdfeb8ae506fa7ab9bba95 Reviewed-on: https://chromium-review.googlesource.com/1028847Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#52822}
-
Kim-Anh Tran authored
Top-tier code needs to be explicitly logged after compilation. Change-Id: Ic3c54ff4b7bddd44516a611398b7373fe0acc8d4 Reviewed-on: https://chromium-review.googlesource.com/1030391Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Kim-Anh Tran <kimanh@google.com> Cr-Commit-Position: refs/heads/master@{#52821}
-
Ben L. Titzer authored
This CL simplifies and extends the implementation of Managed<T> and now uses a std::shared_ptr<T> underneath in order to offer cross-isolate management of C++ allocated memory. R=mstarzinger@chromium.org CC=ulan@chromium.org Bug: v8:7424 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Id43a26f565677e8c9cdfd73810568d4f2b1871fe Reviewed-on: https://chromium-review.googlesource.com/1028190Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52820}
-
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}
-
Alexey Kozyatinskiy authored
This is a reland of 436faae0 Original change's description: > [inspector] added timeout for Debugger.evaluateOnCallFrame method > > R=dgozman@chromium.org,yangguo@chromium.org > > Bug: none > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel > Change-Id: I569899f245190ca2fa720bdb837db1263e8058d5 > Reviewed-on: https://chromium-review.googlesource.com/1023035 > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Dmitry Gozman <dgozman@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52798} Bug: none Change-Id: I91219382b5dc45b54dd8e5c64d9f0d11c849b9c8 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Reviewed-on: https://chromium-review.googlesource.com/1030510 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52818}
-
Yang Guo authored
R=jgruber@chromium.org Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I62955f95812a2c6ac04599c437971863a73af66d Reviewed-on: https://chromium-review.googlesource.com/1014103Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52817}
-
sreten.kovacevic authored
Implement emit_jump when target is in register. Bug: v8:6600 Change-Id: Idd8fc739ac9997cad53feffdfcee5ae25d9ad6ee Reviewed-on: https://chromium-review.googlesource.com/1030453Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#52816}
-
Vincent Belliard authored
When a liftoff function bails out after generating some constant pool, this avoids to trigger a check in the Assembler destructor. Bug: v8:6600 Change-Id: I79c595605bc0add1f3f5617ac7feedf162081d8a Reviewed-on: https://chromium-review.googlesource.com/1026647Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Vincent Belliard <vincent.belliard@arm.com> Cr-Commit-Position: refs/heads/master@{#52815}
-