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
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
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
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
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
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
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
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
ager@chromium.org [Wed, 26 Aug 2009 08:19:55 +0000 (08:19 +0000)]
Prepare push to trunk. Now working on version 1.3.9.
Review URL: http://codereview.chromium.org/174516
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2758
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 26 Aug 2009 08:13:27 +0000 (08:13 +0000)]
Only pass idle notifications on from the API if V8 has been
initialized.
Minor cleanups.
Review URL: http://codereview.chromium.org/173465
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2757
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 26 Aug 2009 08:11:46 +0000 (08:11 +0000)]
Make ARM simulator compile on Windows.
Remove suspicious line from ARM simulator, which caused a compiler warning on Windows.
Review URL: http://codereview.chromium.org/173464
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2756
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 26 Aug 2009 06:29:53 +0000 (06:29 +0000)]
X64: Small changes to let WIN64 platform compile.
Review URL: http://codereview.chromium.org/174394
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2755
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 25 Aug 2009 15:00:07 +0000 (15:00 +0000)]
Reverting 2753.
Review URL: http://codereview.chromium.org/173349
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2754
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 25 Aug 2009 12:23:58 +0000 (12:23 +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.
Review URL: http://codereview.chromium.org/174392
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2753
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 25 Aug 2009 06:53:36 +0000 (06:53 +0000)]
Prepare push to trunk. Now working on version 1.3.8.
Review URL: http://codereview.chromium.org/173340
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2751
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 25 Aug 2009 06:31:17 +0000 (06:31 +0000)]
Land patch for sgk@chromium.org:
Don't copy the ENV variable from the users's external environment into
construction environments. SCons uses this as a dictionary of environment
values for the commands it executes.
BUG=none
TEST=build with the variable ENV set in the user environment
Review URL: http://codereview.chromium.org/173294
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2750
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mike@belshe.com [Tue, 25 Aug 2009 03:18:40 +0000 (03:18 +0000)]
Forgot to change API signature for V8 tests.
BUG=none
TEST=none
TBR=ager
Review URL: http://codereview.chromium.org/174386
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2749
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mike@belshe.com [Tue, 25 Aug 2009 02:54:39 +0000 (02:54 +0000)]
Update the Idle collector to do a full GC
after being idle for some time.
Remove the default argument from CollectAllGarbage.
Review URL: http://codereview.chromium.org/174302
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2748
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 24 Aug 2009 16:25:23 +0000 (16:25 +0000)]
Allow test to timeout. The time to run the test is close to the
timeout limit so it sometimes times out.
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/173271
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2747
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 24 Aug 2009 16:08:44 +0000 (16:08 +0000)]
Revert change 2745 because of assertion failures in debug mode.
TBR=yurys@chromium.org
Review URL: http://codereview.chromium.org/173268
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2746
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 24 Aug 2009 15:21:49 +0000 (15:21 +0000)]
Allow 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.Related Chromium issue: code.google.com/p/chromium/issues/detail?id=17978
Review URL: http://codereview.chromium.org/159703
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2745
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 24 Aug 2009 11:57:57 +0000 (11:57 +0000)]
Reapply ARM root array change to reduce const pool size
by using r10 to point to a list of common root objects.
This time we also disable a debugger test on ARM that
has never worked, but with this change sometimes
crashes.
Review URL: http://codereview.chromium.org/174317
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2744
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 24 Aug 2009 11:56:29 +0000 (11:56 +0000)]
Change some integer types to make the x64 Win32 platform happier.
Review URL: http://codereview.chromium.org/173115
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2743
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 24 Aug 2009 09:12:07 +0000 (09:12 +0000)]
X64: Set target machine for Visual Studio projects to x64.
Review URL: http://codereview.chromium.org/174137
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2742
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 24 Aug 2009 09:08:12 +0000 (09:08 +0000)]
Reduce the amount of dates tested in date-parse test. The test occasionally times out on ARM hardware.
Review URL: http://codereview.chromium.org/174316
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2741
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 21 Aug 2009 13:14:53 +0000 (13:14 +0000)]
Shrink new space on compacting collections.
Review URL: http://codereview.chromium.org/174219
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2740
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 21 Aug 2009 10:48:31 +0000 (10:48 +0000)]
Prepare to push to trunk. We are now working on version 1.3.7.
Review URL: http://codereview.chromium.org/173189
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2738
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 21 Aug 2009 08:52:24 +0000 (08:52 +0000)]
Land change to bail out from post garbage collection processing if
another post gc processing was trigger because of weak callbacks.
Review URL: http://codereview.chromium.org/174141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2737
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 21 Aug 2009 08:44:21 +0000 (08:44 +0000)]
Fix a GC issue.
When descriptor arrays where allocated with the initial map the handling of allocation failures was not correct. This could cause the map returned could possible have been collected.
Review URL: http://codereview.chromium.org/173188
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2736
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 21 Aug 2009 06:30:59 +0000 (06:30 +0000)]
Fix an ASSERT in the scanner.
The assert when performing a push back on a two byte string was wrong.
Added a small regression test.
Review URL: http://codereview.chromium.org/173116
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2735
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mark@chromium.org [Thu, 20 Aug 2009 19:12:59 +0000 (19:12 +0000)]
Enable -fstrict-aliasing in the GYP build of V8 for the Mac in Release mode.
-fstrict-aliasing is enabled by mainline gcc at -O2 and higher, but in Apple
gcc, it must be enabled explicitly. This results in a 1.5% improvement in V8
benchmark scores.
This also removes the -fno-exceptions and -fno-rtti settings from v8.gyp for
the Mac, and removes -fno-rtti from v8.gyp for Linux, because these settings
have become part of Chromium's common.gypi, included here, as of r23304 at the
latest. The settings in v8.gyp have become redundant.
Review URL: http://codereview.chromium.org/174154
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2734
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mark@chromium.org [Thu, 20 Aug 2009 14:48:52 +0000 (14:48 +0000)]
Don't use -fomit-frame-pointer to build Mac V8. The Chrome crash reporting
system can't currently process stacks produced by gcc -fomit-frame-pointer
properly. The drawback outweighs the 2% performance improvement. Once
the crash reporting system is able to handle this optimization, it should be
revisited.
Review URL: http://codereview.chromium.org/173123
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2733
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 20 Aug 2009 11:45:18 +0000 (11:45 +0000)]
Fix mozilla test expectations. Generating a huge error message can
not time out of the 64-bit version because of the larger heap.
Review URL: http://codereview.chromium.org/173118
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2732
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Thu, 20 Aug 2009 11:37:56 +0000 (11:37 +0000)]
Experimental change to omit frame pointers from V8 on Mac
built through the v8.gyp file. The optimization flags for
Mac and Linux (both gcc-based) builds are now much closer.
Review URL: http://codereview.chromium.org/173117
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2731
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Thu, 20 Aug 2009 11:13:51 +0000 (11:13 +0000)]
Try compiling V8 for Mac with -O3 when using the v8.gyp file.
Review URL: http://codereview.chromium.org/174138
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2730
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 20 Aug 2009 10:32:11 +0000 (10:32 +0000)]
Fix a test that test out of memory situations. On the 64-bit port the
test did not actually run out of memory which the test treats as an
error.
Review URL: http://codereview.chromium.org/174136
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2729
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00