- 23 Dec, 2009 2 commits
-
-
fschneider@chromium.org authored
If a function contains more than a certain number of locals (IA32: 9, X64: 6, ARM: 4) a loop for initializing the locals with 'undefined' is more compact. For less locals we unroll that loop by emitting a sequence of push instructions. Review URL: http://codereview.chromium.org/515012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bak@chromium.org authored
- Replaced the or instruction with lea. Review URL: http://codereview.chromium.org/521003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Dec, 2009 8 commits
-
-
kmillikin@chromium.org authored
non-large objects that cannot contain non-map-word pointers to other heap objects into the old data space. Review URL: http://codereview.chromium.org/502100 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
TBR=fschneider@chromium.org Review URL: http://codereview.chromium.org/507069 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
that attempt to run with a small heap. Additionally, it can potentially keep a lot of string data alive and it is never flushed. Can we make it grow dynamically if used so that we can still start the VM with a small heap size? Review URL: http://codereview.chromium.org/503081 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
the code generator. The runtime function checks if it needs to create a boilerplate object or if it can clone from an existing boilerplate. This is already done in the top-level compiler. Review URL: http://codereview.chromium.org/507036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bak@chromium.org authored
- Change the instruction order for inlined allocation. Review URL: http://codereview.chromium.org/501170 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
Review URL: http://codereview.chromium.org/503079 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
int32 for bitops. undefined converts to zero in ToInt32 conversions. Review URL: http://codereview.chromium.org/508020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Dec, 2009 6 commits
-
-
kasperl@chromium.org authored
Review URL: http://codereview.chromium.org/508006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
the comparison it uses in the code generator. Use Math.floor for date operations. Review URL: http://codereview.chromium.org/509007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
us much. Review URL: http://codereview.chromium.org/509006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
operation can throw an exception. Review URL: http://codereview.chromium.org/504073 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
fixed contexts slots. Take this into account when using the new, fast context creation path to avoid allocating too many slots (wasteful). Review URL: http://codereview.chromium.org/501148 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
input so we don't have to check the exception flags afterwards. Review URL: http://codereview.chromium.org/509001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Dec, 2009 1 commit
-
-
kmillikin@chromium.org authored
MacroAssembler::PopHandleScope emits a runtime call (through a stub), which should not be allowed to perform a GC but return a failure instead. BUG=30790 TEST=none Review URL: http://codereview.chromium.org/504071 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Dec, 2009 13 commits
-
-
peter.rybin@gmail.com authored
Review URL: http://codereview.chromium.org/491079 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
Recommit r3494 after fixing stupid mistake where the deferred code stub didn't know it was reversed. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Still no support for lookup-variables, so we bailout if using the catch variable. Review URL: http://codereview.chromium.org/501076 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3498 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Force mark sweep instead of compcation if size of map space is too big to allow forward pointers encoding. Review URL: http://codereview.chromium.org/507025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
is a constant by avoiding a few checks. Review URL: http://codereview.chromium.org/504057 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
Review URL: http://codereview.chromium.org/501113 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
to floating point and then converting back we convert directly to a 32 bit integer. In addition the bit twiddling implementation of float- to-integer conversion has been ported from ARM. Testing has shown that this runs faster than the x87 or SSE3 rounding instructions. This change is IA32 only. There may be a smaller benefit from doing the same on x64. Review URL: http://codereview.chromium.org/506052 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/504056 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bak@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bak@chromium.org authored
-Inlined double variant of compare iff one of the sides is a constant smi and it is not a for loop condition. Review URL: http://codereview.chromium.org/507040 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
iposva@chromium.org authored
for DeferredInlineBinaryOperations. Review URL: http://codereview.chromium.org/502067 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Dec, 2009 8 commits
-
-
kasperl@chromium.org authored
arrays and argument objects on IA-32. Review URL: http://codereview.chromium.org/503042 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
property name in a register rather than on the stack below the receiver and arguments. Implemented only for IA32, passing the name in the ecx register to match the calling convention of the load ICs. Review URL: http://codereview.chromium.org/502028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
if logging producers is turned off. Review URL: http://codereview.chromium.org/500092 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
Review URL: http://codereview.chromium.org/507035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
On 32-bit the maps are now aligned on a 32-byte boundary in order to encode more maps during compacting GC. The actual size of a map on 32-bit is 28 bytes making this change waste 4 bytes per map. On 64-bit the encoding for compacting GC is now using more than 32-bits and the maps here are still pointer size aligned. The actual size of a map on 64-bit is 48 bytes and this change does not intruduce any waste. My choice of 16 bits for kMapPageIndexBits for 64-bit should give the same maximum number of pages (8K) for map space. As maps on 64-bit are larger than on 32-bit the total number of maps on 64-bit will be smaller than on 32-bit. We could consider raising this to 17 or 18. I moved the kPageSizeBits to globals.h as the calculation of the encoding really depended on this. There are still an #ifdef/#endif in objects.h and this constant could be moved to globaks.h as well, but I kept it together with the related constants. All the tests run in debug mode with additional options --gc-global --always-compact as well (except for a few tests on which also fails before this change when run with --gc-global --always-compact). BUG=http://code.google.com/p/v8/issues/detail?id=524 BUG=http://crbug.com/29428 TEST=test/mjsunit/regress/regress-524.js Review URL: http://codereview.chromium.org/504026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
TBR=ager@chromium.org Review URL: http://codereview.chromium.org/500090 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
iposva@chromium.org authored
Review URL: http://codereview.chromium.org/500089 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
iposva@chromium.org authored
Review URL: http://codereview.chromium.org/506050 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Dec, 2009 2 commits
-
-
kasperl@chromium.org authored
functions by allocating them in new space without entering the runtime system. Review URL: http://codereview.chromium.org/506037 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Review URL: http://codereview.chromium.org/502031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-