- 12 Jun, 2013 1 commit
-
-
danno@chromium.org authored
This makes it possible to store additional information on property cells, for example Type and optimized Code dependencies. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/16631002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Jun, 2013 2 commits
-
-
rossberg@chromium.org authored
To that end, introduce a generic Box struct. R=danno@chromium.org BUG= Review URL: https://codereview.chromium.org/16562003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
More importantly, do a bunch of renamings of incidental existing "types" to avoid actual and potential name clashes (and also to improve consistency). R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/16549002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 May, 2013 1 commit
-
-
dslomov@chromium.org authored
R=rossberg@chromium.org Review URL: https://codereview.chromium.org/15162002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 May, 2013 1 commit
-
-
verwaest@chromium.org authored
R=danno@chromium.org Review URL: https://chromiumcodereview.appspot.com/14850006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Apr, 2013 1 commit
-
-
dslomov@chromium.org authored
R=rossberg@chromium.org Review URL: https://codereview.chromium.org/14195034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Apr, 2013 1 commit
-
-
dslomov@chromium.org authored
R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/13958007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Apr, 2013 1 commit
-
-
danno@chromium.org authored
Review URL: https://codereview.chromium.org/14307006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Apr, 2013 1 commit
-
-
mstarzinger@chromium.org authored
Generator object maps now link to their constructors, which are created with a "Generator" class name. This does not cause a per-generator constructor property to be set. BUG=v8:2355 TEST=mjsunit/harmony/generators-objects Review URL: https://codereview.chromium.org/14262004 Patch from Andy Wingo <wingo@igalia.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14309 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Mar, 2013 1 commit
-
-
dcarney@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/12297012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Mar, 2013 1 commit
-
-
rossberg@chromium.org authored
Since symbols and strings share a common representation, most of this change is about consistently replacing 'String' with 'Name' in all places where property names are expected. In particular, no new logic at all is necessary for maps, property dictionaries, or transitions. :) The only places where an actual case distinction is needed have to do with generated type checks, and with conversions of names to strings (especially in logger and profiler). Left in some TODOs wrt to the API: interceptors and native getters don't accept symbols as property names yet, because that would require extending the external v8.h. (Baseline CL: https://codereview.chromium.org/12296026/) R=verwaest@chromium.org,mstarzinger@chromium.org BUG=v8:2158 Review URL: https://codereview.chromium.org/12330012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Mar, 2013 1 commit
-
-
rossberg@chromium.org authored
The new instance type 'Symbol' represents ES6 symbols (a.k.a. private/unique names). Currently, symbols are simple data objects that only carry a hash code, random-generated upon allocation. The new type 'Name' now serves as the common super class for strings and symbols, and is supposed to represent property names. We will eventually migrate APIs from String to Name for the standard key type. Strings and symbols share the same hash field representation, via the Name class. This way, we should be able to use the same code paths for symbols and internalized strings in most cases. Also, Symbol's instance type code is allocated adjacent to internalized string codes in the enum, allowing a simple range check for the common case. Baseline CL: https://codereview.chromium.org/12210083/ R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/12223071 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Feb, 2013 1 commit
-
-
rossberg@chromium.org authored
in preparation of the introduction of ES6 'symbols' (aka private/unique names). The SymbolTable became the StringTable. I also made sure to adapt all comments. The only remaining use of the term "symbol" (other than unrelated uses in the parser and such) is now 'NewSymbol' in the API and the 'V8.KeyedLoadGenericSymbol' counter, changing which might break embedders. The one functional change in this CL is that I removed the former 'empty_string' constant, since it is redundant given the 'empty_symbol' constant that we also had (and both were used inconsistently). R=yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/12210083 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Feb, 2013 1 commit
-
-
mstarzinger@chromium.org authored
This moves the __proto__ property to Object.prototype and turns it into a callback property actually present in the descriptor array as opposed to a hack in the properties lookup. For now it still is a "magic" data property using foreign callbacks and not an accessor property visible to JavaScript. The second effect of this change is that JSON.parse() no longer treats the __proto__ property specially, it will be defined as any other data property. Note that object literals still have their special handling. R=rossberg@chromium.org BUG=v8:621,v8:1949,v8:2441 TEST=mjsunit,cctest,test262 Review URL: https://codereview.chromium.org/12212011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Feb, 2013 1 commit
-
-
dcarney@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/12213012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Jan, 2013 1 commit
-
-
yangguo@chromium.org authored
Mostly a bunch of renaming when flag is disabled. R=yangguo@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/11759008 Patch from Dan Carney <dcarney@google.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Dec, 2012 1 commit
-
-
yangguo@chromium.org authored
R=yangguo@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/11597007 Patch from Dan Carney <dcarney@google.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Nov, 2012 1 commit
-
-
yangguo@chromium.org authored
This is a straight rename: NewRawAsciiString -> NewRawOneByteString SeqAscii -> SeqOneByte SeqOneByteString cannot yet take non-ascii data. R=yangguo@chromium.org, BUG= Review URL: https://chromiumcodereview.appspot.com/11411005 Patch from Dan Carney <dcarney@google.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Nov, 2012 1 commit
-
-
svenpanne@chromium.org authored
Review URL: https://codereview.chromium.org/11365224 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Nov, 2012 1 commit
-
-
svenpanne@chromium.org authored
Fixed visibility attribute for GetPointerFromInternalField Heavy cleanup of the external pointer API. Review URL: https://codereview.chromium.org/11359125 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Nov, 2012 1 commit
-
-
svenpanne@chromium.org authored
Added highly efficient Object::SetAlignedPointerInInternalField and Object::GetAlignedPointerFromInternalField functions for 2-byte-aligned pointers. Their non-aligned counterparts Object::GetPointerFromInternalField and Object::SetPointerInInternalField are now deprecated utility functions. External is now a true Value again, with New/Value/Cast using a JSObject with an internal field containing a Foreign. External::Wrap, and External::Unwrap are now deprecated utility functions. Added Context::GetEmbedderData and Context::SetEmbedderData. Deprecated Context::GetData and Context::SetData, these are now only wrappers to access internal field 0. Added highly efficient Context::SetAlignedPointerInEmbedderData and Context::GetAlignedPointerFromEmbedderData functions for 2-byte-aligned pointers. Review URL: https://codereview.chromium.org/11190050 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Sep, 2012 1 commit
-
-
verwaest@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/10916336 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Sep, 2012 1 commit
-
-
yangguo@chromium.org authored
BUG= Review URL: https://chromiumcodereview.appspot.com/10905075 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Sep, 2012 1 commit
-
-
yangguo@chromium.org authored
BUG= Review URL: https://chromiumcodereview.appspot.com/10857030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Aug, 2012 1 commit
-
-
rossberg@chromium.org authored
They are yet unused; actual allocation of global lexical bindings in these contexts is implemented in a separate follow-up CL. R=svenpanne@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/10876067 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Aug, 2012 1 commit
-
-
rossberg@chromium.org authored
in anticipation of the upcoming lexical global scope. Mostly automatised as: for FILE in `egrep -ril "global[ _]?context" src test/cctest` do echo $FILE sed "s/Global context/Native context/g" <$FILE >$FILE.0 sed "s/global context/native context/g" <$FILE.0 >$FILE.1 sed "s/global_context/native_context/g" <$FILE.1 >$FILE.2 sed "s/GLOBAL_CONTEXT/NATIVE_CONTEXT/g" <$FILE.2 >$FILE.3 sed "s/GlobalContext/NativeContext/g" <$FILE.3 >$FILE rm $FILE.[0-9] done R=mstarzinger@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10832342 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Jul, 2012 1 commit
-
-
yangguo@chromium.org authored
BUG=v8:2211 TEST=test-heap/Regress2211 Review URL: https://chromiumcodereview.appspot.com/10827040 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Jul, 2012 1 commit
-
-
verwaest@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/10830005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Jul, 2012 2 commits
-
-
verwaest@chromium.org authored
Using insertion-sort won't have too much of an overhead for the short arrays for bootstrapping (which are probably snapshot anyway). CopyAppendCallbackDescriptors was extending and sorting the array in a loop. By using an append that inserts at the right position we do not need to resort in each iteration. Additionally remove Sort and rename SortUnchecked to Sort. The IsSortedNoDuplicates check is moved into InitializeDescriptor. Review URL: https://chromiumcodereview.appspot.com/10808011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
Use descriptor array preallocation + appending instead. Review URL: https://chromiumcodereview.appspot.com/10782033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Jul, 2012 1 commit
-
-
verwaest@chromium.org authored
- Now tunnel all descriptor changes through methods on the map - Renamed CopyDropTransitions to regular Copy since we always "drop transitions" on copy anyway. - Merged and moved elements transition map creation. Review URL: https://chromiumcodereview.appspot.com/10780031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Jul, 2012 1 commit
-
-
verwaest@chromium.org authored
Mainly ensure we don't copy descriptor arrays we'll throw away immediately afterwards. Review URL: https://chromiumcodereview.appspot.com/10700160 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Jul, 2012 1 commit
-
-
rossberg@chromium.org authored
Specifically: - In parser, check that all exports are defined. - Move JSModule allocation from parser to scope resolution. - Move JSModule linking from full codegen to scope resolution. - Implement module accessors for exported value members. - Allocate module contexts statically along with JSModules (to allow static linking), but chain them when module literal is evaluated. - Make module contexts' extension slot refer to resp. JSModule (makes modules' ScopeInfo accessible from context). - Some other tweaks to context handling in general. - Make any code containing module literals (and thus embedding static references to JSModules) non-cacheable. This enables accessing module instance objects as expected. Import declarations are a separate feature and do not work yet. R=mstarzinger@chromium.org BUG=v8:1569 TEST= Review URL: https://chromiumcodereview.appspot.com/10690043 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 May, 2012 1 commit
-
-
erikcorry authored
Review URL: http://codereview.chromium.org/10443085 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 May, 2012 1 commit
-
-
danno@chromium.org authored
R=jkummerow@chromium.org TEST=jkummerow@chromium.org Review URL: https://chromiumcodereview.appspot.com/10170030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Apr, 2012 1 commit
-
-
rossberg@chromium.org authored
Constructs the (generally cyclic) graph of module instance objects and populates their exports. Any exports other than nested modules are currently set to 'undefined' (but already present as properties). Details: - Added new type JSModule for instance objects: a JSObject carrying a context. - Statically allocate instance objects for all module literals (in parser 8-}). - Extend interfaces to record and unify concrete instance objects, and to support iteration over members. - Introduce new runtime function for pushing module contexts. - Generate code for allocating, initializing, and setting module contexts, and for populating instance objects from module literals. Currently, all non-module exports are still initialized with 'undefined'. - Module aliases are resolved statically, so no special code is required. - Make sure that code containing module constructs is never optimized (macrofy AST node construction flag setting while we're at it). - Add test case checking linkage. Baseline: http://codereview.chromium.org/9722043/ R=svenpanne@chromium.org,mstarzinger@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9844002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11336 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
-
- 26 Jan, 2012 1 commit
-
-
danno@chromium.org authored
BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9073007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Jan, 2012 2 commits
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/9231009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
version. We don't want to randomize the stub cache. Review URL: http://codereview.chromium.org/9174023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-