- 29 Nov, 2011 5 commits
-
-
kmillikin@chromium.org authored
This shaves 416+ KB, just under 1% off the size of the debug d8 executable on Linux (mostly because the CheckHelper functions for assertions were getting separate copies for each compilation unit). The difference in release builds is negligible---a size reduction of 0.1%. Also, change namespace-level 'static const' variables to remove the static storage class as it's the default. R=danno@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8680013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Source slot might belong to a dead old object and we might allocate a new object over it when evacuating a new space object this slot points to. In this case if we update slot after migrating object we will write into migrated object. R=erik.corry@gmail.com Review URL: http://codereview.chromium.org/8698022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=erik.corry@gmail.com BUG=v8:1845 TEST=mjsunit/harmony/proxies-example-membrane Review URL: http://codereview.chromium.org/8715004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
keuchel@chromium.org authored
This reapplies a fixed version of r10076 that also works on arm. Patch set one is r10076 reapplied and patch set 2 contains the new fix. Review URL: http://codereview.chromium.org/8725001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
keuchel@chromium.org authored
The ES.next drafts require that source code that matches the productions for let and const bindings outside the extended mode trigger early syntax errors. This CL adapts the parser / preparser accordingly under the harmony scoping flag. Summary: * Harmony scoping flag not set: Old semantics allowing const in classic mode with function level scope. Const binding in strict mode and let bindings in classic and strict mode trigger early syntax errors. * Harmony scoping is set: Use new harmony const and let in extended mode and old const in classic mode. This is to preserve compatibility with current web pages that already use non-standard implementations of const. An early syntax error is thrown on const in strict mode and on let in classic and strict mode. This depends on: http://codereview.chromium.org/8562002/ TEST=mjsunit/harmony/block-early-errors.js Review URL: http://codereview.chromium.org/8564001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Nov, 2011 6 commits
-
-
danno@chromium.org authored
BUG=none TEST=none Review URL: http://codereview.chromium.org/8472003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
keuchel@chromium.org authored
Review URL: http://codereview.chromium.org/8716005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
keuchel@chromium.org authored
source code positions it gets from the program counter to recreate the scope chain by reparsing the function or program. This CL includes the following changes * Adds source code positions for the assignment added by the rewriter. * Run the preparser over global code first. * Use the ScopeType from the ScopeInfo to determine if the code being debugged is eval, function or global code instead of looking up the '.result' symbol. TEST=mjsunit/debug-stepout-scope.js Review URL: http://codereview.chromium.org/8590027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
BUG= TEST= Review URL: http://codereview.chromium.org/8720005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Multiline conditionals must use braces. Semicolons are not optional. Review URL: http://codereview.chromium.org/8701006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=keuchel@chromium.org BUG=v8:1845 TEST=mjsunit/harmony/proxies-example-membrane Review URL: http://codereview.chromium.org/8698017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Nov, 2011 7 commits
-
-
mstarzinger@chromium.org authored
This mode drastically decreases pause times by limiting maximum capacity of the young generation when mutators generate many long-lived objects. It shrinks new space back to the initial capacity and keeps it at that capacity until survival rate decreases again. R=erik.corry@gmail.com Review URL: http://codereview.chromium.org/8702006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
Review URL: http://codereview.chromium.org/8699004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
TEST=test/mjsunit/string-external-cached.js Review URL: http://codereview.chromium.org/8680010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
Review URL: http://codereview.chromium.org/8698005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=yangguo@chromium.org TEST=mjsunit/keyed-call-ic Review URL: http://codereview.chromium.org/8688008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
Review URL: http://codereview.chromium.org/8700004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Instead use the preparser inline to parse only the lazy function bodies. This is still disabled for small files. More measurements are needed to determine if lazy-compiling small sources is worth it. Review URL: http://codereview.chromium.org/8662037 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Nov, 2011 7 commits
-
-
yangguo@chromium.org authored
There is no test case to trigger any crash. This is only to guard against the case that the native function is called with unsafe arguments. Review URL: http://codereview.chromium.org/8554004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
keuchel@chromium.org authored
So far the parser had its own harmony flag to disable the harmony scoping feature when parsing native functions. With the introduction of the extended language mode this becomes unnecessary because native functions will never enter the extended mode. The parser can thus track FLAG_harmony_scoping and the language mode of the current scope to see if harmony features are allowed. The scanner and preparser have to keep their flag, because they can't use FLAG_harmony_scoping as it is not available for the preparser-process executable. This depends on: http://codereview.chromium.org/8417035/ Review URL: http://codereview.chromium.org/8562002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
keuchel@chromium.org authored
This CL introduces a third mode next to the non-strict (henceforth called 'classic mode') and 'strict mode' which is called 'extended mode' as in the current ES.next specification drafts. The extended mode is based on the 'strict mode' and adds new functionality to it. This means that most of the semantics of these two modes coincide. The 'extended mode' is entered instead of the 'strict mode' during parsing when using the 'strict mode' directive "use strict" and when the the harmony-scoping flag is active. This should be changed once it is fully specified how the 'extended mode' is entered. This change introduces a new 3 valued enum LanguageMode (see globals.h) corresponding to the modes which is mostly used by the frontend code. This includes the following components: * (Pre)Parser * Compiler * SharedFunctionInfo, Scope and ScopeInfo * runtime functions: StoreContextSlot, ResolvePossiblyDirectEval, InitializeVarGlobal, DeclareGlobals The old enum StrictModeFlag is still used in the backend when the distinction between the 'strict mode' and the 'extended mode' does not matter. This includes: * SetProperty runtime function, Delete builtin * StoreIC and KeyedStoreIC * StubCache Review URL: http://codereview.chromium.org/8417035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This generates optimized code for deep-copying of nested object literal boilerplates which are statically known. Most of the boilerplates have already been generated at crankshaft time, so this optimization should kick in for virtually every object literal. Only nested object literal graphs up to a certain depth and containing up to a certain total number of properties are considered for this optimization. This will prevent explosion of code size due to large object literals (e.g. eval on JSON). Improves splay performance because object literals are created often. R=fschneider@chromium.org Review URL: http://codereview.chromium.org/8640001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Currently the parser benchmark doesn't count preparsing, since it doesn't know when it's preparsing. Review URL: http://codereview.chromium.org/8692001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
Review URL: http://codereview.chromium.org/8682010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
Review URL: http://codereview.chromium.org/8662009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Nov, 2011 9 commits
-
-
jkummerow@chromium.org authored
Fix the Mac build. "_toolset" needs to be tested inside target_conditions now. And there is no need to have -llog any more. Review URL: http://codereview.chromium.org/8631012 Patch from Jing Zhao <jingzhao@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This just ports r10036 to the ARM codegenerator. Please see the original revision for a detailed description. R=erik.corry@gmail.com Review URL: http://codereview.chromium.org/8638012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
Review URL: http://codereview.chromium.org/8683001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
Review URL: http://codereview.chromium.org/8677006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=jkummerow@chromium.org Review URL: http://codereview.chromium.org/8679002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
Review URL: http://codereview.chromium.org/8681007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
BUG= TEST= Review URL: http://codereview.chromium.org/8635011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Some MIPS boards could not handle the large number of threads and failed these tests. BUG= TEST= Review URL: http://codereview.chromium.org/8506008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
This was fixed for arm in revision 10045 Review URL: http://codereview.chromium.org/8662003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Nov, 2011 5 commits
-
-
ulan@chromium.org authored
BUG= TEST= Review URL: http://codereview.chromium.org/8554009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dslomov@chromium.org authored
Reduced the number of created threads on ARM. Review URL: http://codereview.chromium.org/8639007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
This sets the limit to 128M elements on all platforms. Before allocating a large array may cause an OutOfMemory on x64 whereas it would not on ia32. Also remove an unused constant from the FreeSpace class. BUG=103103 Review URL: http://codereview.chromium.org/8637015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Port r10019 (9bbb78bf) Original commit message: Patch by Fedor Indutny <fedor.indutny@gmail.com>. BUG= TEST= Review URL: http://codereview.chromium.org/8574073 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=jkummerow@chromium.org Review URL: http://codereview.chromium.org/8633007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Nov, 2011 1 commit
-
-
jkummerow@chromium.org authored
Review URL: http://codereview.chromium.org/8554007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10041 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-