- 12 Mar, 2013 1 commit
-
-
svenpanne@chromium.org authored
BUG=v8:2487 Review URL: https://codereview.chromium.org/12764003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Mar, 2013 1 commit
-
-
danno@chromium.org authored
In the process, ensure that transition-causing element stores handle all cases of the transitioned receiver map. Review URL: https://codereview.chromium.org/12390031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Mar, 2013 1 commit
-
-
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
-
- 01 Mar, 2013 1 commit
-
-
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
-
- 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
-
- 21 Jan, 2013 1 commit
-
-
verwaest@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/11973008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Jan, 2013 1 commit
-
-
verwaest@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/11794045 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Nov, 2012 1 commit
-
-
jkummerow@chromium.org authored
Lattice-based representation inference, powered by left/right specific type feedback for BinaryOps and comparisons Review URL: https://chromiumcodereview.appspot.com/10837165 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12961 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
-
- 06 Aug, 2012 1 commit
-
-
svenpanne@chromium.org authored
This is a refactoring-only CL which improves the typing of IDs associated with AST nodes. The interesting parts are in utils.h and ast.h, the rest of the CL basically follows mechanically. Review URL: https://chromiumcodereview.appspot.com/10831172 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Jul, 2012 1 commit
-
-
sanjoy@chromium.org authored
Introduce an OptimizingCompiler class, responsible for maintaining the state needed to run Crankshaft. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10700188 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Jun, 2012 1 commit
-
-
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
-
- 19 Mar, 2012 1 commit
-
-
fschneider@chromium.org authored
We already do this for binary-ops, unary-ops and comparisons. Typefeedback for named loads can now also be in "uninitialized" state which means that the corresponding load IC was never executed. Review URL: https://chromiumcodereview.appspot.com/9722041 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Mar, 2012 1 commit
-
-
mstarzinger@chromium.org authored
This uses the type feedback already present for computed value stores into object literals to generate optimized stores in Crankshaft, thus avoiding unnecessary generic stores with side effects. R=svenpanne@chromium.org Review URL: https://chromiumcodereview.appspot.com/9692036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Mar, 2012 1 commit
-
-
vegorov@chromium.org authored
R=fschneider@chromium.org Review URL: https://chromiumcodereview.appspot.com/9571001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Feb, 2012 1 commit
-
-
mstarzinger@chromium.org authored
R=vegorov@chromium.org,kmillikin@chromium.org Review URL: https://chromiumcodereview.appspot.com/9304001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Jan, 2012 1 commit
-
-
mstarzinger@chromium.org authored
This caches call targets of constructor calls by associating one element caches with call sites. The type feedback oracle can use the recorded valued to gather type information for monomorphic constructor call sites. R=kmillikin@chromium.org,vegorov@chromium.org Review URL: https://chromiumcodereview.appspot.com/8932004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Jan, 2012 1 commit
-
-
kmillikin@chromium.org authored
R=fschneider@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9288011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Jan, 2012 1 commit
-
-
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
-
- 14 Dec, 2011 1 commit
-
-
fschneider@chromium.org authored
This avoid leaking memory because optimized code may hold on to maps from different tabs otherwise. BUG=v8:1823, 102895 Review URL: http://codereview.chromium.org/8892002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Dec, 2011 1 commit
-
-
ricow@chromium.org authored
Now with arm and x64 support. Additionally, added default unreachable case to switch statement in CompareIC::TargetState to make win and mac compilers happy. Reviewer guide: This is an exact copy of 10216 except: src/arm/* src/x64/* src/ic.cc (added default case to swith in CompareIC::TargetState) Review URL: http://codereview.chromium.org/8872060 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Dec, 2011 2 commits
-
-
ricow@chromium.org authored
Missing arm and x64 implementations Review URL: http://codereview.chromium.org/8883023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
This includes specialcasing the generation when we know that the maps of the two objects are the same. In addition, a new specialized compare ic known objects cache is created. The reason for the cache is that we need to have access to the stub code from the roots; if we do not, the GC will collect the stub. In this specialized case we use the map pointer as key in the cache, and we always do a lookup before generating code. Actually hitting something in the cache will happen very rarely, but we could potentially overwrite an existing stub, which again will lead to the GC collecting this old stub (even if it is referenced from other code objects) Review URL: http://codereview.chromium.org/8520006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Nov, 2011 1 commit
-
-
fschneider@chromium.org authored
Landing: [hydrogen] optimize switch with string clauses. Patch by Fedor Indutny <fedor.indutny@gmail.com>. Original code review: http://codereview.chromium.org/8373029/ Review URL: http://codereview.chromium.org/8589019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Nov, 2011 2 commits
-
-
fschneider@chromium.org authored
There was a test failure on x64 mozilla tests. TBR=ricow@chromium.org Review URL: http://codereview.chromium.org/8495011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Hydrogen should optimize not only SMI clauses, but clauses with string literals too. Patch from fedor.indutny <fedor.indutny@gmail.com>. R=vegorov@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8373029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Oct, 2011 1 commit
-
-
fschneider@chromium.org authored
This change is based on my previous change enabling inlining calls-as-function fixing the bugs related to deoptimization. The function value on top of the environment was dropped too late in the old code. As a result we could get a wrong value on top after deoptimization. This change includes r9619. It was reverted because of test failures that are fixed with this patch. Review URL: http://codereview.chromium.org/8360001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Oct, 2011 4 commits
-
-
fschneider@chromium.org authored
It causes an assertion with deoptimizing from inlined code. Review URL: http://codereview.chromium.org/8277034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
TBR=whesse@chromium.org Review URL: http://codereview.chromium.org/8286023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9635 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
TBR=whesse@chromium.org Review URL: http://codereview.chromium.org/8286022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9633 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
1. Record AST id for CallFunctionStub. 2. Correctly extract cached target from CallFunctionStub inline cache. 3. Fix a bug when inling call as a function in effect or value context: Handle abnormal exits correcty. 4. Fix a bug when inlining call as a function in test context: drop function correctly from true and false block. 5. Avoid inlining mutually recursive functions by checking the stack of function states before inlining. This was not a bug, but is just a more general check to avoid recursive inlining. Review URL: http://codereview.chromium.org/8258012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Oct, 2011 1 commit
-
-
fschneider@chromium.org authored
Fix a use of the hole value and the undefined value before initialization when initializing V8. Before we just read a NULL value from them. Review URL: http://codereview.chromium.org/8130002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Sep, 2011 1 commit
-
-
kmillikin@chromium.org authored
Introduce a version of the CallFunctionStub that records monomorphic call targets in a one-element cache in the instruction stream. Use the cache for inlining attempts in the optimizing backend. R=fschneider@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/7966038 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Aug, 2011 1 commit
-
-
vitalyr@chromium.org authored
Some AST nodes (Property, Call, etc.) store either a list of receiver types or a monomorphic receiver type. This patch merges the two fields using a small pointer list. GetMonomorphicReceiverType() is now a purely convenience function returning the first and only recorded type. This saves about 500K (of about 39M) on average when compiling V8 benchmark as measured by a simple patch adding a zone allocation counter (https://gist.github.com/1149397). R=kmillikin@chromium.org Review URL: http://codereview.chromium.org/7655017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Jul, 2011 1 commit
-
-
svenpanne@chromium.org authored
Record ToBoolean's type information in Hydrogen's HBranch instruction, so we can use it in LCodeGen::DoBranch later. Review URL: http://codereview.chromium.org/7491043 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Jul, 2011 1 commit
-
-
svenpanne@chromium.org authored
ZoneAllocationPolicy::New is not inlined anymore because this pulls in far too much stuff and doesn't really make any measurable performance difference. And no, the #includes are still not in alphabetical order... ;-) Review URL: http://codereview.chromium.org/7346006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Jun, 2011 2 commits
-
-
svenpanne@chromium.org authored
with AST IDs. Previously 3 different places had to match in how they handle a given case, now we are down to 2, with an even simpler logic. The downside is that due to this simpler logic the allocated dictionary could be larger than before, but test have shown that this happens *very* rarely, because its capacity is rounded to the next power of 2, anyway. Furthermore, the oracle doesn't live long enough that we should really care. The whole oracle is probably still a bit too tricky in its details, but this is at least a step into the right direction. Review URL: http://codereview.chromium.org/7204003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
Review URL: http://codereview.chromium.org/7170012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Jun, 2011 1 commit
-
-
karlklose@chromium.org authored
This reverts commit ceb31498b9d69edca3260820fb4047045891ce6d. TBR=kmillikin@chromium.org Review URL: http://codereview.chromium.org/7172030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Jun, 2011 1 commit
-
-
karlklose@chromium.org authored
Review URL: http://codereview.chromium.org/7167006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-