platform/upstream/v8.git
14 years agoUse SSE2 instructions when available on ia32 platform.
whesse@chromium.org [Thu, 10 Sep 2009 07:13:01 +0000 (07:13 +0000)]
Use SSE2 instructions when available on ia32 platform.
Review URL: http://codereview.chromium.org/197057

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoFix crash during error reporting during bootstrapping.
christian.plesner.hansen@gmail.com [Thu, 10 Sep 2009 06:52:46 +0000 (06:52 +0000)]
Fix crash during error reporting during bootstrapping.
Instead of crashing or reporting a fatal v8 error if an error occurs
during context initialization we now survive and return an empty
handle.

Review URL: http://codereview.chromium.org/194070

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoPrepare push to trunk. Now working on version 1.3.11.
ager@chromium.org [Wed, 9 Sep 2009 19:03:20 +0000 (19:03 +0000)]
Prepare push to trunk.  Now working on version 1.3.11.

TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/201069

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoFix ARM compilation error.
sgjesse@chromium.org [Wed, 9 Sep 2009 18:05:46 +0000 (18:05 +0000)]
Fix ARM compilation error.

Removed implementation of function which was no longer member of class Debug.

TBR=lrn@chromium.org
Review URL: http://codereview.chromium.org/199063

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2864 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoCleaned up some debugger stuff on ia32 and x64.
sgjesse@chromium.org [Wed, 9 Sep 2009 17:45:21 +0000 (17:45 +0000)]
Cleaned up some debugger stuff on ia32 and x64.

Got rid of the debug break on return entry code which did not add anything. It just jumped directly to the debug break on return code.

Removed the CodePatcher class on x64 as it was not implemented.

Added instruction cache flush to where the return sequence was patched on x64.

Added some missing ENABLE_DEBUGGER_SUPPORT #ifdef/#endif.
Review URL: http://codereview.chromium.org/193057

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoFind the correct function for script break points
sgjesse@chromium.org [Wed, 9 Sep 2009 15:16:26 +0000 (15:16 +0000)]
Find the correct function for script break points

The algorithm for finding the inner-most function containing a script break point was not correct when the script only contained one function. In that case the script function and not the actual function in the script could be returned depending on the order of the objects in the heap.

TEST=cctest/test-debug/ScriptBreakPointReload
BUG=none

Review URL: http://codereview.chromium.org/193059

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoIncrease max semi-space size.
ager@chromium.org [Wed, 9 Sep 2009 14:50:00 +0000 (14:50 +0000)]
Increase max semi-space size.
Review URL: http://codereview.chromium.org/200059

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2861 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoFix x64 port by using 32 pages per chunk.
kasperl@chromium.org [Wed, 9 Sep 2009 12:08:40 +0000 (12:08 +0000)]
Fix x64 port by using 32 pages per chunk.

TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/195038

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoHeap profiler: account primitive string objects as being constructed using 'String'.
mikhail.naganov@gmail.com [Wed, 9 Sep 2009 11:46:09 +0000 (11:46 +0000)]
Heap profiler: account primitive string objects as being constructed using 'String'.

Also:
- move constructor name getter near similar class name getter method;
- if the constructor is not present, use 'Object', as for class name, this eliminates a special case.

Review URL: http://codereview.chromium.org/202018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoMinor change to idle notification handling: perform a scavenge
ager@chromium.org [Wed, 9 Sep 2009 11:21:54 +0000 (11:21 +0000)]
Minor change to idle notification handling: perform a scavenge
followed by shrinking of new space earlier.

Review URL: http://codereview.chromium.org/199057

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoFix typo.
ager@chromium.org [Wed, 9 Sep 2009 11:06:22 +0000 (11:06 +0000)]
Fix typo.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoReduce the chunk size from 64 pages to 16 pages per chunk.
ager@chromium.org [Wed, 9 Sep 2009 10:56:13 +0000 (10:56 +0000)]
Reduce the chunk size from 64 pages to 16 pages per chunk.

This reduces the initial V8 memory usage by roughly 2MB.

Review URL: http://codereview.chromium.org/194054

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoSet svn:eol-style native for all files in src and its subdirectories.
sgjesse@chromium.org [Wed, 9 Sep 2009 10:49:40 +0000 (10:49 +0000)]
Set svn:eol-style native for all files in src and its subdirectories.

TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/193056

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoFix presubmit.
ager@chromium.org [Wed, 9 Sep 2009 09:58:00 +0000 (09:58 +0000)]
Fix presubmit.

