- 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 19 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
-
lrn@chromium.org authored
The failure is that we no longer fail the tests. Review URL: http://codereview.chromium.org/5896001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/5806001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
The issue is caused when deoptimizing to an internal AST ID in a postfix increment or decrement operation on variable. This could happen for a global variable. In that case, the optimized code was not properly simulating an extra stack slot in the unoptimized code to hold the original value. Review URL: http://codereview.chromium.org/5871002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
karlklose@chromium.org authored
Review URL: http://codereview.chromium.org/5891001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
karlklose@chromium.org authored
Add array bound checks to code generated for SwapElements. This fixes a bug that lead to a segfault when an array was modified while it was sorted. Review URL: http://codereview.chromium.org/5686006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Tweaks to the serialization. Review URL: http://codereview.chromium.org/5676005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
the distance between bleeding edge and the gc branch minimal. Review URL: http://codereview.chromium.org/5788002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Update the XCode project file. Updating the Xcode project after crankshaft landed. Codereview URL: http://codereview.chromium.org/5834001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Review URL: http://codereview.chromium.org/5813002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Dec, 2010 6 commits
-
-
vitalyr@chromium.org authored
Two old id types are replaced by builtin function ids. We can use these in the code generators to emit custom code for the selected functions. Review URL: http://codereview.chromium.org/5767002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
and String::WriteAscii and add test. Correct implementation of String::Write, fixing bug 975 (the patch in that bug was not used, however). Review URL: http://codereview.chromium.org/5718005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Reapply change 5989, adding untagged double calls to Math.pow, with problem in generated code for TranscendentalCacheSSE2Stub (unguarded SSE 4.1 code) fixed. Review URL: http://codereview.chromium.org/5726008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
This test takes 12+ minutes to run on the windows slaves. In addition, the regression is hit in release mode on the code prior to the fix for this. Review URL: http://codereview.chromium.org/5701006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Postpone interrupts during marking garbage collection. This allows the check for C stack overflow to function correctly. Review URL: http://codereview.chromium.org/5685010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
SVN revision 5993 ported changes to the unoptimizing compiler from ia32 to ARM and x64. A call to AstContext::Plug was moved out of FullCodeGenerator::EmitVariableAssignment and into the callers. One call site was missed in both ports. Review URL: http://codereview.chromium.org/5781008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-