- 15 Sep, 2016 26 commits
-
-
littledan authored
Reland of Put RegExp js code in strict mode (patchset #2 id:20001 of https://codereview.chromium.or… (patchset #2 id:20001 of https://codereview.chromium.org/2112713003/ ) Reason for revert: With fixes for frozen RegExps in https://codereview.chromium.org/2339443002 , it should be web-compatible to put RegExps in strict mode again, per spec. Original issue's description: > Revert of Put RegExp js code in strict mode (patchset #2 id:20001 of https://codereview.chromium.org/1776883005/ ) > > Reason for revert: > Found to break SAP Web IDE, and these semantics are not shipped in any other browser. > Revert to legacy semantics while assessing web compatibility. > > BUG=chromium:624318 > > Original issue's description: > > Put RegExp js code in strict mode > > > > src/js/regexp.js was one of the few files that was left in sloppy > > mode. The ES2017 draft specification requires that writes to > > lastIndex throw when the property is non-writable, and test262 > > tests enforce this behavior. This patch puts that file in strict > > mode. > > > > BUG=v8:4504 > > R=yangguo@chromium.org > > LOG=Y > > > > Committed: https://crrev.com/80b1b2a45bbd9bf3d08e4e6516acfaaa8f438213 > > Cr-Commit-Position: refs/heads/master@{#34801} > > TBR=yangguo@chromium.org,adamk@chromium.org > > Committed: https://crrev.com/34880eb3dcf7492d44c0a3b45b6c888189f2c3c3 > Cr-Commit-Position: refs/heads/master@{#37449} TBR=adamk@chromium.org,yangguo@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=chromium:624318 Review-Url: https://codereview.chromium.org/2344773002 Cr-Commit-Position: refs/heads/master@{#39456}
-
cbruni authored
This was one of the paths inside StackGuard that lacked a runtime counter, making it hard to assess what was going on. BUG= Review-Url: https://codereview.chromium.org/2346863002 Cr-Commit-Position: refs/heads/master@{#39455}
-
kozyatinskiy authored
There is no zero length array usage in inspector codebase. We can safely remove template specialization. It was reverted to revert another patch and is good by itself. BUG=chromium:635948 TBR=jochen@chromium.org Review-Url: https://codereview.chromium.org/2340193002 Cr-Commit-Position: refs/heads/master@{#39454}
-
kozyatinskiy authored
BUG=chromium:635948 R=dgozman@chromium.org,alph@chromium.org Review-Url: https://codereview.chromium.org/2340763003 Cr-Commit-Position: refs/heads/master@{#39453}
-
jochen authored
To avoid a dependency on the heap during parsing, we only create a scope chain without linking to the associated ScopeInfo objects before parsing. This is enough to avoid special cases during parsing of arrow functions / eval. Looking at the outer scope's variables during parsing was only needed for hosting sloppy block functions inside eval. To be able to do this now, we hoist for the outer-most eval scope after parsing, in DeclarationScope::Analyze. DeclarationScope::Analyze is also where we replace the outer scope chain with the fully deserialized version, so variables can be resolved. Also, this unifies background and foreground thread parsing, as we don't have to worry about ScopeInfos getting accessed before we're back on the main thread. BUG=v8:5215 R=verwaest@chromium.org,marja@chromium.org,adamk@chromium.org Review-Url: https://codereview.chromium.org/2306413002 Cr-Commit-Position: refs/heads/master@{#39452}
-
mtrofin authored
All parameters passed by reference must be labeled const. If the object is mutable, then we pass by pointer. BUG= Review-Url: https://codereview.chromium.org/2336233006 Cr-Commit-Position: refs/heads/master@{#39451}
-
franzih authored
We used to intercept function definitions, but not declarations. GenericNamedPropertySetterCallback now also intercepts function declarations. For definitions, we call DeclareGlobal and then InitializeVarGlobal. For declarations, we never call InitializeVarGlobal, thus we must check for interceptors in DeclareGlobal. If the semantics of a redeclaration are wrong, e.g., redeclaring a read-only property, an exception is thrown independent of whether an interceptor is installed. Usually, i.e., not during a declaration, we only throw if the call is not successfully intercepted. BUG=v8:5375 Review-Url: https://codereview.chromium.org/2334733002 Cr-Commit-Position: refs/heads/master@{#39450}
-
jpp authored
This CL implements the throw wasm opcode. This is a pre-requisite for implementing try-catches in wasm. BUG= Review-Url: https://codereview.chromium.org/2339053003 Cr-Commit-Position: refs/heads/master@{#39449}
-
mstarzinger authored
This handles the case where generating bytecode for inlining purposes causes a stack overflow. We just abort inlining but also need to clear pending exceptions. R=bmeurer@chromium.org TEST=mjsunit/regress/regress-crbug-647217 BUG=chromium:647217 Review-Url: https://codereview.chromium.org/2339383002 Cr-Commit-Position: refs/heads/master@{#39448}
-
jochen authored
R=machenbach@chromium.org BUG= Review-Url: https://codereview.chromium.org/2342663004 Cr-Commit-Position: refs/heads/master@{#39447}
-
bjaideep authored
Port c7d7ca36 Original commit message: Add a notion of "invocation count" to the baseline compilers, which increment a special slot in the TypeFeedbackVector for each invocation of a given function (the optimized code doesn't currently collect this information). Use this invocation count to relativize the call counts on the call sites within the function, so that the inlining heuristic has a view of relative importance of a call site rather than some absolute numbers with unclear meaning for the current function. Also apply the call site frequency as a factor to all frequencies in the inlinee by passing this to the graph builders so that the importance of a call site in an inlinee is relative to the topmost optimized function. Note that all functions that neither have literals nor need type feedback slots will share a single invocation count cell in the canonical empty type feedback vector, so their invocation count is meaningless, but that doesn't matter since we only use the invocation count to relativize call counts within the function, which we only have if we have at least one type feedback vector (the CallIC slot). See the design document for additional details on this change: https://docs.google.com/document/d/1VoYBhpDhJC4VlqMXCKvae-8IGuheBGxy32EOgC2LnT8 R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG=v8:5267,v8:5372 LOG=N Review-Url: https://codereview.chromium.org/2338413002 Cr-Commit-Position: refs/heads/master@{#39446}
-
ishell authored
Review-Url: https://codereview.chromium.org/2343813002 Cr-Commit-Position: refs/heads/master@{#39445}
-
mstarzinger authored
The semantics of the {BailoutId} representing an OSR entry point is different between the interpreter and the full code generator. These semantics are hard-coded in various graph builders. We need to ensure that the correct graph builder is chosen for OSR compilations. R=rmcilroy@chromium.org TEST=mjsunit/regress/regress-5380 BUG=v8:5380 Review-Url: https://codereview.chromium.org/2341663002 Cr-Commit-Position: refs/heads/master@{#39444}
-
rmcilroy authored
Ignition requires that objects which will be inserted into the constant pool are canonicalized (to enable off-thread bytecode generation). We created a CanonicalizeHandleScope across parse/compile however this impacts performance (~5-8% on CodeLoad). Now we localize the CanonicalHandleScope to only the parse / internalization and renumbering phases where objects are created which could end up in the constant array pool. This seems to address the performance regression. BUG=v8:5203,chromium:634953 Review-Url: https://codereview.chromium.org/2318653002 Cr-Commit-Position: refs/heads/master@{#39443}
-
ulan authored
Revert of [heap] Decouple old generation allocation limit from external memory. (patchset #1 id:1 of https://codereview.chromium.org/2329993002/ ) Reason for revert: Regressions in telemetry benchmarks: crbug.com/646819. Original issue's description: > [heap] Decouple old generation allocation limit from external memory. > > We check for external memory limit in Heap::ReportExternalMemoryPressure. > > BUG=chromium:616434 > > Committed: https://crrev.com/672d079ccba686019fa1457c83b42c2e692ef88b > Cr-Commit-Position: refs/heads/master@{#39374} TBR=hpayer@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=chromium:616434 Review-Url: https://codereview.chromium.org/2339033005 Cr-Commit-Position: refs/heads/master@{#39442}
-
martyn.capewell authored
When zeroing a floating point stack slot, store the zero register directly, rather than storing zero moved to an FP register. BUG= Review-Url: https://codereview.chromium.org/2339943002 Cr-Commit-Position: refs/heads/master@{#39441}
-
ahaas authored
R=titzer@chromium.org BUG=chromium:647027 Review-Url: https://codereview.chromium.org/2344853002 Cr-Commit-Position: refs/heads/master@{#39440}
-
mstarzinger authored
This is a first implementation of inlining into graphs that have been created using the {BytecodeGraphBuilder}. Note that inlining sticks to graphs of the same kind, we only ever inline AstGraph into AstGraph or BytecodeGraph into BytecodeGraph, no mixed inlining. R=bmeurer@chromium.org,rmcilroy@chromium.org TEST=cctest/test-run-inlining BUG=v8:5251 Review-Url: https://codereview.chromium.org/2262033003 Cr-Commit-Position: refs/heads/master@{#39439}
-
Alexander.Gilday2 authored
Migrate the platform DatePrototype_GetField (and all wrappers) to TurboFan. BUG=v8:5049 Review-Url: https://codereview.chromium.org/2263533002 Cr-Commit-Position: refs/heads/master@{#39438}
-
bmeurer authored
R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2338263004 Cr-Commit-Position: refs/heads/master@{#39437}
-
v8-autoroll authored
Rolling v8/build to a34a5233778556481dfa869bff735fad2157f196 Rolling v8/third_party/WebKit/Source/platform/inspector_protocol to e240fdcdb5880deb48156dbb9ccee0c28664cf88 Rolling v8/third_party/instrumented_libraries to 45f5814b1543e41ea0be54c771e3840ea52cca4a TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2347533002 Cr-Commit-Position: refs/heads/master@{#39436}
-
littledan authored
This flag has been flipped off since 52, so it is due for removal. R=adamk@chromium.org,caitp@igalia.com BUG=v8:3785 CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux_noi18n_rel_ng Review-Url: https://codereview.chromium.org/2268633002 Cr-Commit-Position: refs/heads/master@{#39435}
-
neis authored
In case of duplicate exports, always report the error for the very last one. (Fixed a bug.) BUG=v8:5358,v8:1569 Review-Url: https://codereview.chromium.org/2340953002 Cr-Commit-Position: refs/heads/master@{#39434}
-
littledan authored
Handle the "synchronous case" by marking try/catch blocks introduced for async functions as ASYNC_AWAIT and traversing up the stack, finding successive Promises and returning caught if any of them are predicted to be caught. BUG=v8:5167 Review-Url: https://codereview.chromium.org/2325813002 Cr-Commit-Position: refs/heads/master@{#39433}
-
hablich authored
Revert of [inspector] fixed all shorten-64-to-32 warnings (patchset #4 id:80001 of https://codereview.chromium.org/2332163002/ ) Reason for revert: Blocking V8 roll: https://codereview.chromium.org/2347463002/ See https://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/293368 for compile error. Original issue's description: > [inspector] fixed all shorten-64-to-32 warnings > > BUG=chromium:635948 > R=dgozman@chromium.org,alph@chromium.org > > Committed: https://crrev.com/3d10918d2e1c57d72531c55a956262f5a72fceaa > Cr-Commit-Position: refs/heads/master@{#39426} TBR=jochen@chromium.org,alph@chromium.org,dgozman@chromium.org,kozyatinskiy@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:635948 Review-Url: https://codereview.chromium.org/2339173004 Cr-Commit-Position: refs/heads/master@{#39432}
-
hablich authored
Revert of [inspector] removed ArrayLengthHelperFunction specialization for empty array (patchset #2 id:20001 of https://codereview.chromium.org/2340623002/ ) Reason for revert: needed to revert https://codereview.chromium.org/2339173004/ Original issue's description: > [inspector] removed ArrayLengthHelperFunction specialization for empty array > > There is no zero length array usage in inspector codebase. We can safely remove template specialization. > > BUG=chromium:635948 > R=dgozman@chromium.org,alph@chromium.org > > Committed: https://crrev.com/b249ffc1915d8c35ff66eae3d51d3878d588dfbf > Cr-Commit-Position: refs/heads/master@{#39428} TBR=jochen@chromium.org,alph@chromium.org,dgozman@chromium.org,kozyatinskiy@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:635948 Review-Url: https://codereview.chromium.org/2334163006 Cr-Commit-Position: refs/heads/master@{#39431}
-
- 14 Sep, 2016 14 commits
-
-
hablich authored
Revert of [modules] Make duplicate export error deterministic. (patchset #2 id:20001 of https://codereview.chromium.org/2331003002/ ) Reason for revert: Seems to break one of our arm64 bots: https://chromegw.corp.google.com/i/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug/builds/2303 Original issue's description: > [modules] Make duplicate export error deterministic. > > In case of duplicate exports, always report the error for the very last > one. > > R=adamk@chromium.org > BUG=v8:5358,v8:1569 > > Committed: https://crrev.com/da1f911c4269048d24a3442791b18523455f3b24 > Cr-Commit-Position: refs/heads/master@{#39424} TBR=adamk@chromium.org,neis@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5358,v8:1569 Review-Url: https://codereview.chromium.org/2340903002 Cr-Commit-Position: refs/heads/master@{#39430}
-
jbroman authored
Similar to json-parser. BUG=chromium:148757 Review-Url: https://codereview.chromium.org/2334353002 Cr-Commit-Position: refs/heads/master@{#39429}
-
kozyatinskiy authored
There is no zero length array usage in inspector codebase. We can safely remove template specialization. BUG=chromium:635948 R=dgozman@chromium.org,alph@chromium.org Review-Url: https://codereview.chromium.org/2340623002 Cr-Commit-Position: refs/heads/master@{#39428}
-
jochen authored
BUG=chromium:646794 R=machenbach@chromium.org Review-Url: https://codereview.chromium.org/2339933002 Cr-Commit-Position: refs/heads/master@{#39427}
-
kozyatinskiy authored
BUG=chromium:635948 R=dgozman@chromium.org,alph@chromium.org Review-Url: https://codereview.chromium.org/2332163002 Cr-Commit-Position: refs/heads/master@{#39426}
-
bjaideep authored
Port 3ccedd5d R=mvstanton@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/2330353005 Cr-Commit-Position: refs/heads/master@{#39425}
-
neis authored
In case of duplicate exports, always report the error for the very last one. R=adamk@chromium.org BUG=v8:5358,v8:1569 Review-Url: https://codereview.chromium.org/2331003002 Cr-Commit-Position: refs/heads/master@{#39424}
-
jarin authored
Review-Url: https://codereview.chromium.org/2337283002 Cr-Commit-Position: refs/heads/master@{#39423}
-
jbroman authored
This exposes an interface for the embedder to provide a delegate which can serialize or deserialize embedder-specific objects, like Blink's DOM wrappers. BUG=chromium:148757 Review-Url: https://codereview.chromium.org/2327653002 Cr-Commit-Position: refs/heads/master@{#39422}
-
ahaas authored
TEST=unittest WasmModuleVerifyTest.Global_invalid_type2 BUG=chromium:645443 R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2342593002 Cr-Commit-Position: refs/heads/master@{#39421}
-
bmeurer authored
Add a dedicated simplified operator to inline the general case for the ToBoolean conversion. In a follow up CL we will also use the ToBoolean hints gathered by the baseline compiler. CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux_arm64_gc_stress_dbg R=jarin@chromium.org BUG=v8:5267 Committed: https://crrev.com/8c50b51ab3d21efcd2f6900d83962159f21e1590 Review-Url: https://codereview.chromium.org/2167593002 Cr-Original-Commit-Position: refs/heads/master@{#37882} Cr-Commit-Position: refs/heads/master@{#39420}
-
ahaas authored
R=titzer@chromium.org BUG=chromium:646258 Review-Url: https://codereview.chromium.org/2341673002 Cr-Commit-Position: refs/heads/master@{#39419}
-
mvstanton authored
BUG= Review-Url: https://codereview.chromium.org/2342533002 Cr-Commit-Position: refs/heads/master@{#39418}
-
jgruber authored
RegExpSubclassExecJS and RegExpExecJS only differed in the additional TO_BOOLEAN on global and sticky flags and the useless (i < 0) check. R=littledan@chromium.org BUG=v8:5339 Review-Url: https://codereview.chromium.org/2337923002 Cr-Commit-Position: refs/heads/master@{#39417}
-