- 03 Aug, 2017 14 commits
-
-
Ben L. Titzer authored
R=mstarzinger@chromium.org Bug: Change-Id: I95acea7b33a6e5799399d0891b2a52103f5e4964 Reviewed-on: https://chromium-review.googlesource.com/598072Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47116}
-
Clemens Hammacher authored
The {alignment} parameter in {UnalignedLoadSupported} and {UnalignedStoreSupported} is never being used. This CL removes it from several interfaces and users. R=mstarzinger@chromium.org Change-Id: Iad5a638b7ed358beeed42f0ea7308dc04f1ed23e Reviewed-on: https://chromium-review.googlesource.com/598788Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#47115}
-
Ben L. Titzer authored
Since frames.h no longer defines basic register types like RegList, it is no longer necessary to include it in the macro assemblers. Next step: split out frame-constants.h from frames.h so that it will be possible to get frame constants without include the stackwalking logic, which needs objects.h. R=mstarzinger@chromium.org Bug: Change-Id: Ia12d3c8a8d46a73106c3c90bcb4b470c85f1eaa7 Reviewed-on: https://chromium-review.googlesource.com/597788 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47114}
-
Maya Lekova authored
Bug: v8:6559, v8:6557 Change-Id: If6c51f5483adb73ddd2495cede5d85e887a3c298 Reviewed-on: https://chromium-review.googlesource.com/589212Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Maya Lekova <mslekova@google.com> Cr-Commit-Position: refs/heads/master@{#47113}
-
Andreas Haas authored
The ScheduledErrorThrower is also needed in the wasm-async fuzzer so I moved the implementation from wasm-js.cc to wasm-api.[h|cc]. R=clemensh@chromium.org Bug: chromium:749838 Change-Id: I49d7438d1ec0281285ce0c64ba462c22001be08e Reviewed-on: https://chromium-review.googlesource.com/591447 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#47112}
-
Clemens Hammacher authored
Rename OPTIONAL_ACCESSOR to OPTIONAL_ACCESSORS (to be in line with ACCESSORS and DECL_OPTIONAL_ACCESSORS), and make OPTIONAL_ACCESSORS also define the ACCESSORS (to be in line with DECL_OPTIONAL_ACCESSORS). Drive-by: Remove DECL_OPTIONAL_GETTER; just define the setter too. R=titzer@chromium.org Change-Id: Id41a652153d7a1e2a15a5f69c6f52b96298f9dc1 Reviewed-on: https://chromium-review.googlesource.com/598868Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#47111}
-
Maya Lekova authored
Bug: v8:6664, v8:6557 Change-Id: Ib0f9b258d49f96bee041cbcfc589f3ec91e013ed Reviewed-on: https://chromium-review.googlesource.com/597859Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Maya Lekova <mslekova@google.com> Cr-Commit-Position: refs/heads/master@{#47110}
-
Michael Starzinger authored
This removes the obsolete {Crankshaft} factory method as it returns the same configuration as the {Turbofan} factory by now. We now consistently use {RegisterConfiguration::Default} everywhere. R=jkummerow@chromium.org BUG=v8:6408 Change-Id: I6be25774aa6714ef4dc1ef6856bb6dbc95593a29 Reviewed-on: https://chromium-review.googlesource.com/597858Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47109}
-
Michael Starzinger authored
R=jarin@chromium.org TEST=mjsunit/regress/regress-crbug-751715 BUG=chromium:751715 Change-Id: Ibc5d2ce958b6f0c94b41926eb215e81d70833a9d Reviewed-on: https://chromium-review.googlesource.com/598227Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47108}
-
jgruber authored
This begins splitting up the Deserializer class into {Object,Partial,Startup}Deserializer. For now, all functionality remains in the Deserializer base clase, to be refactored in future CLs. Empty .cc files are added here to avoid having to touch build files again. Bug: v8:6624 Change-Id: If563e03492991bd55c91cd2e09312c0a26aaab2c Reviewed-on: https://chromium-review.googlesource.com/598067Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47107}
-
Jakob Gruber authored
This reverts commit 062bb7d4. Reason for revert: <INSERT REASONING HERE> Original change's description: > [regexp] Limit ATOM regexps to single-character patterns > > There's an inherent trade-off when deciding between ATOM and IRREGEXP > regexps: IRREGEXP is faster at runtime for all but trivial single-character > patterns, while ATOM regexps have a lower memory overhead. > > This CL is intended to help investigate impact on benchmarks and real-world > code - if something tanks, it's easy to revert, otherwise it can be a first > step towards a possible removal of ATOM regexps. > > Bug: v8:6633 > Change-Id: Ia41d8eb28d33952735562d3d4127202746a6ac4e > Reviewed-on: https://chromium-review.googlesource.com/589435 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47081} TBR=yangguo@chromium.org,jgruber@chromium.org Change-Id: I8655bc4055af5d593f507e16918b434ff45f5379 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6633 Reviewed-on: https://chromium-review.googlesource.com/599547Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47106}
-
Benedikt Meurer authored
Previously TryToName bailed out for Oddball keys (i.e. when passing true or false as the key), which meant that for example the generic KeyedLoadIC would always bail out to the %KeyedGetProperty runtime function. But handling Oddball keys is fairly easy, since every oddball value carries it's unique string representation. Adding just this case to the CodeStubAssembler::TryToName method boosts this simple micro-benchmark by a factor of 4x: const n = 1e7; const obj = {}; const key = true; console.time('foo'); for (let i = 0; i < n; ++i) { if (obj[key] === undefined) { obj[key] = key; } } console.timeEnd('foo'); It also shows on the ARES-6 ML benchmark and on several Speedometer tests, where objects are being used as dictionaries and the developers rely on the implicit ToString conversions on the property accesses. In the ARES-6 ML benchmark, the number of calls to %KeyedGetProperty is reduced by 137,758. Bug: v8:6278, v8:6344, v8:6670 Change-Id: Iaa965e30be4c247682a67ec09543655df9b761d2 Reviewed-on: https://chromium-review.googlesource.com/599527Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47105}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/c15e746..6a89d4e Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/3ec5781..c8c5d6b Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/b18e402..ec00334 TBR=machenbach@chromium.org,hablich@chromium.org Change-Id: I8897f39489ce90bc0fa99b3e6294f5f262f48427 Reviewed-on: https://chromium-review.googlesource.com/599455Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#47104}
-
Alexey Kozyatinskiy authored
It's important in multi-session case, each agent should cleanup own breakpoints on disabled. R=dgozman@chromium.org Bug: none Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I1b2182aa01e74c7e9f36addf998c779d1d32feef Reviewed-on: https://chromium-review.googlesource.com/594272 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#47103}
-
- 02 Aug, 2017 26 commits
-
-
Deepti Gandluri authored
- Decode logic for atomic operations - Implementations for I32AtomicAdd, I32AtomicAdd8U, I32AtomicAdd16U, I32AtomicSub, I32AtomicSub8U, I32AtomicSub16U - cctest value helpers for Uint16/Uint8 types R=binji@chromium.org, bbudge@chromium.org, bradnelson@chromium.org BUG=v8:6532 Change-Id: I710ee8ef566c5e33866afdf5b47375c2ea6fdbe6 Reviewed-on: https://chromium-review.googlesource.com/595241Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Brad Nelson <bradnelson@chromium.org> Reviewed-by: Ben Smith <binji@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#47102}
-
Ulan Degenbaev authored
Bug: chromium:751825 No-Tree-Checks: true Change-Id: I8e9e5c030dca001a8dc881d8fdeefa5c140f3792 Reviewed-on: https://chromium-review.googlesource.com/599047Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#47101}
-
Karl Schimpf authored
This is a reland of 470a1001 Original change's description: > Start migration of try/throw/catch to match proposal. > > This CL does the first baby steps on moving the current (experimental) > exception handling to match that of the WebAssembly proposal. > > It does the following: > > 1) Use exception tags instead of integers. > > 2) Only handle empty exception signatures (i.e. no values associated > with the exception tag. > > 3) Only handle one catch clause. > > 4) Be sure to rethrow the exception if the exception tag does not match. > > Note: There are many things that need to be fixed, and are too > numerous to list here. However, the code should have TODO's on each > missing parts of the implementation. > > Also note that the code currently doesn't handle nested catch blocks, > nor does it change the throw value being an integer. Rather, the > integer value is still being thrown, and currently is the exception > tag. Therefore, we don't build an exception object. This is the reason > why this CL doesn't handle exceptions that pass values. > > Also, the current implementation still can't handle multiple modules > because tag resolution (between) modules has not be implemented yet. > > Bug: v8:6577 > Change-Id: Id6d08b641b3c42d1eec7d4db582f2dab35406114 > Reviewed-on: https://chromium-review.googlesource.com/591910 > Reviewed-by: Brad Nelson <bradnelson@chromium.org> > Commit-Queue: Karl Schimpf <kschimpf@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47087} Bug: v8:6577 Change-Id: I41c3309827c292cb787681a95aaef7cf9b931835 Reviewed-on: https://chromium-review.googlesource.com/598968Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Brad Nelson <bradnelson@chromium.org> Commit-Queue: Brad Nelson <bradnelson@chromium.org> Cr-Commit-Position: refs/heads/master@{#47100}
-
Jeremy Roman authored
There is an API check failure if values larger than i::Smi::kMaxValue are provided, but it is inconvenient for API users to know what this value is (and SIZE_MAX and INT_MAX are both incorrect). This is analogous to v8::String::kMaxLength. Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Bug: chromium:750788 Change-Id: Ic3e0da62aeacfeb996122595232aa0ea8744517e Reviewed-on: https://chromium-review.googlesource.com/594677Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jeremy Roman <jbroman@chromium.org> Cr-Commit-Position: refs/heads/master@{#47099}
-
Adam Klein authored
This behavior has been staged successfully without a bug report, and has been shipped in the latest versions of Firefox and Safari. Bug: v8:5070 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I084cae2cc303d6a213bd6789297b91656e162d6b Reviewed-on: https://chromium-review.googlesource.com/595129Reviewed-by: Daniel Ehrenberg <littledan@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#47098}
-
Alexey Kozyatinskiy authored
If objectGroup is console we should correctly save last evaluated result to expose for next console call in $_ variable. R=dgozman@chromium.org Bug: none Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ie0ba2d302606b1c9f096a9a3a107a51a80556c49 Reviewed-on: https://chromium-review.googlesource.com/598936Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47097}
-
Junliang Yan authored
both arches don't support push anything to stack except registers R=joransiu@ca.ibm.com, bjaideep@ca.ibm.com Bug: Change-Id: I5682fc1634bc66c8aa28889abe5b977092b004f6 Reviewed-on: https://chromium-review.googlesource.com/598644Reviewed-by: Jaideep Bajwa <bjaideep@ca.ibm.com> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#47096}
-
Jaideep Bajwa authored
Port 266be35b Minor fix to the original CL. R=yangguo@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I10a4d64aa010118b669374e604fe8ed0104ec77f Reviewed-on: https://chromium-review.googlesource.com/598808Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#47095}
-
Ulan Degenbaev authored
This reverts commit 35c923cc. Reason for revert: speculative revert for GC stress failure Original change's description: > [heap] Add support for atomic access to page flags. > > This patch renames AsAtomicWord to AsAtomicPointer and > adds new AsAtomicWord that works with intptr_t. > > Slot recording uses atomic page flag accessors. > > BUG=chromium:694255 > > Change-Id: I1c692813244b41320182e9eea50462d1802fcd98 > Reviewed-on: https://chromium-review.googlesource.com/597688 > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47086} TBR=ulan@chromium.org,mlippautz@chromium.org Change-Id: Id77ce7970c54a55646c072787e88311f6f3e6e91 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:694255 Reviewed-on: https://chromium-review.googlesource.com/598967Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47094}
-
Michael Achenbach authored
This reverts commit 470a1001. Reason for revert: Speculative: https://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/14520 Also flaked later: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/11953 Original change's description: > Start migration of try/throw/catch to match proposal. > > This CL does the first baby steps on moving the current (experimental) > exception handling to match that of the WebAssembly proposal. > > It does the following: > > 1) Use exception tags instead of integers. > > 2) Only handle empty exception signatures (i.e. no values associated > with the exception tag. > > 3) Only handle one catch clause. > > 4) Be sure to rethrow the exception if the exception tag does not match. > > Note: There are many things that need to be fixed, and are too > numerous to list here. However, the code should have TODO's on each > missing parts of the implementation. > > Also note that the code currently doesn't handle nested catch blocks, > nor does it change the throw value being an integer. Rather, the > integer value is still being thrown, and currently is the exception > tag. Therefore, we don't build an exception object. This is the reason > why this CL doesn't handle exceptions that pass values. > > Also, the current implementation still can't handle multiple modules > because tag resolution (between) modules has not be implemented yet. > > Bug: v8:6577 > Change-Id: Id6d08b641b3c42d1eec7d4db582f2dab35406114 > Reviewed-on: https://chromium-review.googlesource.com/591910 > Reviewed-by: Brad Nelson <bradnelson@chromium.org> > Commit-Queue: Karl Schimpf <kschimpf@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47087} TBR=bradnelson@chromium.org,eholk@chromium.org,kschimpf@chromium.org Change-Id: I91709105fb066c08b43766b0bc76db8a3af5c9d9 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6577 Reviewed-on: https://chromium-review.googlesource.com/598947Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#47093}
-
Jaideep Bajwa authored
Port 895c3219 Original Commit Message: Replacing pc with trampoline on stack This CL is the follow up of https://chromium-review.googlesource.com/c/586707/ which used to crash when running the gc-stress bots. It seems to be working now. We now keep the trampoline PC in the Safepoint table and use that information to find SafepointEntries. There's some refactoring that can be done, such as changing the code for exceptions in a similar way and removing the trampoline from the DeoptimizationInputData. Will take care of this in the next CL. R=jupvfranco@google.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I9871d110dcf7e390cf5fb2819ae1fa159c58ae84 Reviewed-on: https://chromium-review.googlesource.com/598768 Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#47092}
-
Alexey Kozyatinskiy authored
My goal was to move breakpoint API to native with minimal changes around, so on inspector side we use v8::debug::BreakpointId instead of String16, on v8::internal::Debug we use i::BreakPoint object instead of break point object created inside of debug.js. There are a lot of opportunities how we can improve breakpoints (at least we can avoid some of linear lookups to speedup implementation) but I think that as first step we need to remove mirrors/debug.js APIs. Drive by: debugger-script.js and usage of debugger context in inspector code base. R=yangguo@chromium.org,jgruber@chromium.org,clemensh@chromium.org Bug: v8:5510,chromium:652939 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I0b17972c39053dd4989bbe26db2bb0b88ca378f7 Reviewed-on: https://chromium-review.googlesource.com/593156Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47091}
-
Ulan Degenbaev authored
This reverts commit 470a1001. Reason for revert: GC stress bot failures. https://uberchromegw.corp.google.com/i/client.v8/builders/V8%20Mac%20GC%20Stress/builds/14522 Original change's description: > Start migration of try/throw/catch to match proposal. > > This CL does the first baby steps on moving the current (experimental) > exception handling to match that of the WebAssembly proposal. > > It does the following: > > 1) Use exception tags instead of integers. > > 2) Only handle empty exception signatures (i.e. no values associated > with the exception tag. > > 3) Only handle one catch clause. > > 4) Be sure to rethrow the exception if the exception tag does not match. > > Note: There are many things that need to be fixed, and are too > numerous to list here. However, the code should have TODO's on each > missing parts of the implementation. > > Also note that the code currently doesn't handle nested catch blocks, > nor does it change the throw value being an integer. Rather, the > integer value is still being thrown, and currently is the exception > tag. Therefore, we don't build an exception object. This is the reason > why this CL doesn't handle exceptions that pass values. > > Also, the current implementation still can't handle multiple modules > because tag resolution (between) modules has not be implemented yet. > > Bug: v8:6577 > Change-Id: Id6d08b641b3c42d1eec7d4db582f2dab35406114 > Reviewed-on: https://chromium-review.googlesource.com/591910 > Reviewed-by: Brad Nelson <bradnelson@chromium.org> > Commit-Queue: Karl Schimpf <kschimpf@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47087} TBR=bradnelson@chromium.org,eholk@chromium.org,kschimpf@chromium.org Change-Id: I01dc8c40cc1057333a988c1d275ce5f457b0cb64 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6577 Reviewed-on: https://chromium-review.googlesource.com/598847Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47090}
-
Michael Lippautz authored
Use separate visitors for roots visitation: - A general RootVisitor for all regular roots - An ObjectVisitor that is able to process contents of the string table and code hanging of the top optimized frame Bug: chromium:750084 Change-Id: I21aaa18760dede8a9419de2890a47c6dcf7efa3b Reviewed-on: https://chromium-review.googlesource.com/598239Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47089}
-
Deepti Gandluri authored
R=ahaas@chromium.org BUG=v8:6546 Change-Id: I2808b78cd047d875d4530c86cc079488a78e5ea1 Reviewed-on: https://chromium-review.googlesource.com/557355 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#47088}
-
Karl Schimpf authored
This CL does the first baby steps on moving the current (experimental) exception handling to match that of the WebAssembly proposal. It does the following: 1) Use exception tags instead of integers. 2) Only handle empty exception signatures (i.e. no values associated with the exception tag. 3) Only handle one catch clause. 4) Be sure to rethrow the exception if the exception tag does not match. Note: There are many things that need to be fixed, and are too numerous to list here. However, the code should have TODO's on each missing parts of the implementation. Also note that the code currently doesn't handle nested catch blocks, nor does it change the throw value being an integer. Rather, the integer value is still being thrown, and currently is the exception tag. Therefore, we don't build an exception object. This is the reason why this CL doesn't handle exceptions that pass values. Also, the current implementation still can't handle multiple modules because tag resolution (between) modules has not be implemented yet. Bug: v8:6577 Change-Id: Id6d08b641b3c42d1eec7d4db582f2dab35406114 Reviewed-on: https://chromium-review.googlesource.com/591910Reviewed-by: Brad Nelson <bradnelson@chromium.org> Commit-Queue: Karl Schimpf <kschimpf@chromium.org> Cr-Commit-Position: refs/heads/master@{#47087}
-
Ulan Degenbaev authored
This patch renames AsAtomicWord to AsAtomicPointer and adds new AsAtomicWord that works with intptr_t. Slot recording uses atomic page flag accessors. BUG=chromium:694255 Change-Id: I1c692813244b41320182e9eea50462d1802fcd98 Reviewed-on: https://chromium-review.googlesource.com/597688 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47086}
-
Michael Lippautz authored
They were only limited to 32 bit when using the internal Hashmap. Since this has changed alreay some time ago, we can switch to 64 bit ids and check that we never overflow. Bug: Change-Id: Ia6c6d02d6b5e555c6941185a79427dc4aa2a1d62 Reviewed-on: https://chromium-review.googlesource.com/598229 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47085}
-
Ulan Degenbaev authored
This reverts commit 0a9d5150. Reason for revert: another gc-stress failure Original change's description: > Reland^2 "[heap] Add mechanism for tracking invalidated slots per memory chunk." > > This reverts commit 6fde541d. > > Bug: chromium:694255 > Change-Id: I4670d0de3d2749afbb3bdb8dc5418822a885330c > Reviewed-on: https://chromium-review.googlesource.com/597850 > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47083} TBR=ulan@chromium.org,mlippautz@chromium.org Change-Id: Iaabf4586e0297dccb1ab4ef180b6f1eea173273b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:694255 Reviewed-on: https://chromium-review.googlesource.com/598094Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47084}
-
Ulan Degenbaev authored
This reverts commit 6fde541d. Bug: chromium:694255 Change-Id: I4670d0de3d2749afbb3bdb8dc5418822a885330c Reviewed-on: https://chromium-review.googlesource.com/597850 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47083}
-
Yang Guo authored
This is to ensure the snapshot is deterministic. R=mstarzinger@chromium.org Bug: v8:4886, v8:3645 Change-Id: I79c8e54ba6b4810f005bc1ece61890790c815cea Reviewed-on: https://chromium-review.googlesource.com/595740 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47082}
-
jgruber authored
There's an inherent trade-off when deciding between ATOM and IRREGEXP regexps: IRREGEXP is faster at runtime for all but trivial single-character patterns, while ATOM regexps have a lower memory overhead. This CL is intended to help investigate impact on benchmarks and real-world code - if something tanks, it's easy to revert, otherwise it can be a first step towards a possible removal of ATOM regexps. Bug: v8:6633 Change-Id: Ia41d8eb28d33952735562d3d4127202746a6ac4e Reviewed-on: https://chromium-review.googlesource.com/589435Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47081}
-
Leszek Swirski authored
By representing "optimization disabled" with a kNoReason bailout reason, we have enough spare bits to merge the bailout reason field into compiler hints. This decreases SFI size by one word. Change-Id: I0169c91dfbfa443128b060a83e483717ed31a166 Reviewed-on: https://chromium-review.googlesource.com/595980 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47080}
-
jgruber authored
Consider: function f() { return; } This CL ensures that the closing brace is considered as covered by introducing a special case for open-ended range rewrites when the parent range is the function range itself. Bug: v8:6000, v8:6661 Change-Id: I0be307759967e9f4df245a4f367326a37dda86fd Reviewed-on: https://chromium-review.googlesource.com/597651Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47079}
-
Ulan Degenbaev authored
This reverts commit d4a742fd. Reason for revert: gc-stress failures Original change's description: > Reland "[heap] Add mechanism for tracking invalidated slots per memory chunk." > > This reverts commit c59b81d7. > > Original change's description: > > [heap] Add mechanism for tracking invalidated slots per memory chunk. > > > For correct slots recording in concurrent marker, we need to resolve > > the race that happens when > > 1) the mutator is invalidating slots for double unboxing or string > > conversions > > 2) and the concurrent marker is recording these slots. > > > This patch adds a data-structure for tracking the invalidated objects. > > Thus we can allow the concurrent marker to record slots without > > worrying about clearing them. During old-to-old pointer updating phase > > we re-check all slots that belong to the invalidated objects. > > BUG=chromium:694255 > > Change-Id: Idf8927d162377a7bbdff34f81a87e52db27d6a9f > Reviewed-on: https://chromium-review.googlesource.com/596868 > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47068} TBR=ulan@chromium.org,mlippautz@chromium.org Change-Id: I81c6059a092cc5834acd799c51fd30dc0ecf5b27 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:694255 Reviewed-on: https://chromium-review.googlesource.com/597787Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47078}
-
Leszek Swirski authored
Some bailout reasons are never referenced. Removing these allows us to decrease the size of bailout reason bit-fields to 7 bits. Change-Id: Ib5e884d224c12313e06493ed05a18a22b3951665 Reviewed-on: https://chromium-review.googlesource.com/596128 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47077}
-