TBR=yurys@chromium.org
Review URL: http://codereview.chromium.org/197056

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoCompile fixes for ARM and miscellaneous spolling.
erik.corry@gmail.com [Wed, 9 Sep 2009 09:35:34 +0000 (09:35 +0000)]
Compile fixes for ARM and miscellaneous spolling.
Review URL: http://codereview.chromium.org/199056

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoMade function prototype property DontEnum for compatibility with
christian.plesner.hansen@gmail.com [Wed, 9 Sep 2009 09:30:33 +0000 (09:30 +0000)]
Made function prototype property DontEnum for compatibility with
Safari.  Fixed const error in api.

Review URL: http://codereview.chromium.org/200056

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2852 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoDo not use left-over space after new space alignment for other spaces.
ager@chromium.org [Wed, 9 Sep 2009 08:45:32 +0000 (08:45 +0000)]
Do not use left-over space after new space alignment for other spaces.
Doing so makes the max new space size influence the initial total size
of the heap.

This change reduces the initial memory use of V8 by over 6MB.

Review URL: http://codereview.chromium.org/202017

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoSupport stepping out for recursive functions.Simply flooding JS function from the...
yurys@chromium.org [Wed, 9 Sep 2009 08:40:59 +0000 (08:40 +0000)]
Support stepping out for recursive functions.Simply flooding JS function from the calling stack frame with one shot breakpoints is not enough to support step out action in all cases since the function on top of the stack may be turn recursive and we may end up flooding itself. To overcome this a pointer to the stack frame where the debugger should be invoked after stepping out is strored in the debugger.Chromium bug:code.google.com/p/chromium/issues/detail?id=17967
Review URL: http://codereview.chromium.org/200041

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoSet the svn:eol-style property on new file.
sgjesse@chromium.org [Wed, 9 Sep 2009 07:57:12 +0000 (07:57 +0000)]
Set the svn:eol-style property on new file.

TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/201059

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoAdd MAP_FIXED to Uncommit calls to see if that has an effect on GMail
ager@chromium.org [Wed, 9 Sep 2009 07:51:51 +0000 (07:51 +0000)]
Add MAP_FIXED to Uncommit calls to see if that has an effect on GMail
memory usage in Chromium 64-bit Linux.

Review URL: http://codereview.chromium.org/200055

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoRefactor the register to name mapping in the ARM simulator.
sgjesse@chromium.org [Wed, 9 Sep 2009 07:01:20 +0000 (07:01 +0000)]
Refactor the register to name mapping in the ARM simulator.
Review URL: http://codereview.chromium.org/195024

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoFix lint error
whesse@chromium.org [Tue, 8 Sep 2009 12:51:08 +0000 (12:51 +0000)]
Fix lint error
Review URL: http://codereview.chromium.org/196042

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoWin64 - Allow returning two values from a runtime function.
lrn@chromium.org [Tue, 8 Sep 2009 11:52:05 +0000 (11:52 +0000)]
Win64 - Allow returning two values from a runtime function.
(Not yet fully functional)

Review URL: http://codereview.chromium.org/201042

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoAdded new scope type ScopeIterator::ScopeTypeCatch for with generated from catch...
yurys@chromium.org [Tue, 8 Sep 2009 10:20:28 +0000 (10:20 +0000)]
Added new scope type ScopeIterator::ScopeTypeCatch for with generated from catch blocks.

Removed a false assertion in ScopeIterator that assumed context extension to never be a JSContextExtensionObject.

The context extension object in a 'with' context is JSContextExtensionObject iff the 'with' statement is generated from a catch block in order to extend its local scope with a variable holding exception object. This is how we differentiate 'catch' scope from 'with' scope.

Chrome bug:
http://code.google.com/p/chromium/issues/detail?id=17229
Review URL: http://codereview.chromium.org/202005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoRemove special CheckEquals function for intptr_t on X64 platform.
whesse@chromium.org [Tue, 8 Sep 2009 08:49:54 +0000 (08:49 +0000)]
Remove special CheckEquals function for intptr_t on X64 platform.
Review URL: http://codereview.chromium.org/190004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoChange to limit the amount of space we waste due to fragmentation
kasperl@chromium.org [Tue, 8 Sep 2009 07:35:23 +0000 (07:35 +0000)]
Change to limit the amount of space we waste due to fragmentation
in old space. Before this change we would compute the fragmentation
limit before the GC, but that means that we take all the garbage
into account - and consequently we almost never hit the limit (because
we have a lot of garbage).

