- 27 May, 2016 13 commits
-
-
jyan authored
R=titzer@chromium.org, bradnelson@chromium.org, ahaas@chromium.org BUG= Review-Url: https://codereview.chromium.org/2014283002 Cr-Commit-Position: refs/heads/master@{#36549}
-
ivica.bogosavljevic authored
BUG=mjsunit/wasm/asm-wasm-f*,mjsunit/wasm/asm-wasm-i* Review-Url: https://codereview.chromium.org/2013393002 Cr-Commit-Position: refs/heads/master@{#36548}
-
mstarzinger authored
This allows sloppy arguments objects to be allocated by the generic Heap::AllocateJSObjectFromMap allocation function. An empty elements backing store for such objects is provided. This is needed in order to materialize such objects without access to a specific native context. R=bmeurer@chromium.org TEST=mjsunit/regress/regress-crbug-613919 BUG=chromium:613919 Review-Url: https://codereview.chromium.org/2014343004 Cr-Commit-Position: refs/heads/master@{#36547}
-
titzer authored
R=ahaas@chromium.org,bradnelson@chromium.org,aseemgarg@chromium.org BUG= Review-Url: https://codereview.chromium.org/2017853003 Cr-Commit-Position: refs/heads/master@{#36546}
-
bmeurer authored
This was initially used to special case some weird date.js behavior, but has since been abused in other areas. In case of the string character access, everything that is outside the Smi range cannot be a valid string index anyways, so %NumberToSmi is perfect here in either case, and for ToPositiveInteger it's better to just use ToInteger adding +0 to turn -0 into +0. R=ishell@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2010183003 Cr-Commit-Position: refs/heads/master@{#36545}
-
georgia.kouveli authored
Adding optional operators for FNeg for WebAssembly, as the current implementation was significantly suboptimal for ARM. Review-Url: https://codereview.chromium.org/2011303002 Cr-Commit-Position: refs/heads/master@{#36544}
-
franzih authored
Rewrite decodeURI and decodeURIComponent as builtin functions and install them in the bootstrapper. Delete unused runtime functions: - TruncateString - NewString - OneByteSeqStringGetChar - OneByteSeqStringSetChar - TwoByteSeqStringGetChar - TwoByteSeqStringSetChar Add regression test for decoding large strings. Clusterfuzz detected a problem with %TruncateString, see https://bugs.chromium.org/p/chromium/issues/detail?id=612109#c6 This is automatically fixed by this rewrite because %TruncateString is deleted anyways. Crude benchmark on 585 decodeURI and decodeURIComponent tests averaged over five runs: * builtin functions real 0m9.69s user 2m39.8816s sys 0m12.6398s * JS functions calling into the runtime e.g., for %TruncateString real 0m11.0598s user 3m6.7026s sys 0m13.5756s By running: $ time tools/run-tests.py --arch=x64 --mode=Release --buildbot test262/built-ins/decodeURI* mjsunit/uri >>> Running tests for x64.Release BUG=v8:4912, chromium:612109 R=yangguo@chromium.org, bmeurer@chromium.org Review-Url: https://codereview.chromium.org/1994733003 Cr-Commit-Position: refs/heads/master@{#36543}
-
rmcilroy authored
This inlines the test and compare binary operations into Ignition. With this CL all binary ops are inlined into Ignition's bytecode handlers. Some blocks were shuffled around in Equals/NotEquals stubs to avoid creating frames unecessarily. Some labels were also marked as non- deferred in both Equals/NotEquals and the AbstractRelationalComparison stubs for the same reason. BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/2013573004 Cr-Commit-Position: refs/heads/master@{#36542}
-
mike authored
Commit c86f1897 corrected the way context from which a specific error is thrown, but the in-line comment was not updated to reflect this. Update the comment to accurately describe the intended behavior. LOG=N R=littledan@chromium.org BUG= Review-Url: https://codereview.chromium.org/1999483002 Cr-Commit-Position: refs/heads/master@{#36541}
-
bmeurer authored
This intrinsic (and the matching runtime entry) are no longer used by now and can thereby be removed. BUG=v8:5049 Review-Url: https://codereview.chromium.org/2016993003 Cr-Commit-Position: refs/heads/master@{#36540}
-
mvstanton authored
We get less "pollution" of type feedback if we have one vector per native context, rather than one for the whole system. This CL moves the vector appropriately. BUG= Review-Url: https://codereview.chromium.org/1906823002 Cr-Commit-Position: refs/heads/master@{#36539}
-
lpy authored
Currently Mac ComputeThreadTicks only uses user time, this patch adds system time in order to get more accurate CPU time. BUG=v8:4984 LOG=n Review-Url: https://codereview.chromium.org/2016513002 Cr-Commit-Position: refs/heads/master@{#36538}
-
v8-autoroll authored
Rolling v8/build to d96032ba08a39623c95c377a5f592f9931c93385 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2017003002 Cr-Commit-Position: refs/heads/master@{#36537}
-
- 26 May, 2016 5 commits
-
-
gsathya authored
For the common use case of having a single resolve or reject callback, the callbacks are stored directly. Only when an additional callback is registered, we create an array to store these callbacks. There are 3 possible states for the resolve, reject symbols when we add a new callback -- 1) UNDEFINED -- This is the zero state where there is no callback registered. When we see this state, we directly attach the callbacks to the symbol. 2) !IS_ARRAY -- There is a single callback directly attached to the symbols. We need to create a new array to store additional callbacks. 3) IS_ARRAY -- There are multiple callbacks already registered, therefore we can just push the new callback to the existing array. Also, this change creates a new symbol for storing the deferred objects. Previously the deferred objects were stored in the callback arrays, but since we no longer create arrays for the initial case, we need this new symbol. The cctest has been updated to account for this new symbol. This patch results in a 19% improvement(over 5 runs) in the bluebird benchmark. BUG=v8:5046 Review-Url: https://codereview.chromium.org/2007803002 Cr-Commit-Position: refs/heads/master@{#36536}
-
gsathya authored
Review-Url: https://codereview.chromium.org/2001283006 Cr-Commit-Position: refs/heads/master@{#36535}
-
mythria authored
Adds an API to request the total size of code/bytecode and their associated metadata in the heap. When requested, the code_space, old_space and large_object_space is scanned to find any code/bytecode array objects. This could be slow and hence it should be used with caution. BUG=v8:5019 LOG=N Review-Url: https://codereview.chromium.org/1997363002 Cr-Commit-Position: refs/heads/master@{#36534}
-
v8-autoroll authored
Rolling v8/build to a11885a5fd2ae5b45d97a2bbfe3e33ab13a88f68 Rolling v8/third_party/icu to 4745cccafba8cdb646263fa48b959f386722c155 Rolling v8/tools/clang to 5c08263d87fd4fe23df4f73323cd6146f5dfe7b2 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2015453004 Cr-Commit-Position: refs/heads/master@{#36533}
-
lpy authored
This patch does five things: 1. Extracts sampler as libsampler to provide sampling functionality support. 2. Makes SampleStack virtual so embedders can override the behaviour of sample collecting. 3. Removes sampler.[h|cc]. 4. Moves sampling thread into log.cc as workaround to keep the --prof functionality. 5. Creates SamplerManager to manage the relationship between samplers and threads. The reason we port hashmap.h is that in debug mode, STL containers are using mutexes from a mutex pool, which may lead to deadlock when using asynchronously signal handler. Currently libsampler is used in V8 temporarily. BUG=v8:4789 LOG=n Committed: https://crrev.com/06cc9b7c176a6223971deaa9fbcafe1a05058c7b Cr-Commit-Position: refs/heads/master@{#36527} Review-Url: https://codereview.chromium.org/1922303002 Cr-Commit-Position: refs/heads/master@{#36532}
-
- 25 May, 2016 22 commits
-
-
mlippautz authored
Revert of "[heap] Fine-grained JSArrayBuffer tracking" (patchset #1 id:1 of https://codereview.chromium.org/2009383002/ ) Reason for revert: https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Debug%20%28NVIDIA%29/builds/29860/steps/maps_pixel_test%20on%20NVIDIA%20GPU%20on%20Linux%20on%20Linux/logs/stdio Original issue's description: > Reland of "[heap] Fine-grained JSArrayBuffer tracking" (patchset #1 id:1 of https://codereview.chromium.org/2011563003/ ) > > Reason for revert: > Premature revert. Chromium roll included an earlier version. > > Original issue's description: > > Revert of "[heap] Fine-grained JSArrayBuffer tracking" (patchset #3 id:80001 of https://codereview.chromium.org/2007253002/ ) > > > > Reason for revert: > > Breaks webgl2 conformance tests > > https://bugs.chromium.org/p/chromium/issues/detail?id=614730 > > > > Original issue's description: > > > Reland of "[heap] Fine-grained JSArrayBuffer tracking" > > > > > > Track based on JSArrayBuffer addresses on pages instead of the attached > > > backing store. > > > > > > Details of tracking: > > > - Scavenge: New space pages are processes in bulk on the main thread > > > - MC: Unswept pages are processed in bulk in parallel. All other pages > > > are processed by the sweeper concurrently. > > > > > > This reverts commit 93fe04af. > > > > > > R=hpayer@chromium.org > > > BUG=chromium:611688 > > > LOG=N > > > CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg,v8_linux64_tsan_rel,v8_mac64_asan_rel > > > > > > Committed: https://crrev.com/863d015e573798e263b35b31d2ab979739706533 > > > Cr-Commit-Position: refs/heads/master@{#36513} > > > > TBR=hpayer@chromium.org > > # Skipping CQ checks because original CL landed less than 1 days ago. > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > BUG=chromium:611688 > > > > Committed: https://crrev.com/b9b0868ec49a52c9a80c9beea862a61707b292e5 > > Cr-Commit-Position: refs/heads/master@{#36524} > > TBR=hpayer@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=chromium:611688 > > Committed: https://crrev.com/b23e008885c4c452ae2b329c9dad167a76e4d7be > Cr-Commit-Position: refs/heads/master@{#36530} TBR=hpayer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:611688 Review-Url: https://codereview.chromium.org/2009893003 Cr-Commit-Position: refs/heads/master@{#36531}
-
mlippautz authored
Reland of "[heap] Fine-grained JSArrayBuffer tracking" (patchset #1 id:1 of https://codereview.chromium.org/2011563003/ ) Reason for revert: Premature revert. Chromium roll included an earlier version. Original issue's description: > Revert of "[heap] Fine-grained JSArrayBuffer tracking" (patchset #3 id:80001 of https://codereview.chromium.org/2007253002/ ) > > Reason for revert: > Breaks webgl2 conformance tests > https://bugs.chromium.org/p/chromium/issues/detail?id=614730 > > Original issue's description: > > Reland of "[heap] Fine-grained JSArrayBuffer tracking" > > > > Track based on JSArrayBuffer addresses on pages instead of the attached > > backing store. > > > > Details of tracking: > > - Scavenge: New space pages are processes in bulk on the main thread > > - MC: Unswept pages are processed in bulk in parallel. All other pages > > are processed by the sweeper concurrently. > > > > This reverts commit 93fe04af. > > > > R=hpayer@chromium.org > > BUG=chromium:611688 > > LOG=N > > CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg,v8_linux64_tsan_rel,v8_mac64_asan_rel > > > > Committed: https://crrev.com/863d015e573798e263b35b31d2ab979739706533 > > Cr-Commit-Position: refs/heads/master@{#36513} > > TBR=hpayer@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=chromium:611688 > > Committed: https://crrev.com/b9b0868ec49a52c9a80c9beea862a61707b292e5 > Cr-Commit-Position: refs/heads/master@{#36524} TBR=hpayer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:611688 Review-Url: https://codereview.chromium.org/2009383002 Cr-Commit-Position: refs/heads/master@{#36530}
-
lpy authored
Revert of Create libsampler as V8 sampler library. (patchset #24 id:460001 of https://codereview.chromium.org/1922303002/ ) Reason for revert: V8 Linux64 TSAN failure because ThreadSanitizer indicated data race. Original issue's description: > Create libsampler as V8 sampler library. > > This patch does five things: > > 1. Extracts sampler as libsampler to provide sampling functionality support. > 2. Makes SampleStack virtual so embedders can override the behaviour of sample collecting. > 3. Removes sampler.[h|cc]. > 4. Moves sampling thread into log.cc as workaround to keep the --prof functionality. > 5. Creates SamplerManager to manage the relationship between samplers and threads. > > The reason we port hashmap.h is that in debug mode, STL containers are using > mutexes from a mutex pool, which may lead to deadlock when using asynchronously > signal handler. > > Currently libsampler is used in V8 temporarily. > > BUG=v8:4789 > LOG=n > > Committed: https://crrev.com/06cc9b7c176a6223971deaa9fbcafe1a05058c7b > Cr-Commit-Position: refs/heads/master@{#36527} TBR=jochen@chromium.org,alph@chromium.org,fmeawad@chromium.org,yangguo@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4789 Review-Url: https://codereview.chromium.org/2000323007 Cr-Commit-Position: refs/heads/master@{#36529}
-
gsathya authored
Removes the DONT_DELETE enum bit from the properties to make them configurable. Also, updates the regress-typedarray-length test to -- - Check for true boolean return value on deletion of these properties. - Check for undefined return value on trying to access these properties after deletion. BUG=v8:4902 LOG=Y Review-Url: https://codereview.chromium.org/2001393004 Cr-Commit-Position: refs/heads/master@{#36528}
-
lpy authored
This patch does five things: 1. Extracts sampler as libsampler to provide sampling functionality support. 2. Makes SampleStack virtual so embedders can override the behaviour of sample collecting. 3. Removes sampler.[h|cc]. 4. Moves sampling thread into log.cc as workaround to keep the --prof functionality. 5. Creates SamplerManager to manage the relationship between samplers and threads. The reason we port hashmap.h is that in debug mode, STL containers are using mutexes from a mutex pool, which may lead to deadlock when using asynchronously signal handler. Currently libsampler is used in V8 temporarily. BUG=v8:4789 LOG=n Review-Url: https://codereview.chromium.org/1922303002 Cr-Commit-Position: refs/heads/master@{#36527}
-
adamk authored
Bootstrapper previously created %ThrowTypeError% before the strict function maps existed, so making that function strict required a small amount of code reordering. This fixes a few test262 tests, but we're still non-compliant due to the fact that we have two functions instead of one (see issue 4034). BUG=v8:4925 LOG=y Review-Url: https://codereview.chromium.org/2006733004 Cr-Commit-Position: refs/heads/master@{#36526}
-
bradnelson authored
Intersection of types is used in several places, if it yields the empty set, this indicates a type mismatch. We should emit an error in this case. Add the RECURSE() macro around IntersectResult to allow errors to propagate immediately. BUG=614291 R=ahaas@chromium.org TEST=asm-wasm LOG=N Review-Url: https://codereview.chromium.org/2011873002 Cr-Commit-Position: refs/heads/master@{#36525}
-
mlippautz authored
Revert of "[heap] Fine-grained JSArrayBuffer tracking" (patchset #3 id:80001 of https://codereview.chromium.org/2007253002/ ) Reason for revert: Breaks webgl2 conformance tests https://bugs.chromium.org/p/chromium/issues/detail?id=614730 Original issue's description: > Reland of "[heap] Fine-grained JSArrayBuffer tracking" > > Track based on JSArrayBuffer addresses on pages instead of the attached > backing store. > > Details of tracking: > - Scavenge: New space pages are processes in bulk on the main thread > - MC: Unswept pages are processed in bulk in parallel. All other pages > are processed by the sweeper concurrently. > > This reverts commit 93fe04af. > > R=hpayer@chromium.org > BUG=chromium:611688 > LOG=N > CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg,v8_linux64_tsan_rel,v8_mac64_asan_rel > > Committed: https://crrev.com/863d015e573798e263b35b31d2ab979739706533 > Cr-Commit-Position: refs/heads/master@{#36513} TBR=hpayer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:611688 Review-Url: https://codereview.chromium.org/2011563003 Cr-Commit-Position: refs/heads/master@{#36524}
-
titzer authored
This removes the last use of the old_functions section, which greatly simplifies encoding. R=bradnelson@chromium.org,aseemgarg@chromium.org,mtrofin@chromium.org BUG= Review-Url: https://codereview.chromium.org/2014533003 Cr-Commit-Position: refs/heads/master@{#36523}
-
jyan authored
Port a23222ed Original commit message: For cross-compiler-compatibility and standards compliance %p requires a void*, rather than any pointer type. R=machenbach@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG=chromium:474921 LOG=N Review-Url: https://codereview.chromium.org/2010743002 Cr-Commit-Position: refs/heads/master@{#36522}
-
https://codereview.chromium.org/2011853002/hablich authored
Reason for revert: Speculative revert because of roll block: https://codereview.chromium.org/2004203004/ Original issue's description: > [gn] Add unittests > > BUG=chromium:474921 > NOTRY=true > > Committed: https://crrev.com/67e549ec5b34ad02506abb2720c6a0851ae31f5e > Cr-Commit-Position: refs/heads/master@{#36510} TBR=vogelheim@chromium.org,bmeurer@chromium.org,machenbach@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:474921 Review-Url: https://codereview.chromium.org/2004373005 Cr-Commit-Position: refs/heads/master@{#36521}
-
https://codereview.chromium.org/2007143003/hablich authored
Reason for revert: Reason for revert: Speculative revert because of roll block: https://codereview.chromium.org/2004203004/ Original issue's description: > [gn] Add cctest > > BUG=chromium:474921 > NOTRY=true > > Committed: https://crrev.com/52a6fced896e3f64ac56eb57bcdea78393642e0c > Cr-Commit-Position: refs/heads/master@{#36517} TBR=vogelheim@chromium.org,machenbach@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:474921 Review-Url: https://codereview.chromium.org/2008543007 Cr-Commit-Position: refs/heads/master@{#36520}
-
bjaideep authored
Port a23222ed Original commit message: For cross-compiler-compatibility and standards compliance %p requires a void*, rather than any pointer type. R=machenbach@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG=chromium:474921 LOG=N Review-Url: https://codereview.chromium.org/2009653002 Cr-Commit-Position: refs/heads/master@{#36519}
-
jyan authored
Port a6ddbef0 Original commit message: The TurboFan inliner makes use of these counts. R=mvstanton@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= Review-Url: https://codereview.chromium.org/2014563002 Cr-Commit-Position: refs/heads/master@{#36518}
-
machenbach authored
BUG=chromium:474921 NOTRY=true Review-Url: https://codereview.chromium.org/2007143003 Cr-Commit-Position: refs/heads/master@{#36517}
-
ahaas authored
R=bradnelson@chromium.org, titzer@chromium.org Review-Url: https://codereview.chromium.org/2011893002 Cr-Commit-Position: refs/heads/master@{#36516}
-
ahaas authored
Signalling an error to the ErrorThrower causes a heap allocation and should therefore not happen in the parallel phase of the compilation. Additionally I did some refactoring: I pulled the function BuildGraphForWasmFunction into the WasmCompilationUnit and as a consequence I can use the class fields directly instead of passing them as parameters. BUG=chromium::614291 LOG=N R=titzer@chromium.org, bradnelson@chromium.org Review-Url: https://codereview.chromium.org/2007113004 Cr-Commit-Position: refs/heads/master@{#36515}
-
yangguo authored
R=cbruni@chromium.org Committed: https://crrev.com/53d4594b849bed40d96389f00b6ce0ca1fff05bb Cr-Commit-Position: refs/heads/master@{#36499} Review-Url: https://codereview.chromium.org/2010533002 Cr-Commit-Position: refs/heads/master@{#36514}
-
mlippautz authored
Track based on JSArrayBuffer addresses on pages instead of the attached backing store. Details of tracking: - Scavenge: New space pages are processes in bulk on the main thread - MC: Unswept pages are processed in bulk in parallel. All other pages are processed by the sweeper concurrently. This reverts commit 93fe04af. R=hpayer@chromium.org BUG=chromium:611688 LOG=N CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg,v8_linux64_tsan_rel,v8_mac64_asan_rel Review-Url: https://codereview.chromium.org/2007253002 Cr-Commit-Position: refs/heads/master@{#36513}
-
yangguo authored
Revert of [json] support replacer function in BasicJsonStringifier. (patchset #4 id:60001 of https://codereview.chromium.org/2010533002/ ) Reason for revert: Layout test failure: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/7029 Original issue's description: > [json] support replacer function in BasicJsonStringifier. > > R=cbruni@chromium.org > > Committed: https://crrev.com/53d4594b849bed40d96389f00b6ce0ca1fff05bb > Cr-Commit-Position: refs/heads/master@{#36499} TBR=cbruni@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2008293002 Cr-Commit-Position: refs/heads/master@{#36512}
-
bmeurer authored
Caching nodes with mutable inputs is a bad idea and already blew up twice now, so in order to avoid further breakage, let's kill the EmptyFrameState caching on JSGraph completely and only cache the empty state values there. We can remove the hacking from JSTypedLowering completely once we have the PlainPrimitiveToNumber in action. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2006423003 Cr-Commit-Position: refs/heads/master@{#36511}
-
machenbach authored
BUG=chromium:474921 NOTRY=true Review-Url: https://codereview.chromium.org/2011853002 Cr-Commit-Position: refs/heads/master@{#36510}
-