- 16 Dec, 2010 1 commit
-
-
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 4 commits
-
-
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
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
-
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
-
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
-
- 14 Dec, 2010 3 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
-
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
-
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
-
- 13 Dec, 2010 4 commits
-
-
kmillikin@chromium.org authored
Fix compilation on ARM and x64 due to a change in the architecture-shared API of the nonoptimizing code generator. Also added new PrepareForBailout to ARM (they are not yet fully implemented on x64). Review URL: http://codereview.chromium.org/5794002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/5804003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/5741003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/5717005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Dec, 2010 3 commits
-
-
fschneider@chromium.org authored
In the case of inlined smi code in non-optimzied code we could not distinguish between the smi-only case and the case that the operation was never executed. With this change the first execution of a binary operation always jumps to the stub which in turn patches the smi-check into the correct conditional branch, so that we benefit from inlined smi code after the first invocation. A nop instruction after the call to the BinaryOpIC indicates that no smi code was inlined. A "test eax" instruction says that there was smi code inlined and encodes the delta to the patch site and the condition code of the branch at the patch site to restore the original jump. Review URL: http://codereview.chromium.org/5714001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
that ip can be used as a scratch register. This is not true because ip is already used for something else in AllocateInNewSpace in the macro assembler. Explicitly allocate a temp register for use in the heap number allocation instead. Review URL: http://codereview.chromium.org/5788001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
the --debug-code flag. Review URL: http://codereview.chromium.org/5736003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Dec, 2010 1 commit
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/5546006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Dec, 2010 5 commits
-
-
vegorov@chromium.org authored
Remove uses of NearestGapPos in splitting helpers. We can split at any position. Review URL: http://codereview.chromium.org/5605004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Review URL: http://codereview.chromium.org/5618005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Dec, 2010 1 commit
-
-
erik.corry@gmail.com authored
Improve code generated for AllocInNewSpace. This is a commit of http://codereview.chromium.org/5512004 for Rodolph Perfetta. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Dec, 2010 1 commit
-
-
whesse@chromium.org authored
Add generated code to calculate Math.log and to search Transcendental cache for logs. Implemented on all platforms. Review URL: http://codereview.chromium.org/5437002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5912 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Nov, 2010 1 commit
-
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/5277008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Nov, 2010 1 commit
-
-
ager@chromium.org authored
Implement string constructor stub on ARM. BUG=none TEST=none Codereview URL: http://codereview.chromium.org/5322009/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Nov, 2010 3 commits
-
-
erik.corry@gmail.com authored
version of http://codereview.chromium.org/3666001/ by ZhangK with an added call to ForgetTypeInfo to fix a debug mode assert. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
BUG=56036 TEST=None. Patch by Justin Schuh <jschuh@chromium.org> Review URL: http://codereview.chromium.org/3849004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
inline allocation code used the expected number of properties to calculate the number of inobject properties for an object instead of getting the actual number from the initial map. It is safer to use the inobject property count from the initial map in any case because that is the amount the instances will get. I think this disconnect got introduced when adding shrinking of objects. Unfortuntely I haven't been able to create a simple reproduction for a test case but this fixes the webpage that exhibits the crash. I'll see if I can create a reproduction tomorrow. Review URL: http://codereview.chromium.org/5278003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Nov, 2010 1 commit
-
-
ager@chromium.org authored
properties. For these closures we would like to be able to use constant functions and for that we need the closures allocated in old space. Review URL: http://codereview.chromium.org/5220007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Nov, 2010 3 commits
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/5122005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
serya@chromium.org authored
Review URL: http://codereview.chromium.org/5107002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Add missing Stub implementations on ARM. BUG=none TEST=none Codereview URL: http://codereview.chromium.org/5128004/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Nov, 2010 3 commits
-
-
ager@chromium.org authored
Replace some hard-coded return address calculations with Call. BUG=none TEST=none Codereview URL: http://codereview.chromium.org/5158002/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The expression of the key is now evaluated before the arguments, so all expressions in a keyed call are evaluared from left to right. BUG=http://code.google.com/p/v8/issues/detail?id=931 TEST=test/mjsunit/regress/regress-931.js Review URL: http://codereview.chromium.org/5161002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Implement Math.floor stub on ARM. Uses VFP when available. This is a commit of http://codereview.chromium.org/5075002/ for Martyn Capewell git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Nov, 2010 1 commit
-
-
erik.corry@gmail.com authored
Improve support for vmrs/vmsr in ARM disassembler. This is a commit of http://codereview.chromium.org/4904001 for Martyn Capewell. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Nov, 2010 1 commit
-
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/4760003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Nov, 2010 1 commit
-
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/4654002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Nov, 2010 1 commit
-
-
erik.corry@gmail.com authored
ARM: The Simulator will now handle different VFP rounding modes. RZ and RM are implemented. This is a commit of http://codereview.chromium.org/4295003/show for Alexander Rames of ARM. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Nov, 2010 1 commit
-
-
vegorov@chromium.org authored
Review URL: http://codereview.chromium.org/4409003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-