This change changes the policy to compact on the *next* GC if we
determine that we have too much fragmentation after doing a GC.
We'll do a GC if we've wasted more than 1MB and more than 15% of
the old space size.

This can be further improved by computing whether or not to compact
during the marking phase.
Review URL: http://codereview.chromium.org/202008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoAdd regression test case for http://crbug.com/18639 which
kasperl@chromium.org [Tue, 8 Sep 2009 07:22:35 +0000 (07:22 +0000)]
Add regression test case for crbug.com/18639 which
was fixed in r2642.
Review URL: http://codereview.chromium.org/192037

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoUse more socket ports in debugger agent test.
sgjesse@chromium.org [Mon, 7 Sep 2009 13:24:43 +0000 (13:24 +0000)]
Use more socket ports in debugger agent test.

This is an attempth to address the flakiness of the test cctest/test-debug/DebuggerAgent on the Mac build-bot.
Review URL: http://codereview.chromium.org/200037

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoModifies readline() to behave in the same way as it does in TraceMonkey.
christian.plesner.hansen@gmail.com [Mon, 7 Sep 2009 12:37:56 +0000 (12:37 +0000)]
Modifies readline() to behave in the same way as it does in TraceMonkey.

Author: abdulla <abdulla.kamar@gmail.com>
Review URL: http://codereview.chromium.org/173262

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoAllign Intel macro assemblers with changes to ARM macro assembler.
sgjesse@chromium.org [Mon, 7 Sep 2009 12:24:10 +0000 (12:24 +0000)]
Allign Intel macro assemblers with changes to ARM macro assembler.

Removed bogus ASSERTs from Intel macro assemblers.

Added a debug mode generated code assert to allocation code.
Review URL: http://codereview.chromium.org/199044

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoMove common enums for macro assemblers.
sgjesse@chromium.org [Mon, 7 Sep 2009 12:07:40 +0000 (12:07 +0000)]
Move common enums for macro assemblers.

All macro-assembler-*.cc used a number of common enums. Moved these to macro-assembler.h.

Removed unused enum ExitJSFlag from ARM macro assembler.
Review URL: http://codereview.chromium.org/202004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoUse different output directories when building using the Visual Studion solution...
sgjesse@chromium.org [Mon, 7 Sep 2009 10:47:31 +0000 (10:47 +0000)]
Use different output directories when building using the Visual Studion solution.The different Visual Studio solutions for building for the different architures ia32, x64 and arm (simulator) now use separate output directories. Debug/Release for ia32, Debug64/Release64 for x64 and DebugArm/ReleaseArm for arm (simulator).It was required to duplicate all the project files for arm to avoid output from ia32 and arm to get mixed.
Review URL: http://codereview.chromium.org/199006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoLast step in allocating objects in generated code on ARM.
sgjesse@chromium.org [Mon, 7 Sep 2009 10:31:02 +0000 (10:31 +0000)]
Last step in allocating objects in generated code on ARM.

Port specialized constructor code for constructing simple objects to ARM.

See http://codereview.chromium.org/173470 for description.
Review URL: http://codereview.chromium.org/196024

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoFix lint error.
sgjesse@chromium.org [Mon, 7 Sep 2009 10:08:03 +0000 (10:08 +0000)]
Fix lint error.

TBR=erik.corry@chromium.org
Review URL: http://codereview.chromium.org/193039

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoSecond step in allocating objects in generated code on ARM.
sgjesse@chromium.org [Mon, 7 Sep 2009 09:44:29 +0000 (09:44 +0000)]
Second step in allocating objects in generated code on ARM.

Objects which require an additional fixed array to be allocated now have this allocated in generated code as well. Added allocation flags to the macro assembler new space allocation routines.

Changed the ia32 and x64 macro assemblers to take allocation flags to the allocation routines instead of boolean flag.
Review URL: http://codereview.chromium.org/201015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoConst Correctness for String::Value
christian.plesner.hansen@gmail.com [Mon, 7 Sep 2009 07:54:51 +0000 (07:54 +0000)]
Const Correctness for String::Value

Patch by Patrick Gansterer <paroga@paroga.com>.
Review at http://codereview.chromium.org/199043.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoSupport stepping in functions called using CallFunction stub. When Debug::PrepareStep...
yurys@chromium.org [Mon, 7 Sep 2009 07:20:05 +0000 (07:20 +0000)]
Support stepping in functions called using CallFunction stub. When Debug::PrepareStep is called to prepare 'step in' and current code target is CallFunction stub, the debugger will find function being called on the expression stack and flood it with one shot breakpoints.

