- 12 Feb, 2010 9 commits
-
-
sgjesse@chromium.org authored
The porting of array allocation in generated code from ia32 to x64 wrongly assumed that a smi contained the actual number times 2. Removed the constant times_half_pointer_size, as it will probably not be needed. Review URL: http://codereview.chromium.org/596084 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/597059 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
When adding a string with a smi value the number string cache is checked in generated code. If the there is a string value in the number string cache the resulting string is produced in generated code. Review URL: http://codereview.chromium.org/596082 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
All two character string results from adding two strings and from sub string used to be handled in the runtime system as a lookup in the symbol table was done before allocating a new string. The native code for string add and sub string now probes the symbol cache for two character strings to avoid the runtime call. If the result string is not found in the symbol table within a fixed number of probes a new string is just allocated. Newly allocated two character strings are not added to the symbol table immediately. Review URL: http://codereview.chromium.org/598062 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/573009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Begin changing the interface of the virtual-frame-based code generator to avoid pushing short-lived temporaries on the frame. Review URL: http://codereview.chromium.org/600097 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
This change add simple local live variable information to the fast code generator. It supports only AST nodes that are accepted by the syntax checker. Each variable use points to a variable definition structure which contains the last use of the definition. To determine whether a variable is live after a certain point we can check whether its last use occurs later in the evaluation order defined by the AST labeling number. The new information is currently only printed out together with the IR and not yet used for code generation. Review URL: http://codereview.chromium.org/603004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/596036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Review URL: http://codereview.chromium.org/600069 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Feb, 2010 4 commits
-
-
ager@chromium.org authored
Review URL: http://codereview.chromium.org/597022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
left operand. For non-commutative operations the right operand could be overwritten with the Smi left operand. We need better testing of all of these cases. We will add more test cases as a separate commit. Review URL: http://codereview.chromium.org/598059 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Initial implementation of ad hoc must-be-smi tracking in the fast code generator. Type information is used to avoid the write barrier for smi property stores and to avoid the smi check for the inputs/output of bitwise OR. Review URL: http://codereview.chromium.org/597021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
function instead of baking in the address of the first one that we see in code. This removes the need for fixups processing and makes the stubs safe when there is no natives cache and therefore multiple versions of the builtin functions. Review URL: http://codereview.chromium.org/594009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Feb, 2010 6 commits
-
-
mikhail.naganov@gmail.com authored
Patch from Dineel D Sule <dsule@codeaurora.org>. Original issue: http://codereview.chromium.org/600019 TBR=sgjesse@chromium.org Review URL: http://codereview.chromium.org/593038 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/554152 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/598020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Explicitly check that global variables do not have accessors or interceptors in the fast code generator syntax checker. Review URL: http://codereview.chromium.org/595022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/593014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Do not use the speculative compiler for functions with other than one statement in the body, and do not use it if subexpressions can have side effects. Bailing out to the beginning of the full code is not sound if side effects have already occurred. Add tests that would fail without the restrictions. Review URL: http://codereview.chromium.org/598016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Feb, 2010 8 commits
-
-
vitalyr@chromium.org authored
This uses the fact that if a map stayed the same then the object still passes the type check. A new builtin is added to handle the API call in this case. Review URL: http://codereview.chromium.org/573003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Eliminate unused function KeyedStoreIC::GenerateExtendStorage, and unused parameter from StubCompiler::GenerateStoreField. Review URL: http://codereview.chromium.org/575022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/597006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Support a binary operation (bitwise OR) so long as it's not nested in the left subexpression. This ensures that the expression stack never has height greater than two and so can be kept fully in registers. The bounded expression stack height and the absence of any side effects on the fast path allows us to still bailout out to the very beginning of the function if any of our fast-path checks fail. Review URL: http://codereview.chromium.org/594008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/597005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Change GenerateLoadStringLength to have two scratch registers on all platforms. This is needed so that the LoadIC can pass the receiver in a register, and not have it overwritten, and also simplifies the code. Review URL: http://codereview.chromium.org/596011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
on functions that takes five or more arguments. Original version runs for a long time when there is 5 arguments in a runtime function (45+ seconds). The fuzzer can be run with all arguments on all functions regardless of the number of arguments by setting RUN_WITH_ALL_ARGUMENT_ENTRIES to true in fuzz-natives.js Review URL: http://codereview.chromium.org/598011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Added helper functions to the fast code generator for temporary, ad hoc fixed register allocation. Also inlined some helper functions that had only one call site to simplify the code generator API for now. Review URL: http://codereview.chromium.org/586002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Feb, 2010 7 commits
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/583008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
1. Eliminate unnecessary include of register-allocator-inl.h in frame-element.h. 2. Move functions register-allocator.h to the -inl.h file if they use other inline functions. 3. Add missing includes that resulted from the above changes. Review URL: http://codereview.chromium.org/585009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/584006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
http://codereview.chromium.org/561049serya@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
TBR=sgjesse@chromium.org Review URL: http://codereview.chromium.org/574027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
-inl.h files should only contains small inline functions and no class declarations. Implementation moved to codegen.cc since it's not a performance critical class (only used in DEBUG mode). Review URL: http://codereview.chromium.org/585004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
entire file prior to parsing it. This allows processing of huge log files (over 200 MB.) Review URL: http://codereview.chromium.org/574015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Feb, 2010 5 commits
-
-
fschneider@chromium.org authored
This is a first step towards loading globals directly from property cells instead of going through a load IC. This change supports only properties with the DontDelete attribute since we are only able to bailout into the generic code generated by the secondary code generator the beginning of a function. The resulting fast-case code is specialized for a specific context. When invoked with a different global object, it will always bailout to the secondary code. When loading a property that does not exist at compile-time or a property that is deleteable we still generate the generic load IC. Review URL: http://codereview.chromium.org/565034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
all stubs have valid major_keys, and this is OK. So I've added a check to avoid termination in debug mode. Review URL: http://codereview.chromium.org/572034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/571005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Patch from Kun Zhang <zhangk@codeaurora.org>, see http://codereview.chromium.org/569015. Review URL: http://codereview.chromium.org/573027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3804 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Review URL: http://codereview.chromium.org/570040 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3803 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Feb, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
After this fix, profiles of non-snapshotted VMs are now equivalent to profiles of snapshotted VMs (having that --log-snapshot-positions is used, and mksnapshot's log is given to the tick processor script.) BUG=597 Review URL: http://codereview.chromium.org/574005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-