- 22 Dec, 2014 1 commit
-
-
ulan authored
This is not needed anymore since all ICs use weak cells to embed maps. BUG=v8:3629 LOG=N Review URL: https://codereview.chromium.org/817223003 Cr-Commit-Position: refs/heads/master@{#25928}
-
- 27 Nov, 2014 1 commit
-
-
Michael Stanton authored
The IC system now fully integrates the vector concept and can handle loads and keyed loads vector-based. BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/754303003 Cr-Commit-Position: refs/heads/master@{#25552}
-
- 28 Oct, 2014 3 commits
-
-
mvstanton@chromium.org authored
A FeedbackNexus is the combination of a feedback vector, a slot(s) in the vector, along with methods to query and manipulate that information in a type-correct way. A CallIC will have a CallICNexus, a LoadIC a LoadICNexus, etc., reflecting the fact that different types of ICs configure their data in unique ways. This CL limits itself to introducing and using the nexus type only for CallICs. A follow-up will use them for Load and KeyedLoadICs for the case when the --vector-ics flag is turned on. The notion of a Nexus is also embedded at the lowest level of the IC class. This makes sense because more ICs should become vector-based in the future. R=ishell@chromium.org Review URL: https://codereview.chromium.org/683933002 Cr-Commit-Position: refs/heads/master@{#24952} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
This reverts commit r24945. TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/683883002 Cr-Commit-Position: refs/heads/master@{#24947} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
A FeedbackNexus is the combination of a feedback vector, a slot(s) in the vector, along with methods to query and manipulate that information in a type-correct way. A CallIC will have a CallICNexus, a LoadIC a LoadICNexus, etc., reflecting the fact that different types of ICs configure their data in unique ways. This CL limits itself to introducing and using the nexus type only for CallICs. A follow-up will use them for Load and KeyedLoadICs for the case when the --vector-ics flag is turned on. The notion of a Nexus is also embedded at the lowest level of the IC class. This makes sense because more ICs should become vector-based in the future. This CL is based on https://codereview.chromium.org/679073002/ which should land first. BUG= R=ishell@chromium.org Review URL: https://codereview.chromium.org/680883004 Cr-Commit-Position: refs/heads/master@{#24945} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Oct, 2014 1 commit
-
-
mvstanton@chromium.org authored
BUG=v8:3605 LOG=N R=jkummerow@chromium.org, ulan@chromium.org Review URL: https://codereview.chromium.org/650073002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Sep, 2014 1 commit
-
-
mvstanton@chromium.org authored
These sentinels were in the wrong place, living in only tangentially related class TypeFeedbackInfo, but they codify state in the TypeFeedbackVector. R=ishell@chromium.org Review URL: https://codereview.chromium.org/579153003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Sep, 2014 1 commit
-
-
mvstanton@chromium.org authored
CodeStubs use state types defined in ic.h, but this has the unfortunate effect of spreading ic.h all over the place. Instead, define these shared state types in ic-public.h and allow ic.h to concern itself with internal state change of the ICs. More work could/should be done here, but this is a first step. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/565873002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Aug, 2014 1 commit
-
-
verwaest@chromium.org authored
BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/483683005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Aug, 2014 2 commits
-
-
mvstanton@chromium.org authored
CallICs have had some confused tracing, because the IC state is not entirely captured by the installed code stub - it lives in the type vector. Change tracing to be able to use the vector state changes instead. Introduced a DEFAULT state to be used by all vector-based ICs. R=verwaest@chromium.org BUG= Review URL: https://codereview.chromium.org/451643002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
CallIC, as the first of vector-based ICs didn't update the ic with type count counter and the generic count counter correctly. This CL fixes that. BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/445943002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
This way we don't clash with the ASSERT* macros defined by GoogleTest, and we are one step closer to being able to replace our homegrown base/ with base/ from Chrome. R=jochen@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/430503007 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Jul, 2014 1 commit
-
-
jkummerow@chromium.org authored
instead of on the receiver's map. Lazily overwrite cached handler if it is identical to the handler that just missed. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/400523007 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Jul, 2014 1 commit
-
-
jochen@chromium.org authored
The new pattern is that we first get the map of the root of the prototype chain using Object::GetMapRoot() and then walk up the prototype chain using Map::prototype(). BUG=??? R=verwaest@chromium.org LOG=n Review URL: https://codereview.chromium.org/376233002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Jul, 2014 1 commit
-
-
verwaest@chromium.org authored
BUG= R=ishell@chromium.org Review URL: https://codereview.chromium.org/352173006 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
- this avoids using relative include paths which are forbidden by the style guide - makes the code more readable since it's clear which header is meant - allows for starting to use checkdeps BUG=none R=jkummerow@chromium.org, danno@chromium.org LOG=n Review URL: https://codereview.chromium.org/304153016 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Apr, 2014 1 commit
-
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/259183002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Apr, 2014 1 commit
-
-
yangguo@chromium.org authored
Motivation: we do not have test coverage for debuggersupport=off. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/256653004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Apr, 2014 2 commits
-
-
bmeurer@chromium.org authored
This reverts commit r20938 for breaking the windows build. TBR=ulan@chromium.org Review URL: https://codereview.chromium.org/254463003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/257453003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Mar, 2014 1 commit
-
-
rmcilroy@chromium.org authored
The ool constant pool will require a pointer to the code's constant pool when updating or reading target addresses using set_target_address_at() and target_address_at(). Original Review URL: https://codereview.chromium.org/183803022 R=ulan@chromium.org Review URL: https://codereview.chromium.org/195983002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Mar, 2014 2 commits
-
-
rmcilroy@chromium.org authored
This reverts r19825 for breaking ia32.debug checks. Original Review URL: https://codereview.chromium.org/183803022 Update serializer to be able to deal with ool constant pool. TBR=ulan@chromium.org Review URL: https://codereview.chromium.org/195373004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rmcilroy@chromium.org authored
The ool constant pool will require a pointer to the code's constant pool when updating or reading target addresses using set_target_address_at() and target_address_at(). R=ulan@chromium.org Review URL: https://codereview.chromium.org/183803022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Jan, 2014 1 commit
-
-
rossberg@chromium.org authored
Clean up some zone/isolate handling in AST and its visitors on the way. (Based on https://codereview.chromium.org/103743004/) R=jkummerow@chromium.org, titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/102563004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Nov, 2013 1 commit
-
-
mvstanton@chromium.org authored
Currently it's in the Code object for some ICs and in ICs for other ICs. This should make it easier to alter bits as needed. 2) Recover an extra bit in the code object to give us 6 bits for the extra ic state. We'll need it soon to store contextual state. 3) Cleanup code that treated StrictMode enum and ExtraICState enum as interchangeble. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/91803003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Nov, 2013 1 commit
-
-
verwaest@chromium.org authored
R=ishell@chromium.org Review URL: https://chromiumcodereview.appspot.com/78023002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Nov, 2013 1 commit
-
-
verwaest@chromium.org authored
R=rossberg@chromium.org Review URL: https://chromiumcodereview.appspot.com/75413002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Nov, 2013 2 commits
-
-
verwaest@chromium.org authored
BUG= R=ulan@chromium.org Review URL: https://chromiumcodereview.appspot.com/68523009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
R=ulan@chromium.org Review URL: https://chromiumcodereview.appspot.com/62953007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Oct, 2013 1 commit
-
-
verwaest@chromium.org authored
R=ulan@chromium.org Review URL: https://chromiumcodereview.appspot.com/25263002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Sep, 2013 1 commit
-
-
dcarney@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/23493019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Mar, 2013 1 commit
-
-
rossberg@chromium.org authored
(qua last week's TC39) Specifically: - Install Symbol constructor function on the global object. - Adjust code generation for typeof. - Remove IsSymbol built-in, IS_SYMBOL macro now defined using typeof. - Remove hack that allowed symbols as constructor results, and some other special cases. - Remove symbol_delegate and GetDelegate function. - Extend ToBoolean stub to handle symbols. - Extend ToNumber to return NaN on symbols. - Poison symbol's toString function, and thereby ToString on symbols. R=mstarzinger@chromium.org BUG=v8:2158 Review URL: https://codereview.chromium.org/12957004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Mar, 2013 1 commit
-
-
rossberg@chromium.org authored
- Add --harmony-symbols flag. - Add Symbol constructor; allow symbols as (unreplaced) return value from constructors. - Introduce %CreateSymbol and %_IsSymbol natives and respective instructions. - Extend 'typeof' code generation to handle symbols. - Extend CompareIC with a UNIQUE_NAMES state that (uniformly) handles internalized strings and symbols. - Property lookup delegates to SymbolDelegate object for symbols, which only carries the toString method. - Extend Object.prototype.toString to recognise symbols. Per the current draft spec, symbols are actually pseudo objects that are frozen with a null prototype and only one property (toString). For simplicity, we do not treat them as proper objects for now, although typeof will return "object". Only property access works as if they were (frozen) objects (via the internal delegate object). (Baseline CL: https://codereview.chromium.org/12223071/) R=mstarzinger@chromium.org BUG=v8:2158 Review URL: https://codereview.chromium.org/12296026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Feb, 2013 1 commit
-
-
svenpanne@chromium.org authored
Both methods were among the top causes for TLS accesses. BUG=v8:2487 Review URL: https://codereview.chromium.org/12319144 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13759 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Nov, 2012 1 commit
-
-
svenpanne@chromium.org authored
For Octane, the number of calls go down from 7341629 to 1947880, i.e. they are reduced by more than 73%. TLS access is not especially cheap, so this exercise seems worthwhile. Review URL: https://codereview.chromium.org/11412007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Oct, 2012 1 commit
-
-
danno@chromium.org authored
Some ARM architectures load 32-bit immediate constants more efficiently using movw/movt pairs rather than constant pool loads. This patch allows the assembler to generate one or the other load form at runtime depending on what is faster. R=ulan@chromium.org Review URL: https://codereview.chromium.org/11037023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Oct, 2012 1 commit
-
-
mstarzinger@chromium.org authored
This makes sure that we only record relocation slots for code target patches that happen in marked objects. Unmarked ones might be visited again, whereas marked ones are alive and will not be visited again. R=ulan@chromium.org BUG=chromium:152615,chromium:144230 Review URL: https://codereview.chromium.org/11040021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12655 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Sep, 2012 1 commit
-
-
mstarzinger@chromium.org authored
This fixes a rare corner case that was caused by missing recording of relocation slots when the uninitialized CallIC stub happenes to land on an evacuation candidate and the IC is cleared via the shared function. R=ulan@chromium.org BUG=chromium:144230 TEST=cctest/test-heap/Regression144230 Review URL: https://codereview.chromium.org/10963005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Feb, 2012 1 commit
-
-
jkummerow@chromium.org authored
Hidden behind --type-info-threshold=X flag, usage dependent on experimental profiler. Review URL: https://chromiumcodereview.appspot.com/9403009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Feb, 2012 1 commit
-
-
danno@chromium.org authored
Supports growing non-COW JSArray by a single element if the backing store has room, and initial allocation of a backing store for the store to index zero of an empty array to kPreallocatedArrayElements elements (e.g. the [] array literal). Review URL: https://chromiumcodereview.appspot.com/9310117 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-