BreakLocationIterator changed to treat 'debugger;' statements as a possible break location. Since 'debugger;' statement should always invoke debugger it is hanled in a special way.

Related Chromium issue:
http://code.google.com/p/chromium/issues/detail?id=17978
Review URL: http://codereview.chromium.org/195015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoFixed SCons build of Windows DLL.
sgjesse@chromium.org [Mon, 7 Sep 2009 07:09:57 +0000 (07:09 +0000)]
Fixed SCons build of Windows DLL.

The configuration for building the Windows shared library was lost when adding x64 Windows build to the SCons build. This should now be back.
Review URL: http://codereview.chromium.org/197036

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoFixing presubmit error
mikhail.naganov@gmail.com [Fri, 4 Sep 2009 19:38:04 +0000 (19:38 +0000)]
Fixing presubmit error

TBR=christian.plesner.hansen@gmail.com

Review URL: http://codereview.chromium.org/192024

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoFixed error in d8's write() function
christian.plesner.hansen [Fri, 4 Sep 2009 15:36:53 +0000 (15:36 +0000)]
Fixed error in d8's write() function

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoLinux profiler: check whether signal handler is called in the VM thread.
mikhail.naganov@gmail.com [Fri, 4 Sep 2009 11:16:51 +0000 (11:16 +0000)]
Linux profiler: check whether signal handler is called in the VM thread.

I have several Chromium's core files having SIGPROF signal handler called in the context of an arbitrary thread, causing a crash. This change introduces checking of current thread in the signal handler.

Review URL: http://codereview.chromium.org/171115

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoFixed serializer issue.
christian.plesner.hansen@gmail.com [Fri, 4 Sep 2009 11:05:16 +0000 (11:05 +0000)]
Fixed serializer issue.

Review URL: http://codereview.chromium.org/194023

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoX64 RegExp - fix RegExp on WIN64.
lrn@chromium.org [Fri, 4 Sep 2009 11:00:07 +0000 (11:00 +0000)]
X64 RegExp - fix RegExp on WIN64.
Use the correct ifdef to detect Win64 (_WIN64, not __MSVC__).

Review URL: http://codereview.chromium.org/195014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoMarked Mozilla Date test as flaky.
lrn@chromium.org [Fri, 4 Sep 2009 08:09:58 +0000 (08:09 +0000)]
Marked Mozilla Date test as flaky.
Seems to err in a few cases, depending on the current time.

Review URL: http://codereview.chromium.org/192022

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoModifies write() so that NULs are allowed within a string.
christian.plesner.hansen@gmail.com [Fri, 4 Sep 2009 07:49:02 +0000 (07:49 +0000)]
Modifies write() so that NULs are allowed within a string.

This is required by the mandelbrot test in the language shootout.

Patch by abdulla <abdulla.kamar@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoChanged saved context stack to using direct pointers. Before we would
christian.plesner.hansen@gmail.com [Fri, 4 Sep 2009 07:34:25 +0000 (07:34 +0000)]
Changed saved context stack to using direct pointers.  Before we would
create a new persistent handle to hold the context to save when
entering another context, now we use a stack of direct pointers that
the gc knows about.

Review URL: http://codereview.chromium.org/199021

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoFix lint issue.
ager@chromium.org [Thu, 3 Sep 2009 07:23:22 +0000 (07:23 +0000)]
Fix lint issue.
Review URL: http://codereview.chromium.org/197006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoFix the debugger in the ARM simulator.
sgjesse@chromium.org [Wed, 2 Sep 2009 14:46:40 +0000 (14:46 +0000)]
Fix the debugger in the ARM simulator.

The debugger in the ARM simulator is now working again.

Added a help command and a command to print all registers. Made the printobject command print something in release builds.
Review URL: http://codereview.chromium.org/191004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoFix LargeObjectSpace::Verify to allow external strings in large object
ager@chromium.org [Wed, 2 Sep 2009 14:25:05 +0000 (14:25 +0000)]
Fix LargeObjectSpace::Verify to allow external strings in large object
space.

This can happen if a very big sequential string gets externalized.

Review URL: http://codereview.chromium.org/185005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoAdd verification flags to debug mjsunit test runs.
ager@chromium.org [Wed, 2 Sep 2009 12:40:00 +0000 (12:40 +0000)]
Add verification flags to debug mjsunit test runs.

