- 15 Jun, 2016 24 commits
-
-
alph authored
The patch introduces a dedicated dispatching class for JIT code events. It is set as a helper on the isolate. This allows classes across v8 to break their dependency on Logger and CpuProfiler. These two became just regular clients of the dispatcher. BUG=v8:4789 Review-Url: https://codereview.chromium.org/2061623002 Cr-Commit-Position: refs/heads/master@{#37005}
-
neis authored
When seeing a SuspendGenerator bytecode, the register optimizer must flush its state. R=oth@chromium.org BUG= Review-Url: https://codereview.chromium.org/2071443002 Cr-Commit-Position: refs/heads/master@{#37004}
-
bmeurer authored
This CheckBounds simplified operator is similar to the HBoundsCheck in Crankshaft, and is hooked up to the new type feedback support in the SimplifiedLowering. We use it to check the index bounds for keyed property accesses. Note to perf sheriffs: This will tank quite a few benchmarks, as the operator makes some redundant branch elimination ineffective for certain patterns of keyed accesses. This does require more serious redundancy elimination, which we will do in a separate CL. So ignore any regressions from this CL, we know there will be a few. R=jarin@chromium.org BUG=v8:4470,v8:5100 Committed: https://crrev.com/85e5567dae66a918500ae94c5568221137a0f5d4 Review-Url: https://codereview.chromium.org/2035893004 Cr-Original-Commit-Position: refs/heads/master@{#36947} Cr-Commit-Position: refs/heads/master@{#37003}
-
ishell authored
The new approach is that instead of compiling custom handlers for every global object's PropertyCell it uses single dispatcher that caches PropertyCells in respective slot of the feedback vector. Currently the new LoadGlobalIC machinery is disabled. This CL also removes unused LoadGlobalViaContext* stuff. BUG=chromium:576312 LOG=Y Review-Url: https://codereview.chromium.org/2065113002 Cr-Commit-Position: refs/heads/master@{#37002}
-
bmeurer authored
These simplified operators are used to perform the hole checks when loading elements from a holey array. Depending on the CheckHoleMode, they either return the hole as undefined or some NaN, or deoptimize if the value is the hole or the hole NaN. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2066223002 Cr-Commit-Position: refs/heads/master@{#37001}
-
caitpotter88 authored
If an active generator is found on the stack (FUNCTION_BLOCKED_UNDER_GENERATOR), and the target function is not found on top of that generator, add the error. Based on test by wingo@igalia.com and littledan@chromium.org (https://codereview.chromium.org/2035643003/) LOG=N BUG=v8:4483 R=yangguo@chromium.org, littledan@chromium.org Review-Url: https://codereview.chromium.org/2058733002 Cr-Commit-Position: refs/heads/master@{#37000}
-
jarin authored
Review-Url: https://codereview.chromium.org/2059403003 Cr-Commit-Position: refs/heads/master@{#36999}
-
machenbach authored
Fix after: https://codereview.chromium.org/2042253002/ https://codereview.chromium.org/2049743002/ Using the data file is the default now and it shouldn't be overridden in v8's build_overrides. Also the isolate logic now needs to include the gni file specifying the flag. BUG=chromium:616033 TBR=jochen@chromium.org, vogelheim@chromium.org NOTRY=true Review-Url: https://codereview.chromium.org/2062363002 Cr-Commit-Position: refs/heads/master@{#36998}
-
machenbach authored
Revert of Reland: Add a trace-event for each runtime-stats timer (CL 2052523002) (patchset #2 id:20001 of https://codereview.chromium.org/2063853002/ ) Reason for revert: [Sheriff] Speculative revert for http://crbug.com/620279 Original issue's description: > Reland: Add a trace-event for each runtime-stats timer (CL 2052523002) > > The trace-events will have a high overhead when turned on, but they are in a disabled-by-default category. > > As long as the off overhead is negligible, this CL allows us to understand the behavior of V8 rather than its performance at the moment. > > The original CL was failing the TSAN builder, the variable in question was intended to be accessed quickly with no guarantee. > Switched to using an Atomic variable with no barrier read/write. > > BUG=v8:5089 > > patch from issue 2052523002 at patchset 100001 (http://crrev.com/2052523002#ps100001) > > Committed: https://crrev.com/fd7080cbefc21f2f890b5db00d4eadf163e2cbbf > Cr-Commit-Position: refs/heads/master@{#36973} TBR=cbruni@chromium.org,fmeawad@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5089 Review-Url: https://codereview.chromium.org/2068143002 Cr-Commit-Position: refs/heads/master@{#36997}
-
jarin authored
Review-Url: https://codereview.chromium.org/2063373003 Cr-Commit-Position: refs/heads/master@{#36996}
-
mstarzinger authored
This is to make sure the test in question does not run out of stack space during bootstrapping on any configuration. Our fuzzers take the test an run it against a broad spectrum of configuration. The new size of 100 is used throughout our test suite as "the smallest" stack size. R=jkummerow@chromium.org TEST=mjsunit/regress/regress-1132 BUG=chromium:619744 Review-Url: https://codereview.chromium.org/2068993002 Cr-Commit-Position: refs/heads/master@{#36995}
-
bgeron authored
R=bmeurer@chromium.org BUG= Review-Url: https://codereview.chromium.org/2068463005 Cr-Commit-Position: refs/heads/master@{#36994}
-
alph authored
Driveby: some surrounding code refactoring/cleanup. BUG=v8:4789 Review-Url: https://codereview.chromium.org/2056253003 Cr-Commit-Position: refs/heads/master@{#36993}
-
mostynb authored
Small followup to https://codereview.chromium.org/2042253002 BUG=chromium:616033 Review-Url: https://codereview.chromium.org/2061163003 Cr-Commit-Position: refs/heads/master@{#36992}
-
yangguo authored
TBR=machenbach@chromium.org NOTRY=true Review-Url: https://codereview.chromium.org/2068083002 Cr-Commit-Position: refs/heads/master@{#36991}
-
mlippautz authored
Adds an evacuation mode that allows moving pages within new space without copying objects. Basic idea: a) Move page within new space b) Sweep page to make iterable and process ArrayBuffers c) Finish sweep till next scavenge Threshold is currently 70% live bytes, i.e., the same threshold we use to determine fragmented pages. BUG=chromium:581412 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/1957323003 Cr-Commit-Position: refs/heads/master@{#36990}
-
jarin authored
Revert of [turbofan] Stage binop type feedback. (patchset #1 id:1 of https://codereview.chromium.org/2059403003/ ) Reason for revert: Blows up on the waterfall. Original issue's description: > [turbofan] Stage binop type feedback. > > Committed: https://crrev.com/28fbec405548c43088cade1cd17d8407ca948a21 > Cr-Commit-Position: refs/heads/master@{#36988} TBR=mvstanton@chromium.org,bmeurer@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/2066193002 Cr-Commit-Position: refs/heads/master@{#36989}
-
jarin authored
Review-Url: https://codereview.chromium.org/2059403003 Cr-Commit-Position: refs/heads/master@{#36988}
-
bmeurer authored
If JSAdd or JSSubtract has number feedback, there's no benefit to use the speculative versions of NumberAdd and/or NumberSubtract. Relying on the existing operators gives us some nice truncations instead, so let's stick to that for now. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2063073004 Cr-Commit-Position: refs/heads/master@{#36987}
-
jgruber authored
Named capture groups may be specified using the /(?<name>pattern)/u syntax, with named backreferences specified as /\k<name>/u. They're hidden behind the --harmony-regexp-named-captures flag, and are only enabled for unicode regexps. R=yangguo@chromium.org BUG= Review-Url: https://codereview.chromium.org/2050343002 Cr-Commit-Position: refs/heads/master@{#36986}
-
jgruber authored
The Vector type is deprecated, and new code should use ZoneVector instead. This new overload of NewStringFromTwoByte will be used in an upcoming regexp CL. R=bmeurer@chromium.org BUG= Review-Url: https://codereview.chromium.org/2065053002 Cr-Commit-Position: refs/heads/master@{#36985}
-
bmeurer authored
Now that we have the PlainPrimitiveToNumber operator(s), we can unify all the places where we expect a number, but can also safely handle any plain-primitive (via ToNumber truncation). Drive-by-fix: Also handle Math.min consistently with Math.max. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2064953004 Cr-Commit-Position: refs/heads/master@{#36984}
-
v8-autoroll authored
Rolling v8/build to 696616b539a8ab8cf400a4cfaead772154c6645c Rolling v8/tools/clang to 792bfbf9f3126cb51eddd5c6f2f9e9a67393687b Rolling v8/tools/mb to 5c0ee173872849b18b0837590c094a8579bc0013 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2064113003 Cr-Commit-Position: refs/heads/master@{#36983}
-
zhengxing.li authored
The last 4 test cases in test/cctest/wasm/test-run-wasm-asmjs.cc added by the CL 36911 (https://codereview.chromium.org/2061583002) use float_t and double_t type for WasmRunner. For examples: At line 249: WasmRunner<float_t> r(&module, MachineType::Uint32()); But float_t and double_t depends on FLT_EVAL_METHOD macro of compiler. FLT_EVAL_METHOD is variant on different platform, if the FLT_EVAL_METHOD is 2, both float_t and double_t will be long double and gcc or clang will met error when compiling WasmRunner<long double> r(&module,MachineType::Uint32()); For more details, please refer: float_t: http://www.cplusplus.com/reference/cmath/float_t/ FLT_EVAL_METHOD: https://en.wikipedia.org/wiki/C99 check the IEEE 754 floating point support section directly. This CL used float and double to replace float_t and double_t to avoid this issue. BUG= Review-Url: https://codereview.chromium.org/2066703003 Cr-Commit-Position: refs/heads/master@{#36982}
-
- 14 Jun, 2016 16 commits
-
-
bjaideep authored
Port 6470ddad Original commit message: This introduces SilenceNaN operator, which makes sure that we only store quiet NaNs into holey arrays. We omit the NaN silencing code at instruction selection time if the input is an operation that cannot possibly produce signalling NaNs. R=jarin@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2069883002 Cr-Commit-Position: refs/heads/master@{#36981}
-
jpp authored
The modifications were necessary to properly represent asm types: 1) fround is no longer an overloaded function. 2) the constructor for MinMaxTypes now takes a return type. 3) Adds pseudo-types for representing the Load/Store types for fp heap views. BUG= Review-Url: https://codereview.chromium.org/2069443002 Cr-Commit-Position: refs/heads/master@{#36980}
-
oleksandr.chekhovskyi authored
Reporting use counts by invoking a callback once per occurrence has a large overhead cost in certain situations, for example when it needs to be dispatched to a different thread (which is the case for Web Workers). Parsing large scripts can produce a lot of occurrences (strict/sloppy mode once per function). Chromium (the only known user of UseCounters so far) does not actually care about number of occurrences, but simply whether they happened at least once. This commit changes behavior to report features at most once, which dramatically improves performance for impacted use cases, and should not affect the only known real world usage. R=littledan@chromium.org BUG=chromium:614775 Review-Url: https://codereview.chromium.org/2062203002 Cr-Commit-Position: refs/heads/master@{#36979}
-
mtrofin authored
Support for relocatable globals, to facilitate compilation before instantiation. BUG=v8:5072 Review-Url: https://codereview.chromium.org/2062003002 Cr-Commit-Position: refs/heads/master@{#36978}
-
gsathya authored
This is dead code. Review-Url: https://codereview.chromium.org/2057193004 Cr-Commit-Position: refs/heads/master@{#36977}
-
littledan authored
Revert of Fix scope flags for default parameters (patchset #2 id:20001 of https://codereview.chromium.org/2042793002/ ) Reason for revert: Does not fix the bug it intended to fix. Original issue's description: > Fix scope flags for default parameters > > R=rossberg,adamk > BUG=chromium:616386 > > Committed: https://crrev.com/4cc1331c341f5bfbeee54fec521f682a8a406af4 > Cr-Commit-Position: refs/heads/master@{#36755} TBR=adamk@chromium.org,rossberg@chromium.org,jochen@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=chromium:616386 Review-Url: https://codereview.chromium.org/2062593002 Cr-Commit-Position: refs/heads/master@{#36976}
-
vogelheim authored
Revert of [turbofan] Introduce a dedicated CheckBounds operator. (patchset #5 id:80001 of https://codereview.chromium.org/2035893004/ ) Reason for revert: Speculative revert since V8 roll is blocked. Buildbot: https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/228171 Example log: https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/228171/steps/browser_tests%20%28with%20patch%29%20on%20Ubuntu-12.04/logs/CreateNewFolder_FileManagerBrowserTest.Test_0 Failing assert: # # Fatal error in ../../v8/src/compiler/node.cc, line 63 # Node::New() Error: #202:DeoptimizeUnless[1] is nullptr # (I take it that's a rather generic assert in TF, hence the revert is somewhat sepculative.) Original issue's description: > [turbofan] Introduce a dedicated CheckBounds operator. > > This CheckBounds simplified operator is similar to the HBoundsCheck in > Crankshaft, and is hooked up to the new type feedback support in the > SimplifiedLowering. We use it to check the index bounds for keyed > property accesses. > > Note to perf sheriffs: This will tank quite a few benchmarks, as the > operator makes some redundant branch elimination ineffective for > certain patterns of keyed accesses. This does require more serious > redundancy elimination, which we will do in a separate CL. So ignore > any regressions from this CL, we know there will be a few. > > R=jarin@chromium.org > BUG=v8:4470,v8:5100 > > Committed: https://crrev.com/85e5567dae66a918500ae94c5568221137a0f5d4 > Cr-Commit-Position: refs/heads/master@{#36947} TBR=jarin@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4470,v8:5100 Review-Url: https://codereview.chromium.org/2064163002 Cr-Commit-Position: refs/heads/master@{#36975}
-
yangguo authored
R=littledan@chromium.org, mathias@qiwi.be BUG=v8:4743 Committed: https://crrev.com/92bfd13457c80f02be01551f4ea9a5badfe0e4c4 Review-Url: https://codereview.chromium.org/2059113002 Cr-Original-Commit-Position: refs/heads/master@{#36969} Cr-Commit-Position: refs/heads/master@{#36974}
-
fmeawad authored
The trace-events will have a high overhead when turned on, but they are in a disabled-by-default category. As long as the off overhead is negligible, this CL allows us to understand the behavior of V8 rather than its performance at the moment. The original CL was failing the TSAN builder, the variable in question was intended to be accessed quickly with no guarantee. Switched to using an Atomic variable with no barrier read/write. BUG=v8:5089 patch from issue 2052523002 at patchset 100001 (http://crrev.com/2052523002#ps100001) Review-Url: https://codereview.chromium.org/2063853002 Cr-Commit-Position: refs/heads/master@{#36973}
-
mstarzinger authored
R=mvstanton@chromium.org Review-Url: https://codereview.chromium.org/2063823006 Cr-Commit-Position: refs/heads/master@{#36972}
-
ishell authored
[stubs] Ensure that StoreTransitionStub does not bailout after the properties backing store is enlarged. In addition, this CL fixes --trace-hydrogen-stubs mode. BUG=chromium:601420 LOG=Y Review-Url: https://codereview.chromium.org/2068693003 Cr-Commit-Position: refs/heads/master@{#36971}
-
yangguo authored
Revert of [regexp] implement \p{Any}, \p{Ascii}, and \p{Assigned}. (patchset #3 id:40001 of https://codereview.chromium.org/2059113002/ ) Reason for revert: compile failure Original issue's description: > [regexp] implement \p{Any}, \p{Ascii}, and \p{Assigned}. > > R=littledan@chromium.org, mathias@qiwi.be > BUG=v8:4743 > > Committed: https://crrev.com/92bfd13457c80f02be01551f4ea9a5badfe0e4c4 > Cr-Commit-Position: refs/heads/master@{#36969} TBR=littledan@chromium.org,mathias@qiwi.be # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4743 Review-Url: https://codereview.chromium.org/2065083002 Cr-Commit-Position: refs/heads/master@{#36970}
-
yangguo authored
R=littledan@chromium.org, mathias@qiwi.be BUG=v8:4743 Review-Url: https://codereview.chromium.org/2059113002 Cr-Commit-Position: refs/heads/master@{#36969}
-
mlippautz authored
See bug description. BUG=chromium:619382 LOG=N R=ulan@chromium.org Review-Url: https://codereview.chromium.org/2065063002 Cr-Commit-Position: refs/heads/master@{#36968}
-
machenbach authored
Port https://codereview.chromium.org/2057053002/ for the v8-side configurations. BUG=chromium:616035 NOTRY=true TBR=vogelheim@chromium.org, jochen@chromium.org Review-Url: https://codereview.chromium.org/2066823002 Cr-Commit-Position: refs/heads/master@{#36967}
-
bmeurer authored
This is part of the fixes required to make type feedback viable for TurboFan on Octane. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2065953002 Cr-Commit-Position: refs/heads/master@{#36966}
-