- 26 May, 2010 14 commits
-
-
vitalyr@chromium.org authored
NumberToUint32 that I was trying to use maps -0 to +0 (as desired) but also maps +/-Infinity to +0, which made +/-Infinity a valid string index. I fixed it by introducing a new runtime function with the right semantics. TEST=LayoutTests/fast/js/char-at.html,mjsunit/string-charat.js Review URL: http://codereview.chromium.org/2223003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
These string methods can be composed from two basic blocks: charCodeAt and fromCharCode, both of which have fast cases for certain types of inputs. In this patch these two blocks are refactored to allow generating the fast cases without having to jump around the slow cases. In the slow cases since they can now be invoked both from inline runtime functions and from IC stubs we either have to save/restore state of the current frame or enter/leave a new internal frame. This is handled by new RuntimeCallHelper interface. Its implementation for virtual frame is based on FrameRegisterState class extracted from DeferredCode class. Review URL: http://codereview.chromium.org/2087009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
1) do not push receiver early---that simplifies tail call preparation on ia32/x64 and renders special cleanup unnecessary; 2) do not do second map check if interceptor's and cached holder are the same; 3) do not push/pop receiver if receiver and holder registers are the same (means that receiver is interceptor's holder); 4) do batch pushes on arm; 5) minor cosmetic improvements. Review URL: http://codereview.chromium.org/2282001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Review URL: http://codereview.chromium.org/2280001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Refactor x64 named loads to agree with ia32 implementation. Remove dead code and flag is_global from x64 keyed loads. Review URL: http://codereview.chromium.org/2121022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
from Context::New is persistent and has to be disposed at some point in order to allow garbage collecting the context. Review URL: http://codereview.chromium.org/2220003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The macro assembler now checks for ARMv7 support and generates instructions for Ldrd/Strd accordingly. INstructions ldrd/strd in the assembler requires ARMv7 support enabled. This removes the a check for CAN_USE_ARMV7_INSTRUCTIONS making the ARMv7 support in the simulator fully controled by the --enable-armv7 flag. Review URL: http://codereview.chromium.org/2226003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Adds Operand-relative Operand constructor. Review URL: http://codereview.chromium.org/2242002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/2122021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
TBR=ager@chromium.org Review URL: http://codereview.chromium.org/2274001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
This is a commit for Rodolph Perfetta. http://codereview.chromium.org/2159002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
dependent, so we push it down to the architecture dependent files. Currently all architectures visit in almost the same way, but this is about to change on ARM with movw/movt. Review URL: http://codereview.chromium.org/2218002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
The existing version will overwrite the existing writable flag with false even in the case where no new value is given and the existing writable flag is true. The reason for the issue is that there is no check to see if the provided descriptor actually has a writable attribute. This causes us to use the default value (false) even in the case where nothing was provided. In addition, the existing tests makes wrong assumptions (that writable is always set to false if not provided) and has been changed to follow the specification. Review URL: http://codereview.chromium.org/2271001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
Review URL: http://codereview.chromium.org/2086024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 May, 2010 11 commits
-
-
erik.corry@gmail.com authored
http://codereview.chromium.org/2098019/show Should fix http://code.google.com/p/v8/issues/detail?id=716 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/2124021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4717 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The full compiler is now complete on ARM as well. The syntax checker is still used to determine whether to use it for top level code or not during normal execution. When debugging is enabled all code will be compiled with the full compiler. This change removes the temporary flag --force-full-compiler and now the flag --always-full-compiler enables the full compiler for all code on all platforms. This also fixes building on Intel platform without debugger support (ENABLE_DEBUGGER_SUPPORT not defined) and adds full check for the full compiler for lazily compiled code. Review URL: http://codereview.chromium.org/2163006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
- New сardmarking write barrier handles large objects and normal objects in a similar fashion (no more additional space for pointer tracking is required, no conditional branches in WB code). - Changes to enable oldspaces iteration without maps decoding: -- layout change for FixedArrays: length is stored as a smis (initial patch by Kevin Millikin) -- layout change for SharedFunctionInfo: integer fields are stored as smi on arm, ia32 and rearranged on x64. -- layout change for String: meaning of LSB bit is fliped (1 now means hash not computed); on x64 padding is added. -- layout of maps is _not_ changed. Map space is currently iterated in a special way. Review URL: http://codereview.chromium.org/2144006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Currently one can only define accessors on object templates. This patch allows to create accessors on the fly. These accessors could control access to elements as well. This element support is somewhat rudimentary and may require future work (for example, we probably don't want to convert index into a string.) Review URL: http://codereview.chromium.org/2123012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Noticing that the only difference between samevalue and strict equality is on numbers we can simplify SameValue. The old version did not return a correct answer if called on two strings since StringEquals (from runtime.cc) returns an answer that is the negated value (if treated as a boolean). Review URL: http://codereview.chromium.org/2136024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
A raw pointer was used while collecting a stack trace. This was not safe as the code collecting the stack trace allocated memory. Review URL: http://codereview.chromium.org/2147005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
TBR=erik.corry@gmail.com Review URL: http://codereview.chromium.org/2157006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4711 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Changing ScriptData API to serialize its internal representation to a const char* array. This decouples the API from the internal representation and avoids the need for callers to serialize themselves. As a side-effect, ScriptData::New() no longer assumes ownership of its input. This shouldn't matter as typical usage patterns for the old API would have required a copy prior to calling ScriptData::New(). Review URL: http://codereview.chromium.org/2118010/show git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Review URL: http://codereview.chromium.org/2132025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Object.defineProperty with empty property descriptor. The issue is fixed by implementing step 5 and 6 from DefineOwnProperty in the specification (ES5 8.12.9). This also fixes a bug in SameValue when used on boolean values (it would priorly return a number - not a boolean). Review URL: http://codereview.chromium.org/2131019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 May, 2010 2 commits
-
-
mikhail.naganov@gmail.com authored
TBR=sgjesse@chromium.org Review URL: http://codereview.chromium.org/2124017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
I changed the implementation of a queue between the VM and processor thread to be unbounded and lock-free, using Herb Sutter's example from DDJ article: http://www.ddj.com/high-performance-computing/210604448 This had brought back profiling overhead to a minimum for the page from Chromium's issue 16184. BUG=714 Review URL: http://codereview.chromium.org/2091019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 May, 2010 9 commits
-
-
dimich@chromium.org authored
This prevents re-entry into JS during stack unwinding caused by TerminateExecution(). Review URL: http://codereview.chromium.org/2123005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4705 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
TBR=ager@chromium.org Review URL: http://codereview.chromium.org/2073018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Reapplication of r4685 (reviewed http://codereview.chromium.org/2101002) with minor modifications: - Fix compilation problems on Win64. - Improve heap verification pass: search for garbage pointers to new space not only in dirty regions but in all regions. Review URL: http://codereview.chromium.org/2114015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
As TokenEnumerator cleans up global handles posessed, it's owner -- CpuProfiler must be shut down prior to global handles. Review URL: http://codereview.chromium.org/2072013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Revert change 3849. On ia32, LoadFromSlot again returns its result on the top of the expression stack, not as a Result return value. Review URL: http://codereview.chromium.org/2121014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/2080018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4699 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
on other ways to make ARM code more compact. Review URL: http://codereview.chromium.org/2080017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/2078028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
ENABLE_HEAP_PROTECTION. TBR=mnaganov@chromium.org Review URL: http://codereview.chromium.org/2098017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 May, 2010 4 commits
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/2088011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
of http://codereview.chromium.org/2064012/show for Rodolph Perfetta. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
Provide debug event listener with access to the debuggee context. Also introduce new event listener setter that allows to set a callback that accepts single parameter encapsulating all debug event details so that additional information can later be passed to the listener without breaking compatibility with existing clients. Review URL: http://codereview.chromium.org/2108024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Change keyed store IC interface on x64 to take value, key, and receiver in registers rather than on the stack. Review URL: http://codereview.chromium.org/2111011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-