- 19 Feb, 2010 15 commits
-
-
vitalyr@chromium.org authored
Original review: http://codereview.chromium.org/646010/show Change the implementation of lastIndexOf method of String. Convert the strings in question to Vector<char> or Vector<uc16> and execute simple search algorithm on them. The difference in speed on 500k character string is about 10x. TBR=ager@chromium.org Review URL: http://codereview.chromium.org/650036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/650028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
A list of bailout descriptions is kept in the CompilationInfo structure that is shared between the primary and secondary code generators. The primary adds a description to the list for each bailout position. Responsibility for binding labels is moved from the primary to the secondary code generator. All the labels still target the start of the secondary code and the compilation state of the primary is still ignored. Move the compilation mode flag to the CompilationInfo. Review URL: http://codereview.chromium.org/651031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
Review URL: http://codereview.chromium.org/647022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Added test for bug 619 - we should move this to object-define-property when the bug has been corrected. Review URL: http://codereview.chromium.org/651028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
* Inlined checks for strings and regexps. * Rewrote split for the non-regexp case. * Implemented one-char case for lastIndexOf. Review URL: http://codereview.chromium.org/596122 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Removed asserts on attributes when setting elements. Will file a bug on not handling elements correctly when using Object.defineProperty Review URL: http://codereview.chromium.org/651025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
been missing for a long time but the fallthrough to the default case used to break. Now the default case should be unreachable and the fallthrough therefore causes assertion failures. Review URL: http://codereview.chromium.org/651024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Reorder code so that helper functions and simple accessors come before all the visit function. Review URL: http://codereview.chromium.org/650026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3912 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/651019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Although algorithmically correct, the compiler would not allow to instantiate a BitField that uses all 32 bits without warnings about a too large shift count. As a consequence we were limited to 31 bit values when using BitField. This happened when instantiating a bitfield BitField<T, shift, size> with [shift=0, size=32] or [shift=31, size=1] or more general any [shift=X, size=32-X] As side-effect of the new implementation the compiler now warns if we ever try instantiating a bitfield with size 0. Review URL: http://codereview.chromium.org/606063 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
TBR=kmillikin@chromium.org, Review URL: http://codereview.chromium.org/650025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
This allows us to make changes to one platform without affecting the others. Review URL: http://codereview.chromium.org/646019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Add a (currently) syntactic predicate to AST expression nodes telling whether they are 'trivial'. Trivial expressions have no side effects, do not require storage to be allocated for them, and can be evaluated out of order (because their value does not change between when they are visited by the code generator as expressions in the AST and when it is consumed). Mark 'this' and literals as trivial. Allow them to be pushed on the virtual frame. Make use of them to push 'this' more lazily in this property assignments. Review URL: http://codereview.chromium.org/647018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Review URL: http://codereview.chromium.org/651016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Feb, 2010 10 commits
-
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/647013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Replaced IsValid by IsPropertyOrTransition and used IsProperty in most of the places where IsValid was used before. Most of the time when inspecting a lookup result we really want to know if there is a real property present. Only for stores are we interested in transitions. BUG=http://crbug.com/20104 TEST=cctest/test-api/NamedInterceptorMapTransitionRead Review URL: http://codereview.chromium.org/647015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Added access check to SetNormalizedProperty which is used from runtime DefineOrRedefineDataProperty. Review URL: http://codereview.chromium.org/647010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Change compilation of assignment expressions in the ia32 code generator to no longer use the Reference helper class. This gives us more explicit control over which subexpressions are evaluated and when. Review URL: http://codereview.chromium.org/643001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/647014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Fix error in compound assignment to keyed load by making platform-independent full compiler code platform dependent, add test of compound assignments. Review URL: http://codereview.chromium.org/646009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
It doesn't mean I'm participating in some fixit, just spotted some code which doesn't have usages and decided to remove it. Review URL: http://codereview.chromium.org/646007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/601080 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Fix broken condition. Fixe some style issues. Re-enabel part of a test which was turned off. TBR=ager@chromium.org Review URL: http://codereview.chromium.org/647007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Moved all the logic to a function on SharedFunctionInfo (including the flag check) to make things more readable. Changed the check for setter to do a lookup for a named setter for each of the properties assigned in the constructor. Added tests using accessors and interseptors set through the API. Added fast case objects to the mjsunit test. TEST=test/mjsunit/setter-on-constructor-prototype.js TEST=test/cctest/test-api/SetterOnConstructorPrototype TEST=test/cctest/test-api/InterceptorOnConstructorPrototype Review URL: http://codereview.chromium.org/619006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Feb, 2010 14 commits
-
-
peter.rybin@gmail.com authored
Review URL: http://codereview.chromium.org/626002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
peter.rybin@gmail.com authored
Review URL: http://codereview.chromium.org/607004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Remove a move and jump from the fast-path code in the speculative backend. Ultimately, this code belongs to the bailout and not the fast path. Review URL: http://codereview.chromium.org/601094 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3890 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
This change allows to associate integer tags with blocks of profiler log events, and repeat calls to 'ResumeProfiler' / 'PauseProfiler' in order to establsh nested (not necessary properly nested) blocks. By supporting this, we will be able to match WebInspector's CPU profiler abilities in DevTools. I also refactored some testing code. Review URL: http://codereview.chromium.org/619004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/618006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/601092 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/620003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/618002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
The test array-splice.js following array-shift, array-slice etc would be added in next commit. Review URL: http://codereview.chromium.org/618005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/608027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Fix for issue 603. Revision r3484 removed the property name from the call stack for call ICs. When a non-function was called via a call IC and Function.prototype.call, an extra value was left on the stack that the caller could not know to clean up. Fix is to change the JS builtin used for calling non-functions. It now gets the callee as receiver, rather than iterating stack frames and finding it on the expression stack of its JS caller. Review URL: http://codereview.chromium.org/604064 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/608015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
BUG=612 Review URL: http://codereview.chromium.org/608014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Simple objects which are constructed without calling the actual constructor function did not take setters defined on prototype chain of the new object into account. Constructing objects this way is now not done if there are setters involved on the prototype chain of the new object. This only fixes the case where the setter is found when the first object from a constructor is created. If the prototype chain is changed new objects will on take any change to setters into account. TEST=test/mjsunit/setter-on-constructor-prototype.js Review URL: http://codereview.chromium.org/606062 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Feb, 2010 1 commit
-
-
vitalyr@chromium.org authored
With the current API the embedder has to extrenalize a string each time a string is encountered to avoid the cost of repeated character copying/conversion. The issue here is that the externalization cost itself is non-negligible (both in time and space) and should not be paid for a rarely used string. This change is an attempt to predict a string's usage frequency based on its freshness. A string is considered fresh if it was recently allocated in the new space. Review URL: http://codereview.chromium.org/608006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3878 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-