sgjesse@chromium.org [Fri, 11 Sep 2009 12:26:15 +0000 (12:26 +0000)]
Control profiling/debugger support from build script.
The SCons build now has the options profilingsupport and debuggersupport for controlling the setting of the defines ENABLE_LOGGIGN_AND_PROFILING and ENABLE_DEBUGGER_SUPPORT. By default both are set to true.
The changes to the XCode project have not been tested.
Review URL: http://codereview.chromium.org/195061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2875
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 11 Sep 2009 12:21:48 +0000 (12:21 +0000)]
Use local cpplint.py if it exists.
If there is a local cpplint.py in the tools directory use this instead of any cpplint in the path. This makes it possible to run presubmit checks on Windows by downloading cpplint.py from http://code.google.com/p/google-styleguide/.
Review URL: http://codereview.chromium.org/194039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2874
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 10 Sep 2009 13:56:12 +0000 (13:56 +0000)]
Fix lint issue.
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/203017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2873
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 10 Sep 2009 13:27:00 +0000 (13:27 +0000)]
Fix IA32 build.
TBR=lrn@chromium.org
Review URL: http://codereview.chromium.org/201078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2872
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 10 Sep 2009 12:59:49 +0000 (12:59 +0000)]
Add option --build-only to the test runner.
This new option is convenient for cross-compilation as actually running the targets build does not make sense.
Review URL: http://codereview.chromium.org/200077
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2871
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 10 Sep 2009 12:59:01 +0000 (12:59 +0000)]
Implement code patcher for x64.
Use the code patcher for the patching of the JS return sequence used by the debugger.
Added explicit instruction cache flushing in a code patching section which did not have it for completeness, even though it is not required on Intel processors.
Review URL: http://codereview.chromium.org/203016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2870
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 10 Sep 2009 12:55:27 +0000 (12:55 +0000)]
X64: Extract all smi operations into MacroAssembler macros.
First step in changing Smi representation.
Review URL: http://codereview.chromium.org/196077
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2869
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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