- 05 Mar, 2013 10 commits
-
-
adamk@chromium.org authored
Both failed to generate a miss if the key wasn't "length". ARM and MIPS were already correct. BUG=v8:2566 Review URL: https://codereview.chromium.org/12378085 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
This includes: - actually release handles kept by compilation info when compilation completes. - do not use parallel recompilation on single core CPUs. - artificially delay parallel recompilation for debugging. - fix outdated assertions wrt optimization status. - add "parallel" option to %OptimizeFunctionOnNextCall. R=jkummerow@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/12442002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=hpayer@chromium.org Review URL: https://codereview.chromium.org/12456002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/12425005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
The x32 logic for the size of Atomic64 handles NaCL, but misses the Linux case. Check the standard __ILP32__ to handle that too. This has been fixed in the Chromium base tree already: https://codereview.chromium.org/12186005/ BUG=chromium-os:36866 TEST=compiled the code for x86_64 (64bit) & x86_64 (x32) Review URL: https://codereview.chromium.org/12374065 Patch from Mike Frysinger <vapier@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
First of all, it has nothing to do with Isolates, it is related to the assembler at hand. Furthermore, the saving/restoring is platform-independent. Cleaned up some platform-specific stuff on the way. Note that there are some things which still need some cleanup, like e.g. using EnumSet instead of uint64_t, making Probe() more uniform across platforms etc., but the CL is already big enough. BUG=v8:2487 Review URL: https://codereview.chromium.org/12391055 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
instead of direct_dependent_settings - with V8 headers being included in other headers, the former works much better. This is a configuration that is not used for Google Chrome neither V8 buildbot, and has been tested for its intended use case (Linux distributions). BUG=none Review URL: https://codereview.chromium.org/12378092 Patch from Paweł Hajdan Jr. <phajdan.jr@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
BUG=111541 R=jkummerow@chromium.org Signed-off-by: Thiago Farina <tfarina@chromium.org> Review URL: https://codereview.chromium.org/12379082 Patch from Thiago Farina <tfarina@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
BUG=v8:2556 Review URL: https://codereview.chromium.org/12321165 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/12052032 Patch from Rajeev R Krithivasan <rkrithiv@codeaurora.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Mar, 2013 19 commits
-
-
mstarzinger@chromium.org authored
R=hpayer@chromium.org BUG=chromium:176056 Review URL: https://codereview.chromium.org/12388080 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This is a temporary workaround when the __proto__ property is being redefined (e.g. by Object.freeze()) to not loose the foreign callback. Once the __proto__ property is a real JavaScript accessor this hack is no longer necessary. This change also makes __proto__ configurable. R=rossberg@chromium.org BUG=v8:2565 TEST=mjsunit/regress/regress-2565 Review URL: https://codereview.chromium.org/12398010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/12398011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This makes sure that none of the builtin functions rely on the __proto__ accessor which can now be monkey-patched by applications. Instead use a separate %SetPrototype() intrinsic or object literals to do the job. R=rossberg@chromium.org Review URL: https://codereview.chromium.org/12385082 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
hpayer@chromium.org authored
BUG= Review URL: https://codereview.chromium.org/12378071 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/12398009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/12374087 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-
hpayer@chromium.org authored
Wait for sweeper threads and finalize sweeping only if parallel/concurrent sweeping was in progress. BUG= Review URL: https://codereview.chromium.org/12386084 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
palfia@homejinni.com authored
MIPS: Renamed "symbols" to "internalized strings" throughout the code base, in preparation of the introduction of ES6 'symbols' (aka private/unique names). Port r13781 (59f39a06) Original commit message: 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). BUG= Review URL: https://codereview.chromium.org/12374074 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=mstarzinger@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/12395012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
palfia@homejinni.com authored
Port r13775 (1fd19d83) Original commit message: Allow transitioning from KNOWN_OBJECT to KNONW_OBJECT or OBJECT. Also, rename HEAP_NUMBER IC states to NUMBER, since they handle Smis, too. BUG= Review URL: https://codereview.chromium.org/12387076 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
palfia@homejinni.com authored
Port r13768 (4996bcd0) Original commit message: - Later the different parts will become individual code objects that tailcall into one another. - The mapcheck/symbol check still needs to be separated from the overall prototype-chain check so that the ICs can reuse the handlers. BUG= Review URL: https://codereview.chromium.org/12378061 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13804 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
palfia@homejinni.com authored
Port r13763 (6b32e7d6) Original commit message: This fixes the deoptimizer to materialize arguments objects of correct length even in cases where the actual argument values are unknown and were optimized away by Crankshaft. This can happen if only the length property or the identity of an arguments object is used. BUG= Review URL: https://codereview.chromium.org/12383076 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13803 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
palfia@homejinni.com authored
Port r13732 (686b0a45) Original commit message: This changes FastCloneShallowObjectStub to be compiled independent of the target architecture. It also adds tracing to the deoptimizer for compiled stubs and contains some minor bugfixes. BUG= Review URL: https://codereview.chromium.org/12389070 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/12340112 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
palfia@homejinni.com authored
Port r13727 (55a760ec) BUG= Review URL: https://codereview.chromium.org/12374073 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
BUG= Review URL: https://codereview.chromium.org/12389075 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/12374046 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Mar, 2013 9 commits
-
-
mvstanton@chromium.org authored
BUG= Review URL: https://codereview.chromium.org/12385050 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
Addresses missing cases for array literals. Adds support for "new Array()" call sites. This isn't complete yet, I have to run with --noinline_new. BUG= Review URL: https://codereview.chromium.org/11818021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
BUG= Review URL: https://codereview.chromium.org/12391031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
BUG=178790 Review URL: https://chromiumcodereview.appspot.com/12380026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/12385046 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-
hpayer@chromium.org authored
BUG= Review URL: https://codereview.chromium.org/12379043 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This unifies the translation of artificial accessor stub and arguments adaptor frames. The frame layout is the same on all architectures and the computation code can be shared. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/12374044 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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 2 commits
-
-
yangguo@chromium.org authored
R=rossberg@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/12330171 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-