- 16 Jan, 2019 24 commits
-
-
Clemens Hammacher authored
After moving to its own header, this CL cleans up some parts of the interface. It fixes names and const-declarations of simple accessors, and adds a named constructor to make it explicit that an EnumSet should be constructed from an integral value. Also refactor the use in cctest.h to have less statically declared constants. Instead, just create the set of extensions in the individual tests. R=titzer@chromium.org Bug: v8:8562 Change-Id: I6178d1aba25afa1d7f54c29ccf81505c165e7cd3 Reviewed-on: https://chromium-review.googlesource.com/c/1409366 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#58862}
-
Johannes Henkel authored
This should be a non-event, I'm just rolling it to line it up with https://chromium.googlesource.com/deps/inspector_protocol/ again. Change-Id: I84b0af31963bceb66084a579519412d47c3bbd40 Reviewed-on: https://chromium-review.googlesource.com/c/1413409Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Johannes Henkel <johannes@chromium.org> Cr-Commit-Position: refs/heads/master@{#58861}
-
Daniel Clifford authored
With the changes in this patch, it is now possible to add methods to both Torque's class and struct types. As a special case, "constructor" methods are used to initialize the values of classes and structs when they are constructed. The functionality in this patch includes: - The refactoring of class- and struct-handling code to share field and method declaration code between both. - Addition of the "%Allocate" intrinsic that allocates raw bytes to be allocated from the V8 GC's NewSpace heap as the basis for freshly created, initialized class objects. - An implementation of a CallMethodExpression AST node that enables calling methods and constructors, including special handling of passing through the "this" pointer for method calls on structs by reference. The syntax for struct construction using "{}" remains as before, but now calls the struct's matching constructor rather than implicitly initializing the struct fields with the initialization arguments. A new syntax for allocation classes is introduced: "new ClassName{constructor_param1, constructor_param1, ...}", which de-sugars to an %Allocate call followed by a call to the matching constructor. - class constructors can use the "super" keyword to initialize their super class. - If classes and struct do not have a constructor, Torque creates a default constructor for them based on their field declarations, where each field's initial value is assigned to a same-typed parameter to the the default constructor. The default constructor's parameters are in field-declaration order, and for derived classes, the default constructor automatically uses a "super" initialization call to initialize inherited fields. - Class field declarations now automatically create ".field" and ".field=" operators that create CSA-compatible object accessors. - Addition of a no-argument constructor for JSArrays that creates an empty, PACKED_SMI_ELEMENTS JSArray using the machinery added elsewhere in this patch. Bug: v8:7793 Change-Id: I31ce5f4b444656ab999555d780aeeba605666bfa Reviewed-on: https://chromium-review.googlesource.com/c/1392192 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#58860}
-
Toon Verwaest authored
Change-Id: I9195c7ffdc4b841f14701662527c97c9698bd472 Reviewed-on: https://chromium-review.googlesource.com/c/1411888 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#58859}
-
Ben L. Titzer authored
The table.copy bytecode copies a range of table entries in a similar way to memcopy. This CL implements the behavior in a runtime call that calls into the wasm engine. R=mstarzinger@chromium.org,binji@chromium.org BUG=v8:7747 Change-Id: I420451202b1b78ea92cbd10387a644ed57e111c8 Reviewed-on: https://chromium-review.googlesource.com/c/1414919 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#58858}
-
Michael Starzinger authored
This changes the existing --print-wasm-code to no longer print code for runtime stubs (or any other stub code). The new --print-wasm-stub-code can be used to specifically print such stubs. This does not affect the existing --print-code behavior. R=ahaas@chromium.org Change-Id: I7a00722bf6e7cfbc210245cfd00dac16905f8902 Reviewed-on: https://chromium-review.googlesource.com/c/1411883Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#58857}
-
Junliang Yan authored
Bug: v8:8558 Change-Id: I69a36f070ffe4e28768a70b025de2f89e832782d Reviewed-on: https://chromium-review.googlesource.com/c/1412499 Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58856}
-
Clemens Hammacher authored
A minor cleanup I saw while working on related stuff. R=mstarzinger@chromium.org Bug: v8:8562 Change-Id: If11fe1dae3820e61ed3807cfefd33dc229903ffb Reviewed-on: https://chromium-review.googlesource.com/c/1414915Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58855}
-
Andreas Haas authored
R=yangguo@chromium.org Bug: chromium:921971 Change-Id: Id6715637a883c7606d96d8c4352bae1346cb0ec2 Reviewed-on: https://chromium-review.googlesource.com/c/1411603Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#58854}
-
Michael Starzinger authored
R=clemensh@chromium.org TEST=mjsunit/regress/wasm/regress-922432 BUG=chromium:922432 Change-Id: I3843eaee2027fff770fd77bc9205b70788fffa37 Reviewed-on: https://chromium-review.googlesource.com/c/1414917Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#58853}
-
Dan Elphick authored
This new method returns no value and just verifies that the Maybe is not Empty. This is intended to be used for functions like Object::Set that return a Maybe<bool> but only use "emptiness" to indicate its result and where ToLocalChecked() appears to be discarding information. Also comments Object::Set to indicate that Check() is the preferred way of asserting that the Set should always succeed. R=yangguo Bug: v8:8562 Change-Id: Ic3b45e42fa9ba0b53f1a764660a56041e64f087b Reviewed-on: https://chromium-review.googlesource.com/c/1414912Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#58852}
-
Junliang Yan authored
Change-Id: I17ab5dbf79acbba1c562ecaf585e919da6cfaf75 Reviewed-on: https://chromium-review.googlesource.com/c/1412632Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58851}
-
Toon Verwaest authored
That makes the declaration in sync with how dynamic references are resolved, avoiding duplicate variable creation in the likely case that the variable is also referenced within the eval. Bug: v8:5112, v8:5135, v8:8693 Change-Id: I0c55495f573fe8b5076b1627c139ff72d1adda74 Also-by: leszeks@chromium.org Reviewed-on: https://chromium-review.googlesource.com/c/1408890 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#58850}
-
Benjamin Kramer authored
_xgetbv is reserved for the implementation and shouldn't be used by user code. Newer GCCs and clang trunk define _xgetbv, leading to a name collision if xsaveintrin.h gets included transitively. This unbreaks building v8 with clang trunk and libstdc++ 4.9, which happens to pull in xsaveintrin.h transitively through <algorithm>. Newer versions of libstdc++ don't seem to do that anymore which is why this issue never showed up before. R=bmeurer@chromium.org Change-Id: If94efaf4798e5420738064bcbf26880f904c76a9 Reviewed-on: https://chromium-review.googlesource.com/c/1414858Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#58849}
-
Clemens Hammacher authored
When generating an Assembler, you currently have two choices: Either let the Assembler allocate a growable internal buffer, which is owned by the Assembler. Or provide an externally allocated buffer, which cannot grow. This CL changes this interface to allow providing any implementation of a buffer. The provided buffer can be a view to an externally owned buffer, which still can grow. This will be used to split WebAssembly compilation and code submission. The buffer needs to be able to grow, but cannot be owned by the Assembler because it has to survive until the code is submitted. R=mstarzinger@chromium.org Bug: v8:8689 Change-Id: Ib6c5ebffc8b71d0778944abac34f02c5cc7dbd79 Reviewed-on: https://chromium-review.googlesource.com/c/1411347 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#58848}
-
Peter Marshall authored
This doesn't need to be static as the whole SamplerManager class has only one static instance anyway, via instance(). This might also fix the weird lock behavior we are seeing on Nexus 5x where the atomic_bool lock seems to never be released. Bug: v8:8649 Change-Id: If44b6361c9e2a124265ca5b15b997538475a2ec9 Reviewed-on: https://chromium-review.googlesource.com/c/1414854Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#58847}
-
Leszek Swirski authored
Replace std::find_if in AdvanceUntil with a manual loop, which can then return early, skipping the branch comparing to buffer_end_. Change-Id: If49ed3667877751fcb0103a742750f03e5bd50db Reviewed-on: https://chromium-review.googlesource.com/c/1411351Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#58846}
-
Sergiy Belozorov authored
R=machenbach@chromium.org, tmrts@chromium.org No-Try: true Bug: chromium:616879 Change-Id: I1dbef7ca4ac69df2d3de654b381ab163d5be4214 Reviewed-on: https://chromium-review.googlesource.com/c/1409200 Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#58845}
-
Toon Verwaest authored
It's already added somewhere else, and otherwise it shows up twice. We only need to collect it for DebugEvaluate. Bug: chromium:921339 Change-Id: I8e8890ecf19e0c7d1196c32e9358962c984001da Reviewed-on: https://chromium-review.googlesource.com/c/1414851Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58844}
-
Leszek Swirski authored
Storing a VariableProxy in declarations means that a declaration and initialisation assignment are tightly coupled to use the same var. In particular, this means that Var declarations in with scopes have to clone the VariableProxy to split the declaration and initializer LHS lookup. This patch changes declarations to point directly to the Variable, not the VariableProxy. This will allow future refactoring to decouple declarations and initialisations. Change-Id: I0baa77bfd12fe175f9521d292740d7d712cffd37 Reviewed-on: https://chromium-review.googlesource.com/c/1406683Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#58843}
-
Jon Kunkee authored
When building v8 using MSVC (as for Node.js), clang-cl is not available to act as an assembler. This change allows mksnapshot to accomodate this fact by emitting assembly in the MSVC ARM assembler's format. Incidentally, the MSVC ARM asm format is just the ARM, Holdings assembler's asm format with a small handful of unimplemented features. https://docs.microsoft.com/en-us/cpp/assembler/arm/arm-assembler-reference Bug: chromium:893460,v8:8645 Change-Id: I1a6b765b0f9b4d117d7a6f100015a4f124442865 Reviewed-on: https://chromium-review.googlesource.com/c/1394758 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58842}
-
Michael Achenbach authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/02ccb16..7a1aacd Rolling v8/buildtools: https://chromium.googlesource.com/chromium/buildtools/+log/9d61cbb..40194ab Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/96320b5..78448d9 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/8432ec2..e229a0e Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/879ac09..933e5df This also ports https://crrev.com/c/1410527 for the gtest roll. TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Bug: chromium:922379 Change-Id: I65347892b6d2df3b6b30d8688367b39f4e76e25a Reviewed-on: https://chromium-review.googlesource.com/c/1413874 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#58841}
-
Stephan Herhut authored
With this change, splinters inherit the bundle from their parent and hence get the same registers allocated (if possible) that are used by the parent. This might improve performance and should reduce code size. Change-Id: I0f3b5211cf47976a16b37204a1ce34d92725bc33 Reviewed-on: https://chromium-review.googlesource.com/c/1403126 Commit-Queue: Stephan Herhut <herhut@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#58840}
-
Jakob Gruber authored
On ia32, arm and mips we generate miscellaneous memcpy-related functions at runtime: arm: memcpy for uint8-uint8 and uint16-uint8 {dest-source} pairs. ia32: memmove mips: memcpy uint8-uint8 In jitless mode, runtime codegen is disallowed, so these must be converted into builtins. As far as I can tell, the mips64 files were dead code (#ifdef'd to V8_HOST_ARCH_MIPS instead of MIPS64). Note also the slightly changed implementation of ia32's MemMove's jump tables. Bug: v8:8675 Change-Id: I5dc2a50fcbad332ce9f78228425b987b0d9acdf3 Reviewed-on: https://chromium-review.googlesource.com/c/1407067Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58839}
-
- 15 Jan, 2019 16 commits
-
-
Caitlin Potter authored
Implements https://tc39.github.io/proposal-hashbang/, which simply ignores the first line of a source file if it begins with '#!' (U+0023 U+0021). The test cases are influenced by https://github.com/tc39/test262/pull/1983, which have not been pulled into test262 local-tests due to issues with parseTestRecord. BUG=v8:8523 R=gsathya@chromium.org, adamk@chromium.org, littledan@chromium.org Change-Id: I4ae40222298de768a170c7a1d45fec118ed5713c Reviewed-on: https://chromium-review.googlesource.com/c/1409527 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Daniel Ehrenberg <littledan@chromium.org> Cr-Commit-Position: refs/heads/master@{#58838}
-
Ulan Degenbaev authored
Now the embedder can instruct V8 to restore the initial heap limit once the heap size drops below the given percentage of the heap limit. Bug: chromium:922038 Change-Id: Ib668406c5d59c02b45a8eae7de96527ebc3f2b4d Reviewed-on: https://chromium-review.googlesource.com/c/1411606 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#58837}
-
Yang Guo authored
R=petermarshall@chromium.org Change-Id: Id15504e2df9fd63755dba6c1f8d9deb7aa341b0a Reviewed-on: https://chromium-review.googlesource.com/c/1409422Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#58836}
-
Junliang Yan authored
constant_pool_offset can be equal to InstructionSize if the code doesn't contains any extra entries. Change-Id: I7340a0581cc9d97a802406b6c099412d38a673fc Reviewed-on: https://chromium-review.googlesource.com/c/1412494Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58835}
-
Maya Lekova authored
This reverts commit 48feba60. Reason for revert: Some TSAN failures reoccurred - https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux64%20TSAN/24456 Original change's description: > Reland "[cpu-profiler] Add more logging to find flaky failure" > > This is a reland of 138bcfc3 > > Fixed all the data races and ran TSAN locally to confirm. > > Original change's description: > > [cpu-profiler] Add more logging to find flaky failure > > > > There is a flaky 5x failure in the tree which I can't reproduce locally. > > This extra logging will help flush out what the problem is. > > > > Bug: v8:8649 > > > > Change-Id: If36d2ce0f4feb398d7d746d69b417bb55a714422 > > Reviewed-on: https://chromium-review.googlesource.com/c/1402787 > > Commit-Queue: Peter Marshall <petermarshall@chromium.org> > > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#58796} > > Bug: v8:8649 > Change-Id: I53e293ef85a54d4b2b39aa3b980832031201aa0c > Reviewed-on: https://chromium-review.googlesource.com/c/1411633 > Commit-Queue: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58833} TBR=jgruber@chromium.org,petermarshall@chromium.org Change-Id: Icd779b0bd0faf1db76a17736b70617e6b1d6584f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8649 Reviewed-on: https://chromium-review.googlesource.com/c/1412458Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#58834}
-
Peter Marshall authored
This is a reland of 138bcfc3 Fixed all the data races and ran TSAN locally to confirm. Original change's description: > [cpu-profiler] Add more logging to find flaky failure > > There is a flaky 5x failure in the tree which I can't reproduce locally. > This extra logging will help flush out what the problem is. > > Bug: v8:8649 > > Change-Id: If36d2ce0f4feb398d7d746d69b417bb55a714422 > Reviewed-on: https://chromium-review.googlesource.com/c/1402787 > Commit-Queue: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58796} Bug: v8:8649 Change-Id: I53e293ef85a54d4b2b39aa3b980832031201aa0c Reviewed-on: https://chromium-review.googlesource.com/c/1411633 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58833}
-
Michael Starzinger authored
This switches the experimental exception handling implementation to the new proposal where 'catch' blocks behave in a catch-all fashion and a new 'br_on_exn' operation is used to check for a certain exception type and extract the exception values on a match. R=clemensh@chromium.org TEST=unittests/FunctionBodyDecoderTest,mjsunit/wasm/exceptions BUG=v8:8091 Change-Id: Ib12ba28b3aa2a7d831312a83abcb00bf56d0adc3 Reviewed-on: https://chromium-review.googlesource.com/c/1409431 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58832}
-
Dan Elphick authored
Change platform::CreateDefaultPlatform from V8_DEPRECATE_SOON to V8_DEPRECATED. Bug: v8:8562 Change-Id: I053ff29b27dcd454960007bfd6597a01e1b2e62a Reviewed-on: https://chromium-review.googlesource.com/c/1411636Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#58831}
-
Tobias Tebbi authored
A first step towards using Turbofan's MemoryOptimizer for CSA/Torque. Change-Id: I2ce9eaa602ea6f19a679e1cf5516c309a5a5051b Reviewed-on: https://chromium-review.googlesource.com/c/1406675Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#58830}
-
Toon Verwaest authored
The parenthesized flag guarantees that the contents was validated as a possible arrow head. By collapsing a parenthesized expression with an outer binary expression we invalidly kept the flag and invalidly assumed that the collapsed expression was validated. Bug: chromium:921382 Change-Id: I207dcbfd228a1ed216130226fdb7ea045b89b85a Reviewed-on: https://chromium-review.googlesource.com/c/1412172 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#58829}
-
Leszek Swirski authored
This is more idiomatic than using a Promise. Change-Id: I61443e90ef1c0c589284851ea9be410153919eb5 Reviewed-on: https://chromium-review.googlesource.com/c/456278Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#58828}
-
Clemens Hammacher authored
We often use ResultBase or VoidResult to store or pass wasm errors (errors with locations). This CL extracts a WasmError class which can store an error (can also be empty), and Result<T> which stores an error or a T (exactly one of them). R=titzer@chromium.org Bug: v8:8689 Change-Id: I3f5203559984a0ae8757e0130a9184957fa28df5 Reviewed-on: https://chromium-review.googlesource.com/c/1409365 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#58827}
-
Leszek Swirski authored
In ShortPrint, print a # before a string's length if it is internalized Change-Id: Ifed80b358a4502c72d8a3d08b3b9399afe308d0f Reviewed-on: https://chromium-review.googlesource.com/c/1411539Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#58826}
-
Stephan Herhut authored
The blazor benchmark wobbles around by 5% with seemingly unrelated changes to the generated code. I suspect this is due to moving target adresses of the switch statement for the interpreter. Generally, it would make sense to align targets for switch statements as per general optimization guidelines. To keep code growth in bounds, this change only enables this for switch statements inside of loops. Local measurements show an improvement of around 5% for blazor and hopefully the benchmark will be more stable moving forward. Bug: chromium:919986 chromium:921477 Change-Id: I69df38f902d4fcc65af9e95a63ca1f7f14e0fa09 Reviewed-on: https://chromium-review.googlesource.com/c/1411637Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Stephan Herhut <herhut@chromium.org> Cr-Commit-Position: refs/heads/master@{#58825}
-
Andreas Haas authored
R=mstarzinger@chromium.org Bug: v8:7581 Change-Id: If469467663e632a1dba3bd55ace830e1b2f38f7e Reviewed-on: https://chromium-review.googlesource.com/c/1409427 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#58824}
-
Toon Verwaest authored
A sloppy function in a block scope implicitily creates a var in the outer declaration scope if it's not blocked. The assignment created reads the local lexical declaration for the function. The reference introduced automatically takes part in NeedsHoleCheck, requiring the reference to have a valid position. Since the assignment will happen after the local declaration, we give the end_position() of the closure as the position of the reference, so hole checks can be omitted. Bug: chromium:917755 Change-Id: Iee0e042b2463f97f05075f9eec09dac8c6eaf539 Reviewed-on: https://chromium-review.googlesource.com/c/1408991Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58823}
-