- 20 Dec, 2010 2 commits
-
-
sgjesse@chromium.org authored
objectprint=on (defaults to off) option (which defines OBJECT_PRINT). 2. Added the ability to print objects to a specified file instead of just stdout. 3. Added a use_verbose_printer flag (true by default) to allow some object printouts to be less verbose when the flag is false. 4. Fixed a bug in VSNPrintF() where it can potentially write into an empty char vector. Patch by Mark Lam from Hewlett-Packard Development Company, LP Review URL: http://codereview.chromium.org/5998001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/5967002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Dec, 2010 13 commits
-
-
erik.corry@gmail.com authored
use cross thread synchronization in Crankshaft. Review URL: http://codereview.chromium.org/5979001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
o Add --print-unopt-code to print unoptimized code before printing optimized code based on it. This is useful to see the states of ICs and the effects of code patching. o Use debug function names in disassembly output. Review URL: http://codereview.chromium.org/5959003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
This prevents code motion from hoisting map-checks across such stores which may result in unnecessary deoptimizations. In the following example program we would move a map-check from the inner loop out before the outer loop which is not desirable: function f() { var o = {}; var j = 0; o.a = 1; do { o.b = 6; // Map transition for (var i=0; i<10; i++) { o.a = o.b + i; } } while(++j < 1) {} } for (var i = 0; i < 1000000; i++) f(); Review URL: http://codereview.chromium.org/5991001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
attributes from an existing property on a prototype object. Review URL: http://codereview.chromium.org/5995002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
can be reset to allow DST / timezone changes to be re-cached and reflected in the Date object. Patch by Mark Lam from Hewlett-Packard Development Company, LP Review URL: http://codereview.chromium.org/5978001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/5990001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sandholm@chromium.org authored
Review URL: http://codereview.chromium.org/5959002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6065 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/5988001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Tweak quicksort bailout parameter to minimize time. Review URL: http://codereview.chromium.org/5962003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/5899001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Also fix files because of missing prepare for push of version 3.0.2 which was pushed directly. Review URL: http://codereview.chromium.org/5962002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
BUG=http://code.google.com/p/v8/issues/detail?id=998 Review URL: http://codereview.chromium.org/5970001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Reduce number of iterations in new regression test, this times out on arm and the regression is hit with an order of magnitude less iterations. Review URL: http://codereview.chromium.org/5963001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Dec, 2010 15 commits
-
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/5878004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
The overflow conditions were not correctly detected for certain add, sub and mul instructions. I replaced the previous code by using 64-bit arithmetic to correctly identify overflows for *, + and -. Review URL: http://codereview.chromium.org/5860009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/5939003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/5884003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
function for the data. This leads to wrong results where operations are wrongly assumed to have the same value as a previous (different) operation. Provide the data comparison functions. BUG=995 Review URL: http://codereview.chromium.org/5898003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
When running with 10 stress runs we get polymorphic stores. This revealed an incorrect bailout ID for the state following a polymorphic store. The ID should be the internal ID of the assignment side-effect, not the ID of the end of the expression. Review URL: http://codereview.chromium.org/5885003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
This allows easy testing with more than 5/2 stress runs in release/debug and will allow us to have a nightly run with e.g., 10 stress runs in debug mode. Review URL: http://codereview.chromium.org/5903003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Before, when we deoptimized after a branch we jumped to before the branch was taken in the unoptimized code with a token value that indicated when edge to take. There was a lot of machinery to track this value through the short-circuit logical operations and logical negation, and to handle it properly at inline function return sites. There was also machinery to prevent incorrectly seeing this environment with the extra value never actually materialized in the unoptimized code. Instead, now we deoptimize directly to one of the targets of the branch. Much but not yet all of the extra machinery has been removed or simplified. The cost is that branching control structures (the looping statements, if statements, conditional expressions, and the short-circuit binary logical operations) need extra AST IDs to identify the branch targets. Review URL: http://codereview.chromium.org/5908001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
methods rely on the time values passed in being within a certain range - not significantly larger than the the ECMA 262 specified time range. When creating a time, always make it NaN if there is no way that it can be within range even after UTC conversion. Review URL: http://codereview.chromium.org/5905003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Previously it did two reads of the .toString and .valueOf properties where only one was allowed. Review URL: http://codereview.chromium.org/5950001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Change Object.defineProperty to accept undefined as getters and setters and to correctly accept overriding an accessor with a data property. In the past we only accepted functions as argument for setting an accessor. Since one should be able to set an accessor to undefined this had to be changed to take either. In addition, we did not lookup properties in the prototype chain, causing us to call the setter of an existing accessor up the prototype chain when trying to replace an existing accessor (that was not local) with a data property. Review URL: http://codereview.chromium.org/5861006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
BUG=990 Review URL: http://codereview.chromium.org/5890003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
This occasionally caused the regress-806 unit test to crash. Review URL: http://codereview.chromium.org/5913002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The instanceoff stub now supports arguments in registers and checks for null, smi and string values without going to runtime. Needs porting to X64 and ARM. Review URL: http://codereview.chromium.org/5828004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Dec, 2010 10 commits
-
-
peter.rybin@gmail.com authored
Review URL: http://codereview.chromium.org/5866002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
- LIsObject had incorrect contraint for value input; - Temporaries had incorrect lifetime intervals; - Live ranges for live_out values was not covering the whole block. Review URL: http://codereview.chromium.org/5899002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
This way if the type oracle says an unreachable clause has a non-smi type, we can still emit optimized code instead of doing an early bailout. This change depends of Florian's r5970. Review URL: http://codereview.chromium.org/5812005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
TBR=ager@chromium.org Review URL: http://codereview.chromium.org/5873003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
When entering a finally block in unoptimized code, we unconditionally save the accumulator register in the stack in case it holds a return value or an exception. In the case of a break, continue, or falling off the end of the try or catch block, this value is unpredictable and not necessarily safe for GC. Review URL: http://codereview.chromium.org/5883003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
This avoid emitting the load for empty and constant array literals. Review URL: http://codereview.chromium.org/5697006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6034 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Mark TranscendentalCacheSSE2Stub as allowing internal stub calls. Mark pextrd instruction as requiring SSE 4.1. Review URL: http://codereview.chromium.org/5901001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
call and then bailout without performing the call. In order to not duplicate code, convert both heap number and smi to a double in an xmm register if possible. Then setup the stack and call the C function. BUG=http://code.google.com/p/v8/issues/detail?id=986 Review URL: http://codereview.chromium.org/5900001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
When splitting at the beginning of a use interval assign coinciding position to the split child instead of leaving it to parent. BUG=v8:982 Review URL: http://codereview.chromium.org/5898001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Second attempt: Improve our type feedback by recogizining never-executed IC calls for binary operations. This is an improved version of my earlier change r5970. It avoids degrading the non-optimized code. Initially we emit a conditional branch that is either always- or never-taken after a smi-check (depending on whether we test for smi for for non-smi) Since test-eax always sets the carry-flag to 0 we use jump-if-carry and jump-if-not-carry. The first invocation of the stub patches a jc with a jz and jnc with a jnz-instruction so that the code looks exactly as it was without patching. The only difference is the test- or nop-instruction after the IC-call. Review URL: http://codereview.chromium.org/5763004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-