- 13 Jun, 2016 3 commits
-
-
machenbach authored
Revert of [wasm] Refactor function name table and lookup (patchset #2 id:20001 of https://codereview.chromium.org/2057523002/ ) Reason for revert: [Sheriff] Speculative revert for flaky gc stress crashes, e.g.: https://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/6592 https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/6143 Original issue's description: > [wasm] Refactor function name table and lookup > > The function name table will now always be set; a CHECK will fail if > the length would exceed the integer range. > Also, the resolution of undefined function names to "<WASM UNNAMED>" is > moved over to the wasm side. > > R=titzer@chromium.org > > Committed: https://crrev.com/3400ee9f4f21a455b7850ec42a4182a3c0eba310 > Cr-Commit-Position: refs/heads/master@{#36918} TBR=titzer@chromium.org,clemensh@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/2062793002 Cr-Commit-Position: refs/heads/master@{#36925}
-
mvstanton authored
We'd like to track performance metrics in an automated way. This CL introduces --turbo-stats-nvp which exposes --turbo-stats information in {"name"=value} pair format. BUG= Review-Url: https://codereview.chromium.org/2053383002 Cr-Commit-Position: refs/heads/master@{#36919}
-
clemensh authored
The function name table will now always be set; a CHECK will fail if the length would exceed the integer range. Also, the resolution of undefined function names to "<WASM UNNAMED>" is moved over to the wasm side. R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2057523002 Cr-Commit-Position: refs/heads/master@{#36918}
-
- 08 Jun, 2016 1 commit
-
-
jochen authored
BUG=chromium:618305 R=verwaest@chromium.org Review-Url: https://codereview.chromium.org/2045273002 Cr-Commit-Position: refs/heads/master@{#36827}
-
- 06 Jun, 2016 1 commit
-
-
cbruni authored
Passing in the isolate and pointer compare the instnance against the corresponding constant is always faster than decoding the instance types. BUG= Review-Url: https://codereview.chromium.org/2028983002 Cr-Commit-Position: refs/heads/master@{#36744}
-
- 26 May, 2016 1 commit
-
-
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 2 commits
-
-
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}
-
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}
-
- 24 May, 2016 1 commit
-
-
jgruber authored
Script position calculation logic (i.e. line & column numbers for a given code position) is now based on a single method Script::GetPositionInfo(). Refactored related code in isolate.cc and js/messages.js to use the new method. The line_ends accessor is still in use by chromium and thus cannot be removed yet. R=yangguo@chromium.org BUG= Review-Url: https://codereview.chromium.org/2002993002 Cr-Commit-Position: refs/heads/master@{#36458}
-
- 20 May, 2016 3 commits
-
-
hpayer authored
BUG=chromium:613518 LOG=n Review-Url: https://codereview.chromium.org/1999743002 Cr-Commit-Position: refs/heads/master@{#36411}
-
machenbach authored
Revert of Refactor script position calculation (patchset #3 id:40001 of https://codereview.chromium.org/2003483002/ ) Reason for revert: Crashes gc stress with custom snapshot: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/5763 Original issue's description: > Refactor script position calculation > > Script position calculation logic (i.e. line & column numbers for a > given code position) is now based on a single method > Script::GetPositionInfo(). Refactored related code in isolate.cc and > js/messages.js to use the new method. The line_ends accessor is still > in use by chromium and thus cannot be removed yet. > > R=yangguo@chromium.org > BUG= > > Committed: https://crrev.com/2f3879d54633c4076d38e9fc85b6e2e157c61548 > Cr-Commit-Position: refs/heads/master@{#36398} TBR=yangguo@chromium.org,jgruber@chromium.org,jgruber@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/1995323002 Cr-Commit-Position: refs/heads/master@{#36403}
-
jgruber authored
Script position calculation logic (i.e. line & column numbers for a given code position) is now based on a single method Script::GetPositionInfo(). Refactored related code in isolate.cc and js/messages.js to use the new method. The line_ends accessor is still in use by chromium and thus cannot be removed yet. R=yangguo@chromium.org BUG= Review-Url: https://codereview.chromium.org/2003483002 Cr-Commit-Position: refs/heads/master@{#36398}
-
- 19 May, 2016 3 commits
-
-
machenbach authored
Revert of Refactor script position calculation (patchset #6 id:100001 of https://codereview.chromium.org/1986173002/ ) Reason for revert: Breaks layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/6896 Original issue's description: > Refactor script position calculation > > Script position calculation logic (i.e. line & column numbers for a > given code position) is now based on a single method > Script::GetPositionInfo(). Refactored related code in isolate.cc and > js/messages.js to use the new method and removed the line_ends JS > accessor. > > R=yangguo@chromium.org > BUG= > > Committed: https://crrev.com/c04d547298ce4fd425ef1eaa9b02ad1e177918dc > Cr-Commit-Position: refs/heads/master@{#36359} TBR=yangguo@chromium.org,jgruber@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/1994973002 Cr-Commit-Position: refs/heads/master@{#36368}
-
jgruber authored
Script position calculation logic (i.e. line & column numbers for a given code position) is now based on a single method Script::GetPositionInfo(). Refactored related code in isolate.cc and js/messages.js to use the new method and removed the line_ends JS accessor. R=yangguo@chromium.org BUG= Review-Url: https://codereview.chromium.org/1986173002 Cr-Commit-Position: refs/heads/master@{#36359}
-
clemensh authored
Empty function names are allowed and are output as such, unnamed functions or functions with no valid UTF-8 name are output as "<WASM UNNAMED>", while the CallSite object returns null as the function name. R=titzer@chromium.org, yangguo@chromium.org Review-Url: https://codereview.chromium.org/1970503004 Cr-Commit-Position: refs/heads/master@{#36348}
-
- 17 May, 2016 1 commit
-
-
bmeurer authored
This adds back the instanceof operator support in the backends and introduces a @@hasInstance protector cell on the isolate that guards the fast path for the InstanceOfStub. This way we recover the ~10% regression on Octane EarleyBoyer in Crankshaft and greatly improve TurboFan and Ignition performance of instanceof. R=ishell@chromium.org TBR=hpayer@chromium.org,rossberg@chromium.org BUG=chromium:597249, v8:4447 LOG=n Review-Url: https://codereview.chromium.org/1980483003 Cr-Commit-Position: refs/heads/master@{#36275}
-
- 13 May, 2016 1 commit
-
-
yangguo authored
R=cbruni@chromium.org Review-Url: https://codereview.chromium.org/1974243002 Cr-Commit-Position: refs/heads/master@{#36226}
-
- 12 May, 2016 1 commit
-
-
cbruni authored
Currently we do not check for @@isConcatSpreadable properly. If the Symbol is set on the Array.prototype or Object.prototype the current fast paths fail. This CL adds a fix to globally invalidate a isConcatSpreadable_protector. Drive-by-fix: use named accessors for context variables LOG=N BUG=chromium:542504, v8:903 Review-Url: https://codereview.chromium.org/1409123003 Cr-Commit-Position: refs/heads/master@{#36201}
-
- 10 May, 2016 2 commits
-
-
bmeurer authored
Treat --trace-turbo and --trace-turbo-graph similar to --trace-hydrogen and --trace-hydrogen-stubs, in that we disable concurrent recompilation in that case (otherwise we cannot print heap objects and stuff). R=ishell@chromium.org BUG=v8:4969 LOG=n Review-Url: https://codereview.chromium.org/1965653003 Cr-Commit-Position: refs/heads/master@{#36123}
-
littledan authored
- Inline reads to the species protector - Put V8_LIKELY/V8_UNLIKELY to guide Array.prototype.{slice,splice,concat} to the fast paths - Put the Array species good path checks directly in Array.prototype.concat to avoid a couple reads of the array constructor from the native context These changes together bring a ~4-6% win on kraken-orig/stanford-crypto-pbkdf2-orig which more than makes up from the performance degradation from a recent other species-related change. BUG=chromium:609739 R=cbruni@chromium.org LOG=Y Review-Url: https://codereview.chromium.org/1958713003 Cr-Commit-Position: refs/heads/master@{#36121}
-
- 06 May, 2016 1 commit
-
-
clemensh authored
This changes different locations to extract the reference to the wasm object and the function index from the stack trace, and make it available through all the APIs which process stack traces. The javascript CallSite object now has the new methods isWasm(), getWasmObject() and getWasmFunctionIndex(); the byte offset is available via getPosition(). Function names of wasm frames should be fully functional with this commit, position information works reliably for calls, but not for traps like unreachable or out-of-bounds accesses. R=titzer@chromium.org, yangguo@chromium.org Review-Url: https://codereview.chromium.org/1909353002 Cr-Commit-Position: refs/heads/master@{#36067}
-
- 04 May, 2016 1 commit
-
-
littledan authored
Previously, the species protector was invalidated whenever the __proto__ of an Array instance was manipulated. Then, if the map's new_target_is_base field remained set, it was correct to conclude that GetPrototypeOf(array) was %ArrayPrototype%. However, this choice caused the popular D3 framework to invalidate the species protector, causing many functions to become slower. This patch eliminates that aspect of the species protector. Instead, the check is to look at the instance->map()->prototype(). It is valid to look directly at the map's prototype slot, ignoring hidden prototypes and proxies, because - This is only called on Array instances, so the receiver cannot be a Proxy. - For hidden prototypes, any inaccuracy would only result in conservatively taking the slow path. Theoretically, this patch could make methods applied to arrays from other contexts slower. However, the slowdown would only affect a particular array instance and not have a global spill-over effect. Further, the slowdown could be addressed by tracking, either in the instance's map or in the actual prototype object, whether it is a %ArrayPrototype% from any context, in a way which is cheap to query, and use that rather than comparing to the currently executing native context. In interactive testing, this patch led the OnShape CAD system to experience faster load times (110+s -> 40s). BUG=chromium:606207 LOG=Y Review-Url: https://codereview.chromium.org/1936393002 Cr-Commit-Position: refs/heads/master@{#36033}
-
- 26 Apr, 2016 1 commit
-
-
littledan authored
This patch ensures that the species protector does not cause any slow paths to be taken when --harmony-species is off by refraining from writing to and reading from the protector when the flag is off. BUG=chromium:606207 R=adamk LOG=Y Review URL: https://codereview.chromium.org/1918383002 Cr-Commit-Position: refs/heads/master@{#35800}
-
- 25 Apr, 2016 1 commit
-
-
jochen authored
Returns true while V8 executes microtasks BUG= R=verwaest@chromium.org Review URL: https://codereview.chromium.org/1920813002 Cr-Commit-Position: refs/heads/master@{#35769}
-
- 22 Apr, 2016 1 commit
-
-
yangguo authored
This is pretty useful when debugging. There is no easy way to find the bytecode arrays on the stack. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1909663005 Cr-Commit-Position: refs/heads/master@{#35712}
-
- 19 Apr, 2016 1 commit
-
-
clemensh authored
Till now, they were just skipped. With this patch, they now show up in the DevTools on uncaught Errors with function name <WASM> and no line number or file name information (see new test case: https://chromiumcodereview.appspot.com/1875083002). R=jfb@chromium.org, titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/1865553004 Cr-Commit-Position: refs/heads/master@{#35615}
-
- 18 Apr, 2016 1 commit
-
-
neis authored
Behind --ignition-generators. Does not yet support Turbofan. TBR=bmeurer@chromium.org BUG=v8:4907 LOG=n Review URL: https://codereview.chromium.org/1884183002 Cr-Commit-Position: refs/heads/master@{#35584}
-
- 12 Apr, 2016 1 commit
-
-
jfb authored
The usage of __attribute__((format(x, y)) was either wrong or missing from multiple functions, leading to erroneous formats. This CL: - Imports PRINTF_FORMAT macro from Chrome's src/base/compiler-specific.h. - Uses it appropriately. - Imports Chrome's base/format_macros.h mainly to fix size_t formats (further cleanup could be done). - Fixes a bunch of incorrect formats. Original CL: https://codereview.chromium.org/1869433004 Reverted in: https://codereview.chromium.org/1867383002 Reverted again in: https://codereview.chromium.org/1877823003 Reverts due to non-CQ bots: - First: v8_win_dbg, v8_win64_dbg, v8_mac_dbg - Second: gc mole (added to v8_linux_rel_ng for this patch) R= jochen@chromium.org TBR= ahaas@chromium.org,bmeurer@chromium.org,yangguo@chromium.org Review URL: https://codereview.chromium.org/1872203005 Cr-Commit-Position: refs/heads/master@{#35423}
-
- 11 Apr, 2016 2 commits
-
-
https://codereview.chromium.org/1877453002/machenbach authored
Reason for revert: Breaks gc mole: https://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/9421 Original issue's description: > Fix printf formats > > The usage of __attribute__((format(x, y)) was either wrong or missing from multiple functions, leading to erroneous formats. This CL: > > - Imports PRINTF_FORMAT macro from Chrome's src/base/compiler-specific.h. > - Uses it appropriately. > - Imports Chrome's base/format_macros.h mainly to fix size_t formats (further cleanup could be done). > - Fixes a bunch of incorrect formats. > > Original CL: https://codereview.chromium.org/1869433004 > Reverted in: https://codereview.chromium.org/1867383002 > > R= jochen@chromium.org > TBR= bmeurer@chromium.org, yangguo@chromium.org, ahaas@chromium.org > > Committed: https://crrev.com/bf505329288e1b75bab0e6800371a9aac40fa5cc > Cr-Commit-Position: refs/heads/master@{#35394} TBR=jochen@chromium.org,ahaas@chromium.org,bmeurer@chromium.org,yangguo@chromium.org,jfb@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/1877823003 Cr-Commit-Position: refs/heads/master@{#35396}
-
jfb authored
The usage of __attribute__((format(x, y)) was either wrong or missing from multiple functions, leading to erroneous formats. This CL: - Imports PRINTF_FORMAT macro from Chrome's src/base/compiler-specific.h. - Uses it appropriately. - Imports Chrome's base/format_macros.h mainly to fix size_t formats (further cleanup could be done). - Fixes a bunch of incorrect formats. Original CL: https://codereview.chromium.org/1869433004 Reverted in: https://codereview.chromium.org/1867383002 R= jochen@chromium.org TBR= bmeurer@chromium.org, yangguo@chromium.org, ahaas@chromium.org Review URL: https://codereview.chromium.org/1877453002 Cr-Commit-Position: refs/heads/master@{#35394}
-
- 08 Apr, 2016 3 commits
-
-
jfb authored
Revert of Fix printf formats (patchset #8 id:140001 of https://codereview.chromium.org/1869433004/ ) Reason for revert: One small issue easily fixed here: https://codereview.chromium.org/1867333003/ But it looks like MSVS 2013 doesn't like some of the formats and exists with the unhelpful: Stderr: f:\dd\vctools\crt\crtw32\stdio\output.c(1125) : Assertion failed: ("Incorrect format specifier", 0) It's easier to revert for now, I'll dig more into the docs: https://msdn.microsoft.com/en-us/library/56e442dc(v=vs.120).aspx https://msdn.microsoft.com/en-us/library/tcxf1dw6(v=vs.120).aspx And then resubmit, making sure I run these bots. Original issue's description: > Fix printf formats > > The usage of __attribute__((format(x, y)) was either wrong or missing from multiple functions, leading to erroneous formats. This CL: > > - Imports PRINTF_FORMAT macro from Chrome's src/base/compiler-specific.h. > - Uses it appropriately. > - Imports Chrome's base/format_macros.h mainly to fix size_t formats (further cleanup could be done). > - Fixes a bunch of incorrect formats. > > R= jochen@chromium.org, bmeurer@chromium.org, yangguo@chromium.org, ahaas@chromium.org > > Committed: https://crrev.com/6ebf9fbb93d31f9be41156a3325d58704ed4933d > Cr-Commit-Position: refs/heads/master@{#35365} TBR=jochen@chromium.org,bmeurer@chromium.org,yangguo@chromium.org,ahaas@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/1867383002 Cr-Commit-Position: refs/heads/master@{#35366}
-
jfb authored
The usage of __attribute__((format(x, y)) was either wrong or missing from multiple functions, leading to erroneous formats. This CL: - Imports PRINTF_FORMAT macro from Chrome's src/base/compiler-specific.h. - Uses it appropriately. - Imports Chrome's base/format_macros.h mainly to fix size_t formats (further cleanup could be done). - Fixes a bunch of incorrect formats. R= jochen@chromium.org, bmeurer@chromium.org, yangguo@chromium.org, ahaas@chromium.org Review URL: https://codereview.chromium.org/1869433004 Cr-Commit-Position: refs/heads/master@{#35365}
-
rmcilroy authored
Removes the seperate Ignition snapshot and build the Ignition bytecode handlers in the default snapshot. BUG=v8:4280 LOG=N Committed: https://crrev.com/1798f3fe84faff32ba44e09f6aed79245dd98d80 Cr-Commit-Position: refs/heads/master@{#35058} Review URL: https://codereview.chromium.org/1833643002 Cr-Commit-Position: refs/heads/master@{#35359}
-
- 06 Apr, 2016 2 commits
-
-
mlippautz authored
- MemoryAllocator is now part of Heap - CodeRange is now part of MemoryAllocator BUG=chromium:581076 LOG=N Review URL: https://codereview.chromium.org/1862653002 Cr-Commit-Position: refs/heads/master@{#35294}
-
clemensh authored
This particularly changes the StackTraceFrameIterator such that is not only returs JavaScriptFrames, but also WasmFrames. Because of that, some methods (Summarize, function, receiver) were pulled up to the StandardFrame, with specializations in JavaScriptFrame and WasmFrame. R=jfb@chromium.org, titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/1861283002 Cr-Commit-Position: refs/heads/master@{#35293}
-
- 05 Apr, 2016 2 commits
-
-
machenbach authored
Revert of Correctly annotate eval origin. (patchset #4 id:60001 of https://codereview.chromium.org/1854713002/ ) Reason for revert: [Sheriff] Crashes a layout test: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/5855 Original issue's description: > Correctly annotate eval origin. > > There were a couple of issues with it: > - interpreter is not supported > - the source position was just accidentally correct for full-codegen > - the eval origin could have been cached > > Also fixes a few other places to use AbstractCode. > > R=mstarzinger@chromium.org > > Committed: https://crrev.com/2f3a171adc9e620c2235bf0562145b9d4eaba66d > Cr-Commit-Position: refs/heads/master@{#35257} TBR=mstarzinger@chromium.org,yangguo@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/1858773004 Cr-Commit-Position: refs/heads/master@{#35260}
-
yangguo authored
There were a couple of issues with it: - interpreter is not supported - the source position was just accidentally correct for full-codegen - the eval origin could have been cached Also fixes a few other places to use AbstractCode. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1854713002 Cr-Commit-Position: refs/heads/master@{#35257}
-
- 04 Apr, 2016 1 commit
-
-
ishell authored
... instead of RUNTIME_ASSERT pointing to V8 guts. BUG=chromium:599067 LOG=N Review URL: https://codereview.chromium.org/1844223004 Cr-Commit-Position: refs/heads/master@{#35227}
-
- 01 Apr, 2016 1 commit
-
-
jochen authored
We expect that the majority of malloc'd memory held by V8 is allocated in Zone objects. Introduce an Allocator class that is used by Zones to manage memory, and allows for querying the current usage. BUG=none R=titzer@chromium.org,bmeurer@chromium.org,jarin@chromium.org LOG=n TBR=rossberg@chromium.org Review URL: https://codereview.chromium.org/1847543002 Cr-Commit-Position: refs/heads/master@{#35196}
-
- 30 Mar, 2016 1 commit
-
-
ishell authored
BUG=v8:4698 LOG=N TBR=rossberg@chromium.org Review URL: https://codereview.chromium.org/1842763002 Cr-Commit-Position: refs/heads/master@{#35132}
-