- 27 May, 2010 12 commits
-
-
whesse@chromium.org authored
Refactor GenerateLoadInterceptor, removing LoadInterceptorCompiler class and CompileLoadInterceptor static function. All platforms (x64, ia32, and ARM) changed. Review URL: http://codereview.chromium.org/2251003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4747 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
TBR=erik.corry Review URL: http://codereview.chromium.org/2224007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Use the jump targets to move the first deferred code to not flush registers in the inlined case (KeyedLoad). Review URL: http://codereview.chromium.org/2249002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
This is a commit of http://codereview.chromium.org/2124022 for Rodolph Perfetta. I changed the test in test-assembler-arm.cc so it only runs if ARMv7 is supported. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Reapply r4715 with fixes reviewed in http://codereview.chromium.org/2276002. Review URL: http://codereview.chromium.org/2255004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Add extra checks for bad stack content in X64 RE-macro-assembler, to check for crash that is only reproducible with the buildbot and only in release mode. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/2279005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/2266003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
This fix adds support for retriving a property descriptor on elements. The new version supports both fast and slow case elements. In the fast case we always default configurable, writable, enumerable to true (we don't have PropertyDetails for fast elements). A few new tests are added to get-own-property-descriptor.js, I will add a lot more to object-define-property when I add support for indices in Object.defineProperty. Review URL: http://codereview.chromium.org/2278002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Support building with or without unaligned accesses by using scons flag simulatorunalignedaccesses. $ scons simulator=arm simulatorunalignedaccesses=off $ scons simulator=arm simulatorunalignedaccesses=on If simulatorunalignedaccesses is not specified (or specified as default) the default is to use unaligned accesses. Review URL: http://codereview.chromium.org/2218003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/2282003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 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 1 commit
-
-
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
-