- 15 Feb, 2018 1 commit
-
-
Toon Verwaest authored
instance_class_name takes up space unnecessarily, and %_ClassOf and class_name implement [[Class]] which isn't part of ES2015+ anymore. Bug: Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I3a73f732ad83a616817fde9992f4e4d584638fa8 Reviewed-on: https://chromium-review.googlesource.com/776683Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#51309}
-
- 22 Jun, 2017 1 commit
-
-
kris.selden authored
transition, check to see if we have already done this transition. BUG=v8:6450 Review-Url: https://codereview.chromium.org/2915863004 Cr-Commit-Position: refs/heads/master@{#46129}
-
- 11 Nov, 2016 1 commit
-
-
verwaest authored
Methods in the runtime that enumerate over properties should never deal with private symbols. Most commonly such methods only loop over enumerable properties. This fix avoids accidentally handling private symbols in methods that only deal with enumerable properties. Methods that need to look at non-enumerable properties as well still have to manually filter private symbols (e.g., the KeyAccumulator). BUG=chromium:664411 Review-Url: https://codereview.chromium.org/2499593002 Cr-Commit-Position: refs/heads/master@{#40932}
-
- 25 Oct, 2016 1 commit
-
-
cbruni authored
Object.create(null) is most likely to be used for dictionary-like objects. Hence it would be beneficial to directly create a slow-mode object and avoid additional overhead later-on. BUG= Review-Url: https://codereview.chromium.org/2430273007 Cr-Commit-Position: refs/heads/master@{#40551}
-
- 27 Oct, 2015 1 commit
-
-
littledan authored
When == is invoked on a Symbol or SIMD vector and an object, the object should be converted to a primitive with ToPrimitive and then compared again. This means, for example, that for a Symbol or SIMD vector s, s == Object(s). This patch makes that change in the implementation of ==. Only the runtime function needed to be changed, as the code stubs and compiler specializations don't operate on Symbols or SIMD vectors, and on these types, a fallback to the runtime function is always used. BUG=v8:3593 LOG=Y R=adamk Review URL: https://codereview.chromium.org/1421413002 Cr-Commit-Position: refs/heads/master@{#31614}
-
- 16 Jun, 2015 1 commit
-
-
wingo authored
R=rossberg@chromium.org LOG=N BUG= Review URL: https://codereview.chromium.org/1182303004 Cr-Commit-Position: refs/heads/master@{#29041}
-
- 18 Mar, 2015 1 commit
-
-
rossberg authored
R=dslomov@chromium.org BUG=460083,v8:3970,v8:3971 LOG=Y Review URL: https://codereview.chromium.org/1018923002 Cr-Commit-Position: refs/heads/master@{#27272}
-
- 12 Sep, 2014 1 commit
-
-
arv@chromium.org authored
Using String as a function and passing a symbol should return the same value as if Symbol.prototype.toString was called. http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string-constructor-string-value BUG=v8:3554 LOG=Y R=rossberg@chromium.org, rossberg Review URL: https://codereview.chromium.org/564863002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Aug, 2014 1 commit
-
-
dslomov@chromium.org authored
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tonumber Based on patch from caitp <caitpotter88@gmail.com> https://codereview.chromium.org/454233002/ BUG=v8:3499 LOG=Y R=dslomov@chromium.org Review URL: https://codereview.chromium.org/458753004 Patch from Erik Arvidsson <arv@chromium.org>. git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Aug, 2014 1 commit
-
-
adamk@chromium.org authored
In doing so also remove all references to the --harmony-collections flag. Due to the way context snapshotting works, it's not possible to simply enable the flag by default. Depends on ES6 Symbols: https://codereview.chromium.org/421313004 BUG=v8:1622 LOG=Y R=arv@chromium.org, rossberg@chromium.org Review URL: https://codereview.chromium.org/427723002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Aug, 2014 1 commit
-
-
adamk@chromium.org authored
In doing so also remove all references to the --harmony-symbols flag. Due to the way context snapshotting works, it's not possible to simply enable the flag by default. BUG=v8:2158 LOG=Y R=dslomov@chromium.org Review URL: https://codereview.chromium.org/421313004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Jul, 2014 1 commit
-
-
rossberg@chromium.org authored
R=verwaest@chromium.org BUG=v8:3419 LOG=Y Review URL: https://codereview.chromium.org/355123006 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22132 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 May, 2014 1 commit
-
-
rossberg@chromium.org authored
R=jochen@chromium.org BUG= Review URL: https://codereview.chromium.org/266243003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Mar, 2014 1 commit
-
-
jochen@chromium.org authored
> R=mstarzinger@chromium.org > BUG= > > Committed: https://code.google.com/p/v8/source/detail?r=20211 > > Review URL: https://codereview.chromium.org/206163004 R=rossberg@chromium.org TBR=rossberg@chromium.org LOG=y BUG=n Review URL: https://codereview.chromium.org/219303002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Mar, 2014 1 commit
-
-
rossberg@chromium.org authored
R=mstarzinger@chromium.org BUG= Committed: https://code.google.com/p/v8/source/detail?r=20211 Review URL: https://codereview.chromium.org/206163004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Mar, 2014 1 commit
-
-
rossberg@chromium.org authored
Reason: breaks Blink layout tests. R=machenbach@chromium.org BUG= Review URL: https://codereview.chromium.org/210853003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Mar, 2014 1 commit
-
-
rossberg@chromium.org authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/206163004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Mar, 2014 3 commits
-
-
rossberg@chromium.org authored
Only change relative to original CL is the updated assertion condition at objects-inl.h:2119 R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/204913006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
TBR=yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/204353004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
R=mstarzinger@chromium.org, arv@chromium.org BUG= LOG=Y Review URL: https://codereview.chromium.org/203243004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Mar, 2014 1 commit
-
-
rossberg@chromium.org authored
Split collections flag into weak and non-weak. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/201593004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Feb, 2014 1 commit
-
-
rossberg@chromium.org authored
Refresh the implementation of Symbols to catch up with what the specification now mandates: * The global Symbol() function manufactures new Symbol values, optionally with a string description attached. * Invoking Symbol() as a constructor will now throw. * ToString() over Symbol values still throws, and Object.prototype.toString() stringifies like before. * A Symbol value is wrapped in a Symbol object either implicitly if it is the receiver, or explicitly done via Object(symbolValue) or (new Object(symbolValue).) * The Symbol.prototype.toString() method no longer throws on Symbol wrapper objects (nor Symbol values.) Ditto for Symbol.prototype.valueOf(). * Symbol.prototype.toString() stringifies as "Symbol("<description>"), valueOf() returns the wrapper's Symbol value. * ToPrimitive() over Symbol wrapper objects now throws. Overall, this provides a stricter separation between Symbol values and wrapper objects than before, and the explicit fetching out of the description (nee name) via the "name" property is no longer supported (by the spec nor the implementation.) Adjusted existing Symbol test files to fit current, adding some extra tests for new/changed behavior. LOG=N R=arv@chromium.org, rossberg@chromium.org, arv, rossberg BUG=v8:3053 Review URL: https://codereview.chromium.org/118553003 Patch from Sigbjorn Finne <sigbjornf@opera.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Nov, 2013 1 commit
-
-
yangguo@chromium.org authored
R=ishell@chromium.org Review URL: https://codereview.chromium.org/85163003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Nov, 2013 1 commit
-
-
rossberg@chromium.org authored
Adds a notion of private symbols, mainly intended for internal use, especially, self-hosting of built-in types that would otherwise require new C++ classes. On the JS side (i.e., in built-ins), private properties can be created and accessed through a set of macros: NEW_PRIVATE(print_name) HAS_PRIVATE(obj, sym) GET_PRIVATE(obj, sym) SET_PRIVATE(obj, sym, val) DELETE_PRIVATE(obj, sym) In the V8 API, they are accessible via a new class Private, and respective HasPrivate/Get/Private/SetPrivate/DeletePrivate methods on calss Object. These APIs are designed and restricted such that their implementation can later be replaced by whatever ES7+ will officially provide. R=yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/48923002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Apr, 2013 1 commit
-
-
rossberg@chromium.org authored
Looks so easy... R=mstarzinger@chromium.org BUG=229445 Review URL: https://codereview.chromium.org/13880007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Apr, 2013 1 commit
-
-
rossberg@chromium.org authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/13552002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Mar, 2013 2 commits
-
-
yangguo@chromium.org authored
Keys are expected to be tenured. This now not only includes internalized strings, but also symbols. R=rossberg@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/13158002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
R=yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/13042013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Mar, 2013 3 commits
-
-
rossberg@chromium.org authored
R=svenpanne@chromium.org BUG=v8:2158 Review URL: https://codereview.chromium.org/12422019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
Adds string-valued name property to symbols, and uses it for pretty-printing. Requires allocating symbols in pointer space, with a custom iterator to skip the unboxed hash. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/12459026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-
- 07 Mar, 2013 1 commit
-
-
rossberg@chromium.org authored
R=mstarzinger@chromium.org BUG=v8:2158 Review URL: https://codereview.chromium.org/12432005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Mar, 2013 1 commit
-
-
rossberg@chromium.org authored
R=verwaest@chromium.org BUG=v8:2158 Review URL: https://codereview.chromium.org/12455002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Mar, 2013 1 commit
-
-
rossberg@chromium.org authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/12456004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13829 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
- 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
-