- 07 Jan, 2010 8 commits
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/525064 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/523126 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
ToString conversions for strings. Review URL: http://codereview.chromium.org/518059 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/524058 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Instead of going through a runtime function for keyed loads on strings we invoke a separate specialized stub that assumes string as receiver type and the key to be a number. The stub calls a JS builtin function to return the corresponding one-character string. Review URL: http://codereview.chromium.org/521041 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3556 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Review URL: http://codereview.chromium.org/523124 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3555 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Added a stub to allocate and fill a string object with a substring from another string. Use the rep movs instruction to copy the string data as it turned out to be the fastest way. While preparing this I experimented with some SSE2 instructions, so the instructions movdqa and movdqu are still in the IA-32 assembler even though they are not used. Review URL: http://codereview.chromium.org/525085 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
for compare operations. Review URL: http://codereview.chromium.org/521054 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3553 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Jan, 2010 6 commits
-
-
kasperl@chromium.org authored
seems somewhat broken on ARM, but this solves the issue for now. I'll look into the code patching tomorrow. Review URL: http://codereview.chromium.org/525068 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
by tweaking the JavaScript implementation of these functions. Review URL: http://codereview.chromium.org/519061 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Single glitch in r3542 which caused the direct call to native regexp code to always bail out to the runtime system. TBR=erik.corry@gmail.com Review URL: http://codereview.chromium.org/523091 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bak@chromium.org authored
Flushed at compacting mark sweep. - Simplified FindEntry by eliminating the counter. Review URL: http://codereview.chromium.org/527006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Calls to RegExp no longer have to be via a call to the runtime system. A new stub have been added which can handle this call in generated code. The stub checks all the parameters and creates RegExp entry frame in the same way as it is created by the runtime system. Bailout to the runtime system is done whenever an uncommon situation is encountered or when the static data used is not initialized. After running the native RegExp code the last match info is updated like in the runtime system. Currently only ASCII strings are handled. Added another argument to the RegExp entry frame. It indicated whether the call is direct from JavaScript code or through the runtime system. This information is used when RegExp execution is interrupted. If an interruption happens when RegExp code is called directly a retry is issued causing the interruption to be handled via the runtime system. The reason for this is that the direct call to RegExp code does not support garbage collection. Review URL: http://codereview.chromium.org/521028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
following the change submitted in r3533. Review URL: http://codereview.chromium.org/525063 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Jan, 2010 7 commits
-
-
bak@chromium.org authored
Review URL: http://codereview.chromium.org/523055 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
This change improves the ConstructStub and the ArgumentsAccessStub slightly by using the cmov instruction (if available) to eliminate a conditional branch. It only applies to the IA-32 and X64 platforms. Review URL: http://codereview.chromium.org/519035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bak@chromium.org authored
Review URL: http://codereview.chromium.org/525024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
true. The rules are: 1. Heap::AllocateRaw can normally handle allocation requests in new space even when always_allocate() is true. It properly retries failed allocation in the second 'retry' space. 2. Heap::Allocate can normally handle allocation requests in new space. 3. We only need to check always_allocate() when explicitly requesting allocation in new space via Heap::new_space().AllocateRaw(). 4. The exception to these rules is fixed arrays with size such that MaxObjectSizeInPagedSpace < size <= MaxObjectSizeInNewSpace (ie, those that will be allocated in new space and promoted to large object space). They cannot be allocated in new space via Heap::Allocate or Heap::AllocateRaw, because the retry logic does not know to allocate extra remembered set bits when retrying in large object space. Review URL: http://codereview.chromium.org/518007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Rename CreateSlotOperand so that it's clear it can emit code. Use it where possible. Review URL: http://codereview.chromium.org/523052 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
stack traversal code. Review URL: http://codereview.chromium.org/523051 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
generator. The Slot::Type enumeration has four values. It should never be necessary to use a default to handle the case of a value out of range of the enumeration. Doing so silences a useful warning when one of the enumeration values is actually forgotten or when a new enumeration value is added. Review URL: http://codereview.chromium.org/521019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Jan, 2010 3 commits
-
-
fschneider@chromium.org authored
Save one instruction by using stm instead of push. Review URL: http://codereview.chromium.org/517027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Until now we only supported postfix operations on global variables. This change add generic count operations to the top-level compiler. I tried to re-use code from the code generator used for assignment expressions where possible. Review URL: http://codereview.chromium.org/496009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
Review URL: http://codereview.chromium.org/523036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Dec, 2009 3 commits
-
-
fschneider@chromium.org authored
Instead of falling back to calling GetObjectProperty we call GetCharAt directly if the object is a string and the key in a SMI. Review URL: http://codereview.chromium.org/522015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
Review URL: http://codereview.chromium.org/519007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
http://codereview.chromium.org/509029kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 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 3 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
-