- 27 Feb, 2016 1 commit
-
-
bmeurer authored
Since both null and undefined are also marked as undetectable now, we can just test that bit instead of having the CompareNilIC try to collect feedback to speed up the general case (without the undetectable bit being used). Drive-by-fix: Update the type system to match the new handling of undetectable in the runtime. R=danno@chromium.org Committed: https://crrev.com/666aec0348c8793e61c8633dee7ad29a514239ba Cr-Commit-Position: refs/heads/master@{#34237} Review URL: https://codereview.chromium.org/1722193002 Cr-Commit-Position: refs/heads/master@{#34344}
-
- 26 Feb, 2016 1 commit
-
-
adamk authored
Revert of [compiler] Drop the CompareNilIC. (patchset #4 id:60001 of https://codereview.chromium.org/1722193002/ ) Reason for revert: Speculative revert in attempt to fix #2 crasher on canary. Original issue's description: > [compiler] Drop the CompareNilIC. > > Since both null and undefined are also marked as undetectable now, we > can just test that bit instead of having the CompareNilIC try to collect > feedback to speed up the general case (without the undetectable bit > being used). > > Drive-by-fix: Update the type system to match the new handling of > undetectable in the runtime. > > R=danno@chromium.org > > Committed: https://crrev.com/666aec0348c8793e61c8633dee7ad29a514239ba > Cr-Commit-Position: refs/heads/master@{#34237} TBR=danno@chromium.org,verwaest@chromium.org,bmeurer@chromium.org LOG=y BUG=chromium:589897 NOTRY=true Review URL: https://codereview.chromium.org/1743433002 Cr-Commit-Position: refs/heads/master@{#34308}
-
- 24 Feb, 2016 1 commit
-
-
bmeurer authored
Since both null and undefined are also marked as undetectable now, we can just test that bit instead of having the CompareNilIC try to collect feedback to speed up the general case (without the undetectable bit being used). Drive-by-fix: Update the type system to match the new handling of undetectable in the runtime. R=danno@chromium.org Review URL: https://codereview.chromium.org/1722193002 Cr-Commit-Position: refs/heads/master@{#34237}
-
- 02 Feb, 2016 1 commit
-
-
jarin authored
This CL removes the Config templatization from the types. It is not necessary anymore, after the HeapTypes have been removed. The CL also changes the type hierarchy - the specific type kinds are not inner classes of the Type class and they do not inherit from Type. This is partly because it seems impossible to make this work without templates. Instead, a new TypeBase class is introduced and all the structural (i.e., non-bitset) types inherit from it. The bitset type still requires the bit-munging hack and some nasty reinterpret-casts to pretend bitsets are of type Type*. Additionally, there is now the same hack for TypeBase - all pointers to the sub-types of TypeBase are reinterpret-casted to Type*. This is to keep the type constructors in inline method definitions (although it is unclear how much that actually buys us). In future, we would like to move to a model where we encapsulate Type* into a class (or possibly use Type where we used to use Type*). This would loosen the coupling between bitset size and pointer size, and eventually we would be able to have more bits. TBR=bradnelson@chromium.org Review URL: https://codereview.chromium.org/1655833002 Cr-Commit-Position: refs/heads/master@{#33656}
-
- 26 Jan, 2016 1 commit
-
-
jarin authored
This replace HeapType with a dedicated class that implements just what we need for field type tracking. In the next CL, I plan to remove FieldType::Iterator because FieldType can iterate over at most one map. The ultimate plan is to get rid of templates in types.(h|cc) and remove type-inl.h. TBR=rossberg@chromium.org Review URL: https://codereview.chromium.org/1636013002 Cr-Commit-Position: refs/heads/master@{#33521}
-
- 09 Dec, 2015 1 commit
-
-
jochen authored
Embedders still can use those APIs by default test-api.cc still has an exception to use the old APIs... BUG=v8:4143 R=vogelheim@chromium.org LOG=n Review URL: https://codereview.chromium.org/1505803004 Cr-Commit-Position: refs/heads/master@{#32701}
-
- 20 Oct, 2015 1 commit
-
-
jkummerow authored
Review URL: https://codereview.chromium.org/1405363003 Cr-Commit-Position: refs/heads/master@{#31410}
-
- 21 Sep, 2015 1 commit
-
-
mythria authored
Removes deprecated functions from the following files: test/cctest/compiler/function-tester.h test/cctest/test-thread-termination.cc test/cctest/test-threads.cc test/cctest/test-transitions.cc test/cctest/test-typedarrays.cc test/cctest/test-types.cc test/cctest/test-typing-reset.cc test/cctest/test-unbound-queue.cc test/cctest/test-unboxed-doubles.cc BUG=v8:4134 LOG=n Review URL: https://codereview.chromium.org/1344583002 Cr-Commit-Position: refs/heads/master@{#30846}
-
- 26 Jun, 2015 1 commit
-
-
oth authored
v8 builds with --no-snap were hitting handle limits compiling natives for handle count unit tests that run with --check_handle_count. Patch now has higher handle limits (~4k more than required for failing natives compilation). Original issue: https://codereview.chromium.org/1185633002/ Original issue's description: > Additional HandleScopes to limit Handle consumption. > > erikcorry@chromium.org suggested digging into v8 handle usage. Found potential scopes in ast.cc and runtime-literals.cc and added tests. > > The runtime-literals.cc change reduces peak handles in imaging-darkroom.js from 1,282,610 to 428,218. The ast.cc change reduces the peak handles in string-t agcloud.js from 80,738 to 8,176. > > No significant handle count issues found with major websites, but substantial savings on some benchmarks and demos: > > Kraken's imaging-darkroom.js down from 1,282,610 to 428,218 due to runtime-literals.cc scope. > SunSpider's string-tagcloud.js down from 80,738 to 8.176 due to ast.cc > > http://www.flohofwoe.net/demos/dragons_asmjs.html (738,906 -> 478,296) > http://www.flohofwoe.net/demos/instancing_asmjs.html (737,884 -> 477,274) > https://dl.dropboxusercontent.com/u/16662598/Ports/DOSBox-web/doom.html?engine=dosbox-growth.js (1,724,114 -> 1,087,408) > https://kripken.github.io/ammo.js/examples/new/ammo.html (175,784 -> 142,058) > > BUG= > > Committed: https://crrev.com/3a4c7538839186aa38910c66c986abb563f4ccd2 > Cr-Commit-Position: refs/heads/master@{#29155} BUG= Review URL: https://codereview.chromium.org/1192743005 Cr-Commit-Position: refs/heads/master@{#29322}
-
- 23 Jun, 2015 1 commit
-
-
mstarzinger authored
This is a precursor to using specialized LoadIC and StoreIC stubs for global variable access. It also removes the need to keep track of the global object in the type system, hence freeing up one bit. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1205473004 Cr-Commit-Position: refs/heads/master@{#29231}
-
- 19 Jun, 2015 2 commits
-
-
arv authored
Revert of Additional HandleScopes to limit Handle consumption. (patchset #4 id:50001 of https://codereview.chromium.org/1185633002/) Reason for revert: Fails the following test handle-count-ast handle-count-runtime-... on V8 Linux - nosnap - debug - 1 http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug%20-%201/builds/851/steps/Check/logs/stdio Original issue's description: > Additional HandleScopes to limit Handle consumption. > > erikcorry@chromium.org suggested digging into v8 handle usage. Found potential scopes in ast.cc and runtime-literals.cc and added tests. > > The runtime-literals.cc change reduces peak handles in imaging-darkroom.js from 1,282,610 to 428,218. The ast.cc change reduces the peak handles in string-tagcloud.js from 80,738 to 8,176. > > No significant handle count issues found with major websites, but substantial savings on some benchmarks and demos: > > Kraken's imaging-darkroom.js down from 1,282,610 to 428,218 due to runtime-literals.cc scope. > SunSpider's string-tagcloud.js down from 80,738 to 8.176 due to ast.cc > > http://www.flohofwoe.net/demos/dragons_asmjs.html (738,906 -> 478,296) > http://www.flohofwoe.net/demos/instancing_asmjs.html (737,884 -> 477,274) > https://dl.dropboxusercontent.com/u/16662598/Ports/DOSBox-web/doom.html?engine=dosbox-growth.js (1,724,114 -> 1,087,408) > https://kripken.github.io/ammo.js/examples/new/ammo.html (175,784 -> 142,058) > > BUG= > > Committed: https://crrev.com/3a4c7538839186aa38910c66c986abb563f4ccd2 > Cr-Commit-Position: refs/heads/master@{#29155} TBR=yangguo@chromium.org,erikcorry@chromium.org,oth@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1194873004 Cr-Commit-Position: refs/heads/master@{#29160}
-
oth authored
erikcorry@chromium.org suggested digging into v8 handle usage. Found potential scopes in ast.cc and runtime-literals.cc and added tests. The runtime-literals.cc change reduces peak handles in imaging-darkroom.js from 1,282,610 to 428,218. The ast.cc change reduces the peak handles in string-tagcloud.js from 80,738 to 8,176. No significant handle count issues found with major websites, but substantial savings on some benchmarks and demos: Kraken's imaging-darkroom.js down from 1,282,610 to 428,218 due to runtime-literals.cc scope. SunSpider's string-tagcloud.js down from 80,738 to 8.176 due to ast.cc http://www.flohofwoe.net/demos/dragons_asmjs.html (738,906 -> 478,296) http://www.flohofwoe.net/demos/instancing_asmjs.html (737,884 -> 477,274) https://dl.dropboxusercontent.com/u/16662598/Ports/DOSBox-web/doom.html?engine=dosbox-growth.js (1,724,114 -> 1,087,408) https://kripken.github.io/ammo.js/examples/new/ammo.html (175,784 -> 142,058) BUG= Review URL: https://codereview.chromium.org/1185633002 Cr-Commit-Position: refs/heads/master@{#29155}
-
- 21 Apr, 2015 1 commit
-
-
svenpanne authored
Baby steps towards saner #includes... Review URL: https://codereview.chromium.org/1051393003 Cr-Commit-Position: refs/heads/master@{#27958}
-
- 10 Apr, 2015 2 commits
-
-
titzer authored
R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/1074133002 Cr-Commit-Position: refs/heads/master@{#27749}
-
titzer authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1074063004 Cr-Commit-Position: refs/heads/master@{#27737}
-
- 12 Feb, 2015 1 commit
-
-
jarin authored
R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/904863002 Cr-Commit-Position: refs/heads/master@{#26621}
-
- 28 Jan, 2015 2 commits
-
-
jarin authored
BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/882063002 Cr-Commit-Position: refs/heads/master@{#26307}
-
jarin authored
This reverts commit 76193749. BUG= Review URL: https://codereview.chromium.org/877643002 Cr-Commit-Position: refs/heads/master@{#26301}
-
- 23 Jan, 2015 1 commit
-
-
danno authored
Along the way: - Thread isolate parameter explicitly through code that used to rely on getting it from the zone. - Canonicalize the parameter position of isolate and zone for affected code - Change Hydrogen New<> instruction templates to automatically pass isolate R=mstarzinger@chromium.org LOG=N Review URL: https://codereview.chromium.org/868883002 Cr-Commit-Position: refs/heads/master@{#26252}
-
- 22 Jan, 2015 1 commit
-
-
bmeurer authored
Revert of Steps towards unification of number bitset and range types. (patchset #4 id:60001 of https://codereview.chromium.org/837723006/) Reason for revert: Breaks test-types/Maybe, i.e. out/Release/cctest --random-seed=-707413401 test-types/Maybe started failing afterwards Original issue's description: > Steps towards unification of number bitset and range types. > > - New invariant on union types: if the union has a range then the number > bits in the bitset must be cleared. > > - Various tweaks in intersection and union to satisfy the invariant. > > - Exposed and used representation bits in range types (and the Limits > helper class). > > - Implemented Glb for ranges so that the Is predicate handles > ranges correctly. > > - Change typer weakening so that it does not rely on GetRange. > However, the code still seems to be a bit fragile. > > - Removed the Smi types from the type system core, instead introduced > Signed31, Unsigned30 and created constructors for Small(Un)Signed > that point to the right type for the architecture. > > - Punched a hole in the config to be able to get to the isolate so > that it is possible to allocate heap numbers for newly created > ranges. > > Patch by jarin@chromium.prg, original review here: > https://codereview.chromium.org/795713003/ > > TBR=jarin@chromium.org > BUG= > > Committed: https://crrev.com/2764fd8d1a266a9136c987c2483492113b0c8d80 > Cr-Commit-Position: refs/heads/master@{#26197} TBR=jkummerow@chromium.org,rossberg@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/868583002 Cr-Commit-Position: refs/heads/master@{#26207}
-
- 21 Jan, 2015 2 commits
-
-
rossberg authored
- New invariant on union types: if the union has a range then the number bits in the bitset must be cleared. - Various tweaks in intersection and union to satisfy the invariant. - Exposed and used representation bits in range types (and the Limits helper class). - Implemented Glb for ranges so that the Is predicate handles ranges correctly. - Change typer weakening so that it does not rely on GetRange. However, the code still seems to be a bit fragile. - Removed the Smi types from the type system core, instead introduced Signed31, Unsigned30 and created constructors for Small(Un)Signed that point to the right type for the architecture. - Punched a hole in the config to be able to get to the isolate so that it is possible to allocate heap numbers for newly created ranges. Patch by jarin@chromium.prg, original review here: https://codereview.chromium.org/795713003/ TBR=jarin@chromium.org BUG= Review URL: https://codereview.chromium.org/837723006 Cr-Commit-Position: refs/heads/master@{#26197}
-
bmeurer authored
Use std::numeric_limits<double>::quiet_NaN() and std::numeric_limits<float>::quiet_NaN() instead. Review URL: https://codereview.chromium.org/864803002 Cr-Commit-Position: refs/heads/master@{#26195}
-
- 20 Dec, 2014 1 commit
-
-
machenbach authored
Revert of Remove obsolete V8_INFINITY macro. (patchset #3 id:40001 of https://codereview.chromium.org/798413003/) Reason for revert: Speculative revert. This seems to block the current roll: https://codereview.chromium.org/819653003/ I retried several times, also with a new roll. The error is internal - but that doesn't make much of a difference. Original issue's description: > Remove obsolete V8_INFINITY macro. > > Use std::numeric_limits consistently. > > R=svenpanne@chromium.org > > Committed: https://crrev.com/31c66e2d53569c4e229d55483d28208491e73612 > Cr-Commit-Position: refs/heads/master@{#25897} TBR=svenpanne@chromium.org,bmeurer@chromium.org NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/813813003 Cr-Commit-Position: refs/heads/master@{#25912}
-
- 19 Dec, 2014 1 commit
-
-
bmeurer authored
Use std::numeric_limits consistently. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/798413003 Cr-Commit-Position: refs/heads/master@{#25897}
-
- 11 Dec, 2014 2 commits
-
-
jarin authored
This reverts commit 8a6cbf0a. R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/788313002 Cr-Commit-Position: refs/heads/master@{#25786}
-
rossberg authored
To make space in the type bitset, remove Function, RegExp, and Buffer types for now, since they aren't really relied upon anyway. R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/795993002 Cr-Commit-Position: refs/heads/master@{#25776}
-
- 10 Dec, 2014 2 commits
-
-
jarin authored
Revert of Avoid number range holes in bitset types. (patchset #5 id:80001 of https://codereview.chromium.org/759013003/) Reason for revert: For breaking the waterfall (run-json-stringify test). Original issue's description: > Avoid number range holes in bitset types. > > BUG= TBR=rossberg@chromium.org NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/794663002 Cr-Commit-Position: refs/heads/master@{#25756}
-
jarin authored
BUG= Review URL: https://codereview.chromium.org/759013003 Cr-Commit-Position: refs/heads/master@{#25754}
-
- 13 Nov, 2014 3 commits
-
-
Jaroslav Sevcik authored
This relands commit 4c1f4b79. R=rossberg@chromium.org Review URL: https://codereview.chromium.org/723023002 Cr-Commit-Position: refs/heads/master@{#25317}
-
Jaroslav Sevcik authored
This reverts commit 4c1f4b79. TBR=rossberg@chromium.org Review URL: https://codereview.chromium.org/722943003 Cr-Commit-Position: refs/heads/master@{#25312}
-
Jaroslav Sevcik authored
BUG= R=rossberg@chromium.org Review URL: https://codereview.chromium.org/712623002 Cr-Commit-Position: refs/heads/master@{#25311}
-
- 23 Oct, 2014 1 commit
-
-
jarin@chromium.org authored
This is based on Georg's work on typing arithmetic operations (https://codereview.chromium.org/658743002/). Instead of weakening to bitset types, we weaken to the closest 2^n limit if we see that we are re-typing a node with a range type (which means that the node can be part of a cycle, so we might need to speed up the fixpoint there). BUG= R=rossberg@chromium.org Review URL: https://codereview.chromium.org/636283009 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Oct, 2014 1 commit
-
-
neis@chromium.org authored
R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/653093002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Oct, 2014 2 commits
-
-
neis@chromium.org authored
This relands commit 24552. TBR=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/650513003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
This reverts commit r24609 for breaking the cctest/test-js-typed-lowering/Int32BitwiseBinops test. TBR=rossberg@chromium.org,neis@chromium.org Review URL: https://codereview.chromium.org/656003002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24614 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Oct, 2014 1 commit
-
-
neis@chromium.org authored
This relands commit 24552. R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/653693002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Sep, 2014 2 commits
-
-
neis@chromium.org authored
Add missing tests for context types. Rearrange some other tests. Make printing of constant types more useful. Give counter-examples for properties that no longer hold. R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/602613002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24212 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
neis@chromium.org authored
(Also speed up some types tests a little.) R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/602553002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Sep, 2014 1 commit
-
-
neis@chromium.org authored
Besides addressing a fundamental flaw, this significantly simplifies several aspects of the system. The downside is a loss of precision and a loss of algebraic properties. Range types are now fully implemented. R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/558193003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Sep, 2014 1 commit
-
-
rossberg@chromium.org authored
Change: make bitset uint32_t, to avoid weird sign extension bugs on Win64. BUG= R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/577563002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-