Review URL: http://codereview.chromium.org/186006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoFirst step in allocating objects in generated code on ARM.
sgjesse@chromium.org [Wed, 2 Sep 2009 11:13:44 +0000 (11:13 +0000)]
First step in allocating objects in generated code on ARM.

Re-apply http://codereview.chromium.org/175045 with the single change that the line

  mov(scratch, Operand(new_space_allocation_top));

have been added to MacroAssembler::UndoAllocationInNewSpace after the #endif. Without this change the top was not reset.

TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/184009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoARM RegExp fix bug 432.
lrn@chromium.org [Wed, 2 Sep 2009 09:10:49 +0000 (09:10 +0000)]
ARM RegExp fix bug 432.

Review URL: http://codereview.chromium.org/186005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoFixed cast in platform-macos.cc
mikhail.naganov@gmail.com [Wed, 2 Sep 2009 09:04:55 +0000 (09:04 +0000)]
Fixed cast in platform-macos.cc

TBR=whesse@chromium.org

Review URL: http://codereview.chromium.org/171114

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoAdded possibility of miscompiled regexp to verfifier.
lrn@chromium.org [Wed, 2 Sep 2009 08:36:26 +0000 (08:36 +0000)]
Added possibility of miscompiled regexp to verfifier.

Review URL: http://codereview.chromium.org/188005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoFix issue 434: make OS::LogSharedLibraryAddresses work on x64 Mac.
mikhail.naganov@gmail.com [Wed, 2 Sep 2009 08:18:27 +0000 (08:18 +0000)]
Fix issue 434: make OS::LogSharedLibraryAddresses work on x64 Mac.

Also, enable tick processor to process 64-bit profiler logs on Mac.

BUG=http://code.google.com/p/v8/issues/detail?id=434

Review URL: http://codereview.chromium.org/180063

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoPrepare push to trunk. Now working on version 1.3.10.
ager@chromium.org [Wed, 2 Sep 2009 08:05:38 +0000 (08:05 +0000)]
Prepare push to trunk.  Now working on version 1.3.10.

Review URL: http://codereview.chromium.org/184007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoX64: Added missing optimization of unary negate.
lrn@chromium.org [Wed, 2 Sep 2009 07:49:53 +0000 (07:49 +0000)]
X64: Added missing optimization of unary negate.

Review URL: http://codereview.chromium.org/174214

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoRegExp: Remove unnecessary function from ARM specific code and convert condition...
lrn@chromium.org [Wed, 2 Sep 2009 07:34:51 +0000 (07:34 +0000)]
RegExp: Remove unnecessary function from ARM specific code and convert condition to assertion.

Review URL: http://codereview.chromium.org/178034

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoAdd code creation logging for construct stubs.
mikhail.naganov@gmail.com [Wed, 2 Sep 2009 06:55:49 +0000 (06:55 +0000)]
Add code creation logging for construct stubs.

Otherwise, tick processor reports unknown code deletes / moves for them.

Review URL: http://codereview.chromium.org/178060

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoPort specialized constructor code for constructing simple objects to x64.
sgjesse@chromium.org [Wed, 2 Sep 2009 06:17:59 +0000 (06:17 +0000)]
Port specialized constructor code for constructing simple objects to x64.

See http://codereview.chromium.org/173470 for description. The x64 implementation follows the ia32 except it uses some additional registers to avoid spilling to the stack. Also tweaked the ia32 version a bit.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoChange ASSERT to CHECK in test-heap. Use int instead of intptr_t to
ager@chromium.org [Tue, 1 Sep 2009 15:51:51 +0000 (15:51 +0000)]
Change ASSERT to CHECK in test-heap.  Use int instead of intptr_t to
make MacOS compiler happier.

We need to clean this stuff up.

TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/182044

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoChange cache test to only test for correct behavior on collisions and
ager@chromium.org [Tue, 1 Sep 2009 15:40:19 +0000 (15:40 +0000)]
Change cache test to only test for correct behavior on collisions and
not the exact value.

On MacOS, there is a difference in the last decimal digit from the
other platforms.

TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/180062

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoChange a cast to make MacOS compiler happy.
ager@chromium.org [Tue, 1 Sep 2009 15:28:31 +0000 (15:28 +0000)]
Change a cast to make MacOS compiler happy.

We need to find a nicer way to handle these.

TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/182043

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoReverting 2797.
sgjesse@chromium.org [Tue, 1 Sep 2009 15:23:35 +0000 (15:23 +0000)]
Reverting 2797.
Review URL: http://codereview.chromium.org/176060

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoAdd a integer static type cast to make MacOS compiler happy. TBR=ager@chromium.org
whesse@chromium.org [Tue, 1 Sep 2009 14:31:25 +0000 (14:31 +0000)]
Add a integer static type cast to make MacOS compiler happy. TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/181033

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoFirst step in allocating objects in generated code on ARM
sgjesse@chromium.org [Tue, 1 Sep 2009 14:18:27 +0000 (14:18 +0000)]
First step in allocating objects in generated code on ARM

This change moves the allocation of new objects into generated code. The allocation will bail out into the runtime system if the number of properties to allocate for the object exceeds the number of in-object properties.
Review URL: http://codereview.chromium.org/175045

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2797 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoFix the handling of termination exceptions thrown when creating error
ager@chromium.org [Tue, 1 Sep 2009 13:55:45 +0000 (13:55 +0000)]
Fix the handling of termination exceptions thrown when creating error
objects in the runtime system.
Review URL: http://codereview.chromium.org/179062

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoAdd explicit integer type-casts to make WIN64 build without errors.
whesse@chromium.org [Tue, 1 Sep 2009 13:08:16 +0000 (13:08 +0000)]
Add explicit integer type-casts to make WIN64 build without errors.
Review URL: http://codereview.chromium.org/178054

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoUse more sane inputs to get more consistent answers from
erik.corry@gmail.com [Tue, 1 Sep 2009 11:47:08 +0000 (11:47 +0000)]
Use more sane inputs to get more consistent answers from
transcendental functions.
Review URL: http://codereview.chromium.org/173644

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoX64: Use sahf instruction only on processors that support it.
whesse@chromium.org [Tue, 1 Sep 2009 11:32:20 +0000 (11:32 +0000)]
X64: Use sahf instruction only on processors that support it.
Review URL: http://codereview.chromium.org/183028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agohange bad choice for scratch register for native code counters on ARM
sgjesse@chromium.org [Tue, 1 Sep 2009 11:26:48 +0000 (11:26 +0000)]
hange bad choice for scratch register for native code counters on ARM

This caused running with native code counters on ARM to crash.
Review URL: http://codereview.chromium.org/181031

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoX64: Obey WIN64 ABI more exactly, in WIN64 build.
whesse@chromium.org [Tue, 1 Sep 2009 10:40:00 +0000 (10:40 +0000)]
X64: Obey WIN64 ABI more exactly, in WIN64 build.
Review URL: http://codereview.chromium.org/182027

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoCache the results of slow math operations on machines that don't
erik.corry@gmail.com [Tue, 1 Sep 2009 09:03:58 +0000 (09:03 +0000)]
Cache the results of slow math operations on machines that don't
have hardware fpu instructions to execute them.
Review URL: http://codereview.chromium.org/179059

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoMove object allocation in new space to macro assembler
sgjesse@chromium.org [Tue, 1 Sep 2009 07:36:46 +0000 (07:36 +0000)]
Move object allocation in new space to macro assembler

Currently allocation in generated code on ARM is only used for allocating heap numbers. This change factors this out for use in upcomming changes.
Review URL: http://codereview.chromium.org/173625

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoMark native regexp macro assembler tests as flaky on ARM until Lasse
ager@chromium.org [Mon, 31 Aug 2009 16:24:44 +0000 (16:24 +0000)]
Mark native regexp macro assembler tests as flaky on ARM until Lasse
can look at them.

The code seems to work on all of our tests.

TBR=lrn@chromium.org

Review URL: http://codereview.chromium.org/179040

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoX64: Fix bug introduced in revision 2779
whesse@chromium.org [Mon, 31 Aug 2009 15:28:17 +0000 (15:28 +0000)]
X64: Fix bug introduced in revision 2779
Review URL: http://codereview.chromium.org/180040

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoRemove asserts that do not hold when lazily compiling extension code.
ager@chromium.org [Mon, 31 Aug 2009 15:02:54 +0000 (15:02 +0000)]
Remove asserts that do not hold when lazily compiling extension code.

Add checks for the use of eval and with in natives files to the js2c
script.

Review URL: http://codereview.chromium.org/175009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoARM native regexps.
lrn@chromium.org [Mon, 31 Aug 2009 12:40:37 +0000 (12:40 +0000)]
ARM native regexps.

