- 22 Jun, 2012 1 commit
-
-
mstarzinger@chromium.org authored
This makes sure the literal boilerplates array is correctly shared together with optimized code when caching of optimized code is enabled. It also enabled said caching by default again. R=ulan@chromium.org BUG=v8:2193 TEST=mjsunit/regress/regress-2193 Review URL: https://chromiumcodereview.appspot.com/10649008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Jun, 2012 2 commits
-
-
verwaest@chromium.org authored
- Ensure that IsFound() is only used when not in combination with other checks. To do so, the default type is NONEXISTENT rather than NORMAL; and NotFound() also resets the type to NONEXISTENT. - Use test methods rather than .type() == A_PROPERTY_TYPE. Review URL: https://chromiumcodereview.appspot.com/10626004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=rossberg@chromium.org TEST=cctest/test-decls/ExistsInHiddenPrototype Review URL: https://chromiumcodereview.appspot.com/10628002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Jun, 2012 1 commit
-
-
sanjoy@chromium.org authored
The CompilationInfo record now saves a Zone, and the compiler pipeline allocates memory from the Zone in the CompilationInfo. Before compiling a function, we create a Zone on the stack and save a pointer to that Zone to the CompilationInfo; which then gets picked up and allocated from. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10534139 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Jun, 2012 4 commits
-
-
mstarzinger@chromium.org authored
R=rossberg@chromium.org BUG=chromium:132741,chromium:132742 TEST=mjsunit/harmony/collections Review URL: https://chromiumcodereview.appspot.com/10573011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This changes the compiler to be more aggressive about lazy compilation of closures with non-trivial outer context. Compilation can only be triggered with a valid outer context now. One exception is the debugger, which can request compilation of arbitrary shared code, but it ensures to trigger compilation only at points where no context is needed. This relands r11782, r11783, r11790 and a minor fix. R=ulan@chromium.org TEST=mjsunit/debug-script-breakpoints-nested Review URL: https://chromiumcodereview.appspot.com/10543141 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=ulan@chromium.org BUG=131994 TEST=regress/regress-131994.js Review URL: https://chromiumcodereview.appspot.com/10585002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
BUG=133211 TEST=test/mjsunit/regress/regress-133211.js Review URL: https://chromiumcodereview.appspot.com/10559062 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Jun, 2012 1 commit
-
-
peter.rybin@gmail.com authored
Review URL: https://chromiumcodereview.appspot.com/10544151 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Jun, 2012 3 commits
-
-
yangguo@chromium.org authored
BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10535164 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
R=mstarzinger@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10546166 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Each SharedFunctionInfo gets an optimized code map to store one optimized code object per context. When allocating a new closure we consult this map and check if there is optimized code that can be shared. This patch is based on an original patch by Anton Muhin (http://codereview.chromium.org/6793013/). BUG=v8:2087, v8:2094 TEST=test/mjsunit/compiler/optimized-closures.js Review URL: https://chromiumcodereview.appspot.com/10103035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Jun, 2012 1 commit
-
-
mstarzinger@chromium.org authored
R=danno@chromium.org Review URL: https://chromiumcodereview.appspot.com/10536142 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Jun, 2012 1 commit
-
-
mstarzinger@chromium.org authored
This changes the compiler to be more aggressive about lazy compilation of closures with non-trivial outer context. Compilation can only be triggered with a valid outer context now. One exception is the debugger, which can request compilation of arbitrary shared code, but it ensures to trigger compilation only at points where no context is needed. R=ulan@chromium.org TEST=mjsunit/debug-script-breakpoints-nested Review URL: https://chromiumcodereview.appspot.com/10538102 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Jun, 2012 2 commits
-
-
sanjoy@chromium.org authored
By passing around a Zone object explicitly we no longer need to do a TLS access at the sites that allocate memory from the current Zone. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10534006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11761 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
This is a first step towards separating all transitions from the property descriptions. If we link the property descriptions from the transition object, this will in allow the descriptor array (property descriptions) to become immutable. Review URL: https://chromiumcodereview.appspot.com/10444055 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11750 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Jun, 2012 2 commits
-
-
erik.corry@gmail.com authored
Keep track of which maps are associated with prototype objects so we can tune the fast-case vs. hash map heuristics accordingly. This is a reland of r11681 https://chromiumcodereview.appspot.com/10448011 , which was reverted because of layout test failures that were actually caused by the long-standing issue fixed in https://chromiumcodereview.appspot.com/10515006 (r11706). Review URL: https://chromiumcodereview.appspot.com/10532021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This change triggers compilation for a given closure instead of the shared function info. It will allow for even more cases to be compiled lazily. R=ulan@chromium.org Review URL: https://chromiumcodereview.appspot.com/10544025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Jun, 2012 3 commits
-
-
yangguo@chromium.org authored
R=jkummerow@chromium.org BUG= TEST=regress-regexp-overflow.js Review URL: https://chromiumcodereview.appspot.com/10538012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
TEST=mjsunit/harmony/proxies R=mstarzinger@chromium.org Review URL: https://chromiumcodereview.appspot.com/10532004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
After we get rid of all SharedFunctionInfo::EnsureCompiled calls, it will be possible to remove the HasTrivialOuterContext() condition in Scope::AllowsLazyCompilation. R=mstarzinger@chromium.org Review URL: https://chromiumcodereview.appspot.com/10542002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Jun, 2012 1 commit
-
-
sanjoy@chromium.org authored
This CL changes some parts of the code to explicitly pass around a Zone. Not passing in a zone is okay too (in fact most of v8 still doesn't), but that may incur a TLS lookup. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10443114 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 May, 2012 1 commit
-
-
https://chromiumcodereview.appspot.com/10448011erik.corry@gmail.com authored
(Keep track of which maps are associated with prototype objects so we can tune the fast-case vs. hash map heuristics accordingly.). Reverting because the dict-mode to fast case transformation loses the iteration order information. Review URL: https://chromiumcodereview.appspot.com/10448097 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 May, 2012 1 commit
-
-
erik.corry@gmail.com authored
so we can tune the fast-case vs. hash map heuristics accordingly. Review URL: https://chromiumcodereview.appspot.com/10448011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 May, 2012 1 commit
-
-
yangguo@chromium.org authored
BUG= TEST=regexp-global.js Review URL: https://chromiumcodereview.appspot.com/10454032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11661 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
-
- 22 May, 2012 1 commit
-
-
yangguo@chromium.org authored
BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10386090 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11623 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 May, 2012 1 commit
-
-
erik.corry@gmail.com authored
Remove %_SwapElements. This inlined runtime contained an optimization that was dangerous in the presence of incremental compaction. It also prevented QuickSort from array.js from being optimized by Crankshaft, so it is probably better to do without it. We have high hopes that this will fix bug=117879. Review URL: https://chromiumcodereview.appspot.com/10392150 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 May, 2012 1 commit
-
-
mstarzinger@chromium.org authored
R=danno@chromium.org TEST=mjsunit/compiler/inline-construct Review URL: https://chromiumcodereview.appspot.com/10332010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Apr, 2012 2 commits
-
-
peter.rybin@gmail.com authored
This is against the correct branch (bleeding_edge). Review URL: https://chromiumcodereview.appspot.com/10171003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
is optimized, does not mean all frames on the stack are optimized. Also, when we ask for the list of scripts we may get more or less depending on GC timing. Also fixed a presubmit error and made %GetOptimizationStatus a little more honest. Review URL: https://chromiumcodereview.appspot.com/10234007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Apr, 2012 2 commits
-
-
erik.corry@gmail.com authored
match. Sometimes were were not updating it when we should and sometimes we were leaving the lastMatchInfoOverride in place when we should be using the updated regular last match info. Small optimization for zero length match in String.prototype.replace. Review URL: https://chromiumcodereview.appspot.com/10184004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=rossberg@chromium.org BUG=v8:1982 TEST=test262/15.10.4.1-5 Review URL: https://chromiumcodereview.appspot.com/10134010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Apr, 2012 3 commits
-
-
erikcorry authored
MIPS: Do the qNaN fixup at de-serialization time. This is a commit of https://chromiumcodereview.appspot.com/10093007/ for Paul Lind git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
R=mstarzinger@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10163003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
BUG=109564 TEST= Review URL: https://chromiumcodereview.appspot.com/10078014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Apr, 2012 1 commit
-
-
svenpanne@chromium.org authored
Removed 2 useless functions, nuked a simple helper function with a single caller, and simplified things by changing a signature. Review URL: https://chromiumcodereview.appspot.com/10066046 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Apr, 2012 3 commits
-
-
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
-
rossberg@chromium.org authored
I also discovered that our treatment of const declarations is inconsistent when inside a global eval under 'with' (i.e., when created by DeclareContextSlots). That is, var x; eval("const x = 9") and var x; eval("with({}) const x = 9") differ (the former assigns 9, the latter throws). This appears to be an oversight from earlier changes to our const semantics (the latter shouldn't throw either). Fixing this is a separate issue, though (and one that doesn't seem quite worthwhile). R=mstarzinger@chromium.org BUG=v8:1991,80591 TEST= Review URL: https://chromiumcodereview.appspot.com/10067010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
Do proper dispatch on declaration type instead of mingling together different code generation paths. Once we add more declaration forms, this is more scalable. In separate steps, I'd like to (1) clean up the logic for DeclareGlobal, and (2) try to reduce the special handling of the name function var if possible. R=fschneider@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9704054 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-