- 23 Sep, 2016 40 commits
-
-
kozyatinskiy authored
We need this to run checks for debugger-script and injected-script-source. BUG=chromium:645640 R=machenbach@chromium.org Review-Url: https://codereview.chromium.org/2363073003 Cr-Commit-Position: refs/heads/master@{#39691}
-
caitp authored
Add some micro-benchmarks to help measure the impact and benefit of String Iterator optimizations. BUG=v8:5388 R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2364743003 Cr-Commit-Position: refs/heads/master@{#39690}
-
neis authored
Resolve imports and indirect exports at instantiation time. With this CL we have some basic functionality for modules working. Not yet supported: star exports, namespace imports, cycle detection, proper variable initialisation in mutually recursive modules. BUG=v8:1569 Review-Url: https://codereview.chromium.org/2362083002 Cr-Commit-Position: refs/heads/master@{#39689}
-
jkummerow authored
This extends the KeyedLoadIC_Megamorphic stub to call getters it found on the receiver without falling back to a runtime call. Review-Url: https://codereview.chromium.org/2362453004 Cr-Commit-Position: refs/heads/master@{#39688}
-
littledan authored
DevTools wants to be able to detect async functions in order to print their synopsis better in stack traces and tooltips. This patch provides a simple method to do the check. BUG=v8:4483 Review-Url: https://codereview.chromium.org/2365833002 Cr-Commit-Position: refs/heads/master@{#39687}
-
jbroman authored
Some DOM objects, like FileList, have indexed property handlers, and become JS_SPECIAL_API_OBJECT_TYPE. BUG=chromium:148757 Review-Url: https://codereview.chromium.org/2364053003 Cr-Commit-Position: refs/heads/master@{#39686}
-
machenbach authored
Revert of [wasm] Master CL for Binary 0xC changes. (patchset #26 id:490001 of https://codereview.chromium.org/2345593003/ ) Reason for revert: Main suspect for tsan: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/11893 Also changes layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/10036 +mips builder: https://build.chromium.org/p/client.v8.ports/builders/V8%20Mips%20-%20builder/builds/4032 Original issue's description: > [wasm] Master CL for Binary 0xC changes. > > [0xC] Convert to stack machine semantics. > [0xC] Use section codes instead of names. > [0xC] Add elements section decoding. > [0xC] Decoding of globals section. > [0xC] Decoding of memory section. > [0xC] Decoding of imports section. > [0xC] Decoding of exports section. > [0xC] Decoding of data section. > [0xC] Remove CallImport bytecode. > [0xC] Function bodies have an implicit block. > [0xC] Remove the bottom label from loops. > [0xC] Add signatures to blocks. > [0xC] Remove arities from branches. > Add tests for init expression decoding. > Rework compilation of import wrappers and how they are patched. > Rework function indices in debugging. > Fix ASM->WASM builder for stack machine. > Reorganize asm.js foreign functions due to import indices change. > > R=ahaas@chromium.org,rossberg@chromium.org,bradnelson@chromium.org > BUG=chromium:575167 > LOG=Y > > Committed: https://crrev.com/76eb976a67273b8c03c744f64ad850b0432554b9 > Cr-Commit-Position: refs/heads/master@{#39678} TBR=ahaas@chromium.org,bradnelson@chromium.org,mtrofin@chromium.org,rossberg@chromium.org,bradnelson@google.com,titzer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:575167 Review-Url: https://codereview.chromium.org/2361053004 Cr-Commit-Position: refs/heads/master@{#39685}
-
jkummerow authored
Megamorphic keyed loads often load fast properties from the receiver (as opposed to its prototype chain). They should avoid polluting the stub cache for this. Drive-by fix: --trace-ic printed two identical log lines for KeyedLoadIC misses taking the LoadIC::Load path. Review-Url: https://codereview.chromium.org/2358373002 Cr-Commit-Position: refs/heads/master@{#39684}
-
machenbach authored
Reland of [fullcodegen] Refactor code that calls store ICs. (patchset #1 id:1 of https://codereview.chromium.org/2363123002/ ) Reason for revert: Didn't help Original issue's description: > Revert of [fullcodegen] Refactor code that calls store ICs. (patchset #1 id:20001 of https://codereview.chromium.org/2363513003/ ) > > Reason for revert: > race suspect: > https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/11893 > > Original issue's description: > > [fullcodegen] Refactor code that calls store ICs. > > > > Make FCG::CallStoreIC() load slot and name and make FCG::CallKeyedStoreIC() load > > slot according to store IC calling convention (StoreDescriptor). > > > > BUG=v8:5407 > > > > Committed: https://crrev.com/12918397b4af7b2bede8b29e1e9b1940d5d5ad3b > > Cr-Commit-Position: refs/heads/master@{#39679} > > TBR=mvstanton@chromium.org,ishell@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=v8:5407 > > Committed: https://crrev.com/51fa56d1b8e9e320f7442682415e9df50ab19591 > Cr-Commit-Position: refs/heads/master@{#39682} TBR=mvstanton@chromium.org,ishell@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5407 Review-Url: https://codereview.chromium.org/2361393005 Cr-Commit-Position: refs/heads/master@{#39683}
-
machenbach authored
Revert of [fullcodegen] Refactor code that calls store ICs. (patchset #1 id:20001 of https://codereview.chromium.org/2363513003/ ) Reason for revert: race suspect: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/11893 Original issue's description: > [fullcodegen] Refactor code that calls store ICs. > > Make FCG::CallStoreIC() load slot and name and make FCG::CallKeyedStoreIC() load > slot according to store IC calling convention (StoreDescriptor). > > BUG=v8:5407 > > Committed: https://crrev.com/12918397b4af7b2bede8b29e1e9b1940d5d5ad3b > Cr-Commit-Position: refs/heads/master@{#39679} TBR=mvstanton@chromium.org,ishell@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5407 Review-Url: https://codereview.chromium.org/2363123002 Cr-Commit-Position: refs/heads/master@{#39682}
-
bmeurer authored
The source size is not a real indicator for whether or not to inline a certain function. R=ishell@chromium.org, jarin@chromium.org BUG=v8:3354,v8:5267 Committed: https://chromium.googlesource.com/v8/v8/+/1b33028607637ba8cb2d60433811f825b00a0cc1 Review-Url: https://codereview.chromium.org/2361813002 Cr-Commit-Position: refs/heads/master@{#39681}
-
cbruni authored
Revert of [api] Clean up scopes and precheck instantiations cache (patchset #3 id:40001 of https://codereview.chromium.org/2206773003/ ) Reason for revert: Regresses API see go/v8-startup-api Original issue's description: > [api] Clean up scopes and precheck instantiations cache > > Make sure all the scopes used in api-natives.cc have inlineable constructors > and destructors. Additionally directly precheck the instantiations cache before > trying to enter the InvokeScope which sets the save_context. > > BUG=chromium:630217 > > Committed: https://crrev.com/a2496b942cad524f0f3144b107936eaa9a7c9fd5 > Cr-Commit-Position: refs/heads/master@{#38346} TBR=yangguo@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=chromium:630217, chromium:635912 Review-Url: https://codereview.chromium.org/2366903003 Cr-Commit-Position: refs/heads/master@{#39680}
-
ishell authored
Make FCG::CallStoreIC() load slot and name and make FCG::CallKeyedStoreIC() load slot according to store IC calling convention (StoreDescriptor). BUG=v8:5407 Review-Url: https://codereview.chromium.org/2363513003 Cr-Commit-Position: refs/heads/master@{#39679}
-
titzer authored
[0xC] Convert to stack machine semantics. [0xC] Use section codes instead of names. [0xC] Add elements section decoding. [0xC] Decoding of globals section. [0xC] Decoding of memory section. [0xC] Decoding of imports section. [0xC] Decoding of exports section. [0xC] Decoding of data section. [0xC] Remove CallImport bytecode. [0xC] Function bodies have an implicit block. [0xC] Remove the bottom label from loops. [0xC] Add signatures to blocks. [0xC] Remove arities from branches. Add tests for init expression decoding. Rework compilation of import wrappers and how they are patched. Rework function indices in debugging. Fix ASM->WASM builder for stack machine. Reorganize asm.js foreign functions due to import indices change. R=ahaas@chromium.org,rossberg@chromium.org,bradnelson@chromium.org BUG=chromium:575167 LOG=Y Review-Url: https://codereview.chromium.org/2345593003 Cr-Commit-Position: refs/heads/master@{#39678}
-
klaasb authored
Previously we would not have a total count of ICs when interpreting and thus the check for sufficient type info would always succeed. Also use the optimization checks for OSR while waiting for baseline compilation and refactor the check. BUG=v8:4280 BUG=chromium:634884 Review-Url: https://codereview.chromium.org/2360913003 Cr-Commit-Position: refs/heads/master@{#39677}
-
jacob.bramley authored
CpuFeatures::IsSupported(feature) indicates that the feature is available on the target. AssemblerBase::IsEnabled(feature) indicates that we've checked for support (using CpuFeatureScope). The main benefit is that we can test on (for example) ARMv8, but have some assurance that we won't generate ARMv8 instructions on ARMv7 targets. This patch simply cleans up the usage, which had become inconsistent. The instruction emission functions now check not only that their dependent features are supported, but also that we've verified that using CpuFeatureScope. BUG= Review-Url: https://codereview.chromium.org/2360243002 Cr-Commit-Position: refs/heads/master@{#39676}
-
ishell authored
Namely: Runtime_LoadIC_MissFromStubFailure Runtime_StoreIC_MissFromStubFailure Runtime_KeyedStoreIC_MissFromStubFailure BUG=chromium:608675 Review-Url: https://codereview.chromium.org/2346743003 Cr-Commit-Position: refs/heads/master@{#39675}
-
danno authored
Review-Url: https://codereview.chromium.org/2362113003 Cr-Commit-Position: refs/heads/master@{#39674}
-
marja authored
It looks like it tried to trigger lazy inner function parsing by inserting a comment into an inner function. 1) We don't have lazy inner functions yet. 2) Even if we had, there's no way this heuristic could trigger laziness: we need to do the laziness decision upfront, without looking at the contents / size of the function. 3) Some of the combinations were weird: lazy_outer but non-lazy inner? In the current heuristics, only the total script size affects laziness; in particular, it doesn't matter where the long comment is. R=mstarzinger@chromium.org BUG= Review-Url: https://codereview.chromium.org/2364003002 Cr-Commit-Position: refs/heads/master@{#39673}
-
ishell authored
According to new store IC calling convention the value, slot and vector are passed on the stack and there's no need in trying to preserve values or respective registers in store handlers. Nice bonus: we also don't need virtual registers anymore. BUG=v8:5407 Review-Url: https://codereview.chromium.org/2357323003 Cr-Commit-Position: refs/heads/master@{#39672}
-
jgruber authored
Moving ToInteger to CodeStubAssembler allows us to inline it in several builtins. In a follow-up commit, we'll add a TruncationMode argument to specify how -0.0 should be handled. BUG= Review-Url: https://codereview.chromium.org/2364473006 Cr-Commit-Position: refs/heads/master@{#39671}
-
verwaest authored
Remove ARGUMENTS_VARIABLE and fix crankshaft to properly detect the arguments object and keep it alive when inlining .apply BUG= Review-Url: https://codereview.chromium.org/2367483003 Cr-Commit-Position: refs/heads/master@{#39670}
-
ishell authored
Review-Url: https://codereview.chromium.org/2362203002 Cr-Commit-Position: refs/heads/master@{#39669}
-
cbruni authored
Group-Total-V8 contains all but Group-Callback times which should lead to more stable data. R=hablich@chromium.org NOTRY=true BUG= Review-Url: https://codereview.chromium.org/2366523002 Cr-Commit-Position: refs/heads/master@{#39668}
-
balazs.kilvady authored
The running time of optdebug.quickcheck is improved by 8% while a more strict DCHECKing is kept in simulator. Review-Url: https://codereview.chromium.org/1349403003 Cr-Commit-Position: refs/heads/master@{#39667}
-
mvstanton authored
BUG= Review-Url: https://codereview.chromium.org/2366433003 Cr-Commit-Position: refs/heads/master@{#39666}
-
machenbach authored
BUG=chromium:644096 TBR=thakis@chromium.org NOTRY=true Review-Url: https://codereview.chromium.org/2369493002 Cr-Commit-Position: refs/heads/master@{#39665}
-
ivica.bogosavljevic authored
BUG= Review-Url: https://codereview.chromium.org/2359923003 Cr-Commit-Position: refs/heads/master@{#39664}
-
sashab authored
Revert of Fix bitfield enums to not trigger upcoming Clang warning (patchset #3 id:40001 of https://codereview.chromium.org/2349153002/ ) Reason for revert: Causes warning in GCC. Original issue's description: > Fix bitfield enums to not trigger upcoming Clang warning > > Fix bitfield enums to not trigger upcoming Clang warning regarding > non-unsigned enum bitfields producing non-portable code. > > For more details, see the patch here: https://reviews.llvm.org/D24289 > > BUG=648462 > > Committed: https://crrev.com/a81e00d533454a7179f8f954505a8f033e941a8a > Cr-Commit-Position: refs/heads/master@{#39649} TBR=jochen@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=648462 Review-Url: https://codereview.chromium.org/2361013003 Cr-Commit-Position: refs/heads/master@{#39663}
-
vogelheim authored
R=marja@chromium.org BUG=v8:4947 Review-Url: https://codereview.chromium.org/2366573002 Cr-Commit-Position: refs/heads/master@{#39662}
-
machenbach authored
Revert of [turbofan] Don't take into account source size for inlining heuristics. (patchset #4 id:60001 of https://codereview.chromium.org/2361813002/ ) Reason for revert: timeouts on windows: https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20debug/builds/12504 Original issue's description: > [turbofan] Don't take into account source size for inlining heuristics. > > The source size is not a real indicator for whether or not to inline a > certain function. > > R=ishell@chromium.org, jarin@chromium.org > BUG=v8:3354,v8:5267 > > Committed: https://chromium.googlesource.com/v8/v8/+/1b33028607637ba8cb2d60433811f825b00a0cc1 TBR=ishell@chromium.org,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:3354,v8:5267 Review-Url: https://codereview.chromium.org/2362853003 Cr-Commit-Position: refs/heads/master@{#39661}
-
Michael Starzinger authored
This adds handling of {IrOpcode::kStringCharCodeAt} nodes to the escape status analysis. Such uses are treated as escaping for now until we add dedicated handling to the escape analysis reducer. R=bmeurer@chromium.org BUG=chromium:649492 Review URL: https://codereview.chromium.org/2363063002 . Cr-Commit-Position: refs/heads/master@{#39660}
-
Benedikt Meurer authored
The source size is not a real indicator for whether or not to inline a certain function. R=ishell@chromium.org, jarin@chromium.org BUG=v8:3354,v8:5267 Review URL: https://codereview.chromium.org/2361813002 . Cr-Commit-Position: refs/heads/master@{#39659}
-
Benedikt Meurer authored
R=epertoso@chromium.org Review URL: https://codereview.chromium.org/2360233004 . Cr-Commit-Position: refs/heads/master@{#39658}
-
bmeurer authored
Revert of [turbofan] ChangeFloat64ToTagged shouldn't canonicalize. (patchset #3 id:40001 of https://codereview.chromium.org/2367593003/ ) Reason for revert: Causes tree breakage: https://build.chromium.org/p/client.v8/builders/V8%20Win64/builds/12916/steps/Check/logs/typedarray Original issue's description: > [turbofan] ChangeFloat64ToTagged shouldn't canonicalize. > > This matches current Crankshaft/fullcodegen behavior more closely and > thus reduces the chances that we run into unnecessary polymorphism due > to the field representation tracking in our object model. > > R=jarin@chromium.org > BUG=v8:5267 > > Committed: https://chromium.googlesource.com/v8/v8/+/6a939714e991ebf10d56ddbd2869325cca99c0ef TBR=jarin@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5267 Review-Url: https://codereview.chromium.org/2358123007 Cr-Commit-Position: refs/heads/master@{#39657}
-
Michael Starzinger authored
This makes sure the {EscapeAnalysisReducer} inserts proper {TypeGuard} nodes if the replacement node is not a subtype of the original node. This happens predominantly for code that has been made unreachable by type checks. R=jarin@chromium.org TEST=mjsunit/regress/regress-crbug-640497 BUG=chromium:640497 Review URL: https://codereview.chromium.org/2363573003 . Cr-Commit-Position: refs/heads/master@{#39656}
-
Benedikt Meurer authored
This matches current Crankshaft/fullcodegen behavior more closely and thus reduces the chances that we run into unnecessary polymorphism due to the field representation tracking in our object model. R=jarin@chromium.org BUG=v8:5267 Review URL: https://codereview.chromium.org/2367593003 . Cr-Commit-Position: refs/heads/master@{#39655}
-
Benedikt Meurer authored
Rename the high-level operators CheckTaggedSigned to CheckSmi and CheckTaggedPointer to CheckHeapObject, to better match the naming convention (i.e. ObjectIsSmi and CheckSmi, ObjectIsString and CheckString, etc.). For lowering CheckSmi, always report TaggedSigned representation and let the RepresentationChanger come up with a reasonable conversion from whatever input representation to TaggedSigned. This way we no longer insert the useless ChangeSomethingToTagged and then Smi check the result sequences, i.e. mostly reduces the amount of useless code being generated. But we also observe a few performance improvements on some crypto benchmarks. This would enable us to avoid the Smi canonicalization when going from Float64 to Tagged completely and thus match the representation selection of Crankshaft in many areas (which might reduce the amount of polymorphism until we fix our object model). A follow-up CL will do the same for CheckHeapObject. BUG=v8:5267 R=jarin@chromium.org Review URL: https://codereview.chromium.org/2362173003 . Cr-Commit-Position: refs/heads/master@{#39654}
-
jgruber authored
This ports the platform-specific SubStringStub to TurboFan. It also contains a minor bug-fix for the case when the requested substring length equals the subject string length, but the start index is not equal to 0. The old stub implementation returned the subject string, while the new implementation calls into runtime, which finally results in a thrown exception. BUG=v8:5415 Review-Url: https://codereview.chromium.org/2355793003 Cr-Commit-Position: refs/heads/master@{#39653}
-
hablich authored
Revert of Pool implementation for zone segments (patchset #9 id:420001 of https://codereview.chromium.org/2335343007/ ) Reason for revert: Blocks Roll https://codereview.chromium.org/2366733002/ Original issue's description: > Pool implementation for zone segments > > BUG=v8:5409 > > Committed: https://crrev.com/37c688a24578e787d3d8941093563ed049c3497e > Cr-Commit-Position: refs/heads/master@{#39631} TBR=jkummerow@chromium.org,jochen@chromium.org,verwaest@chromium.org,heimbuef@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5409 Review-Url: https://codereview.chromium.org/2365843002 Cr-Commit-Position: refs/heads/master@{#39652}
-