Review URL: http://codereview.chromium.org/173567

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoMove stack check into AllocateStackSlots so the load delay can be
erik.corry@gmail.com [Mon, 31 Aug 2009 10:38:00 +0000 (10:38 +0000)]
Move stack check into AllocateStackSlots so the load delay can be
interleaved with other instructions.  Reorder the stack check
slightly to avoid some load delay. The end result is almost
imperceptible.
Review URL: http://codereview.chromium.org/181019

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoUse a root array register for constant loads and stack guards on x64.
erik.corry@gmail.com [Mon, 31 Aug 2009 08:57:36 +0000 (08:57 +0000)]
Use a root array register for constant loads and stack guards on x64.
This only wins us around 1% in performance, but it makes the code more
compact.  We don't currently have a way to represent in the virtual
frame that a slot contains a value from the root array.  Adding this
would probably make the code more compact.
Review URL: http://codereview.chromium.org/174639

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoDon't use the same descriptor array in several maps.
sgjesse@chromium.org [Fri, 28 Aug 2009 11:10:33 +0000 (11:10 +0000)]
Don't use the same descriptor array in several maps.

Make a copy of the descriptor array when copying a map with pre-allocated properties. The garbage collector assumes that no two maps point to the same descriptor array.

A simple reduction is missing.

BUG=http://crbug.com/20330
TEST=none
Review URL: http://codereview.chromium.org/177018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoX64: Add inline cache load of normal field (slow case objects).
whesse@chromium.org [Fri, 28 Aug 2009 11:08:16 +0000 (11:08 +0000)]
X64: Add inline cache load of normal field (slow case objects).
Review URL: http://codereview.chromium.org/180020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoAdd allocation support to x64 macro assembler.
sgjesse@chromium.org [Fri, 28 Aug 2009 06:18:36 +0000 (06:18 +0000)]
Add allocation support to x64 macro assembler.

Factored out the allocation in new space from assembler code into the macro assembler for x64 as was recently done for ia32.

Added set property svn:eol-style to native for all x64 files.
Review URL: http://codereview.chromium.org/173568

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoX64: Activate Probes for Megamorphic StoreIC on 64-bit platform.
whesse@chromium.org [Thu, 27 Aug 2009 15:46:03 +0000 (15:46 +0000)]
X64: Activate Probes for Megamorphic StoreIC on 64-bit platform.
Review URL: http://codereview.chromium.org/174609

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoPort apply with arguments optimization to x64.
ager@chromium.org [Thu, 27 Aug 2009 14:58:50 +0000 (14:58 +0000)]
Port apply with arguments optimization to x64.
Review URL: http://codereview.chromium.org/173566

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoX64: Activate the IC stub for prototype lookups.
whesse@chromium.org [Thu, 27 Aug 2009 14:11:20 +0000 (14:11 +0000)]
X64: Activate the IC stub for prototype lookups.
Review URL: http://codereview.chromium.org/174606

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoAdded 64-bit Windows build through SCons.
sgjesse@chromium.org [Thu, 27 Aug 2009 13:12:28 +0000 (13:12 +0000)]
Added 64-bit Windows build through SCons.

The SCons build now supports building for 64-bit Windows. This still requires that the SCons build is passed an env parameter containing the PATH and LIB for the 64-bit build as SCons autodetects the 32-bit environment.

Lowered the warning level for the 64-bit build temporarily.

Added a verbose option to SCons to display the startup banner for the Microsoft Visual C++ tools.
Review URL: http://codereview.chromium.org/174605

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoFix lint error.
whesse@chromium.org [Thu, 27 Aug 2009 11:48:37 +0000 (11:48 +0000)]
Fix lint error.
Review URL: http://codereview.chromium.org/174602

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoUse Arguments object in C builtins, instead of __argc__ and __argv__.
whesse@chromium.org [Thu, 27 Aug 2009 11:24:43 +0000 (11:24 +0000)]
Use Arguments object in C builtins, instead of __argc__ and __argv__.
Fix a stack-offset constant.  Make Windows 64-bit stack 16-byte aligned.
Review URL: http://codereview.chromium.org/173563

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoAdd allocation support to ia32 macro assembler.
sgjesse@chromium.org [Thu, 27 Aug 2009 09:08:16 +0000 (09:08 +0000)]
Add allocation support to ia32 macro assembler.

Factored out the allocation in new space from assembler code into the macro assembler. To support the current allocation patterns a number of different functions where required.

This is change is identical to http://codereview.chromium.org/174524 (committed in r2768 and reverted in r2769) except that line 710 in macro-assembler-ia32.cc is

  cmp(result_end, Operand::StaticVariable(new_space_allocation_limit));

instead of

  cmp(result, Operand::StaticVariable(new_space_allocation_limit));

and pre-submit fixes as well.

TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/174600

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoUse stack frame marker constants to mark arguments adaptor frame.
whesse@chromium.org [Thu, 27 Aug 2009 07:44:37 +0000 (07:44 +0000)]
Use stack frame marker constants to mark arguments adaptor frame.
Review URL: http://codereview.chromium.org/174522

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoReverting 2768.
sgjesse@chromium.org [Thu, 27 Aug 2009 07:41:31 +0000 (07:41 +0000)]
Reverting 2768.
Review URL: http://codereview.chromium.org/173561

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoAdd allocation support to ia32 macro assembler.
sgjesse@chromium.org [Thu, 27 Aug 2009 07:24:03 +0000 (07:24 +0000)]
Add allocation support to ia32 macro assembler.

Factored out the allocation in new space from assembler code into the macro assembler. To support the current allocation patterns a number of different functions where required.
Review URL: http://codereview.chromium.org/174524

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years ago2nd try at fixing invalid Smi issue on 64 bits.
erik.corry@gmail.com [Wed, 26 Aug 2009 13:21:38 +0000 (13:21 +0000)]
2nd try at fixing invalid Smi issue on 64 bits.
Review URL: http://codereview.chromium.org/174520

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoRemove shrinking of new space on compaction and only do it on idle
ager@chromium.org [Wed, 26 Aug 2009 12:51:43 +0000 (12:51 +0000)]
Remove shrinking of new space on compaction and only do it on idle
notifications.

Review URL: http://codereview.chromium.org/173471

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoGenerate specialized constructor code for constructing simple objects.
sgjesse@chromium.org [Wed, 26 Aug 2009 12:22:44 +0000 (12:22 +0000)]
Generate specialized constructor code for constructing simple objects.

For objects which only have simple assignments of the form this.x = ...; a
specialized constructor stub is now generated. This generated code allocates the
object and fills in the initial properties directly. If this fails for some
reason code continues in the generic constructor stub which in turn might pass
control to the runtime system.

Added counter to see how many objects are constructed using a specialized stub.

The specialized stub is only implemented for ia32 architecture in this change.
For x64 and ARM the generic construct stub is used.

This is change is identical to http://codereview.chromium.org/174392 (committed in r2753 and reverted in r2754) except that a few parts have already been committed from http://codereview.chromium.org/173469 (committed in r2762).
Review URL: http://codereview.chromium.org/173470

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoAvoid triggering assert on 64 bit version.
erik.corry@gmail.com [Wed, 26 Aug 2009 12:22:34 +0000 (12:22 +0000)]
Avoid triggering assert on 64 bit version.
Review URL: http://codereview.chromium.org/174519

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoHandle pre-allocated properties when copying map.
sgjesse@chromium.org [Wed, 26 Aug 2009 11:03:07 +0000 (11:03 +0000)]
Handle pre-allocated properties when copying map.

When copying a map always set the descriptor array to describe the pre-allocated properties, even when descriptors are to be dropped.

Added a test which otherwise failed with an assert on ARM in debug mode. The reason for it only surfasing on ARM is that the NewObject runtime function is always used for allocating new JSObjects on ARM.

This change includes a few parts of http://codereview.chromium.org/174392 needed to trigger the error.
Review URL: http://codereview.chromium.org/173469

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years agoApi inlining. Made some core functionality available in the api and
christian.plesner.hansen@gmail.com [Wed, 26 Aug 2009 10:33:11 +0000 (10:33 +0000)]
Api inlining.  Made some core functionality available in the api and
made inline versions of some hot functions.  Changed api to use
internal Object pointers rather than void pointers.

Speeds up getElementById by ~7%.
Review URL: http://codereview.chromium.org/173348

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2761 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

14 years ago* Make stack/preemption guard faster on ARM by putting stack
erik.corry@gmail.com [Wed, 26 Aug 2009 10:27:32 +0000 (10:27 +0000)]
* Make stack/preemption guard faster on ARM by putting stack
limit in the roots array.
Review URL: http://codereview.chromium.org/174517

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00