antonm@chromium.org [Thu, 22 Apr 2010 18:50:27 +0000 (18:50 +0000)]
Use Heap::CreateFillerArrayAt to create a filler instead of copied code.
Review URL: http://codereview.chromium.org/
1770001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4479
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 22 Apr 2010 17:28:43 +0000 (17:28 +0000)]
Update AUTHORS file to reflect previous commit
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4478
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 22 Apr 2010 17:25:42 +0000 (17:25 +0000)]
Speed up random on ARM. Patch committed for rodolph.perfetta@googlemail.com. See codereview.chromium.org/
1689007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4477
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 22 Apr 2010 16:43:38 +0000 (16:43 +0000)]
Fix bugs introduced by r4475:
- RelinkPageListInChunkOrder might relink unused pages into the middle of a sequence of used pages. Filler objects should be placed at the beginning of such unused pages otherwise generic iterators (e.g. HeapObjectIterator) would not handle them correctly.
- ObjectAreaEnd() should not be used as an allocation limit for pages from FixedSpace. Pages in such spaces do not use top page_extra_ bytes of object area.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/
1700005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4476
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 22 Apr 2010 14:42:21 +0000 (14:42 +0000)]
Put empty pages discovered during sweeping to the end of the list of pages
instead of adding them to the free list.
Review URL: http://codereview.chromium.org/
1683001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4475
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 22 Apr 2010 12:41:10 +0000 (12:41 +0000)]
Add checks to the ARM simulator to ensure that we flush the icache all
the places we should.
Review URL: http://codereview.chromium.org/
1523030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4474
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 22 Apr 2010 12:20:36 +0000 (12:20 +0000)]
Port apply with arguments optimization to ARM. This avoid allocating
the arguments object when not necessary.
Review URL: http://codereview.chromium.org/
1738003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4473
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 22 Apr 2010 09:02:10 +0000 (09:02 +0000)]
Fix error in static type information computation for bitwise shift.
Review URL: http://codereview.chromium.org/
1756007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4471
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 22 Apr 2010 07:35:43 +0000 (07:35 +0000)]
Minor formatting changes.
Review URL: http://codereview.chromium.org/
1766005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4470
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 22 Apr 2010 07:26:07 +0000 (07:26 +0000)]
Fix ARM debug build breakage caused by r4468
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/
1730005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4469
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 22 Apr 2010 07:18:30 +0000 (07:18 +0000)]
Add inlining of property load on ARM
Generate inlined named property load for in-object properties. This uses the same mechanism as on the Intel platforms with the map check and load instruction of the inlined code being patched by the inline cache code. The map check is patched through the normal constant pool patching and the load instruction is patched in place.
Review URL: http://codereview.chromium.org/
1715003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4468
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Wed, 21 Apr 2010 16:59:58 +0000 (16:59 +0000)]
Support multi-chunk differences
Review URL: http://codereview.chromium.org/
1672006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4467
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 21 Apr 2010 14:07:13 +0000 (14:07 +0000)]
Fix issue 683: change the order of CPU profiler setup actions.
BUG=683
Review URL: http://codereview.chromium.org/
1756003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4464
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 21 Apr 2010 13:33:36 +0000 (13:33 +0000)]
Port inlined quick equality check for non-NaN to x64.
Review URL: http://codereview.chromium.org/
1756002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4463
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Wed, 21 Apr 2010 12:16:36 +0000 (12:16 +0000)]
- Fix unitialized variable error found by compiler warning.
Review URL: http://codereview.chromium.org/
1700004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4462
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Wed, 21 Apr 2010 11:13:53 +0000 (11:13 +0000)]
Fix one off error.
Proper condition to start eviction is when next possible index is equal
to cache length.
Review URL: http://codereview.chromium.org/
1709001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4460
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 21 Apr 2010 10:20:55 +0000 (10:20 +0000)]
Fix lint errors
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/
1749002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4458
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 21 Apr 2010 09:45:06 +0000 (09:45 +0000)]
Update comment to provide the correct usage of the Disassembler class.
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/
1755001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4457
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 21 Apr 2010 09:43:45 +0000 (09:43 +0000)]
Use an object to control the blocking of the constant pool
Instead of indicating for how many instructions the constant pool needs to be blocked the constant pool is now blocked while at least one instance of ScopedConstPoolBlocker exists.
Review URL: http://codereview.chromium.org/
1673006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4456
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 21 Apr 2010 08:33:04 +0000 (08:33 +0000)]
Fix incorrect handling of global RegExp properties for nested replace-regexp-with-function.
Review URL: http://codereview.chromium.org/
1695002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4455
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 21 Apr 2010 07:32:04 +0000 (07:32 +0000)]
Return the correct statement position.
Whether this was a typo or a deliberate decision at some point I don't know. Anyway it was wrong.
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/
1752001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4452
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 21 Apr 2010 07:10:20 +0000 (07:10 +0000)]
Prepare push of version 2.2.4 to trunk.
Review URL: http://codereview.chromium.org/
1687004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4451
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 20 Apr 2010 17:33:14 +0000 (17:33 +0000)]
Reapply: Inline fast cases in string keyed load IC.
(Fixed handling of out-of-bounds keys.)
String keyed load used to call STRING_CHAR_AT builtin that performs
two steps (get a char code, construct a one-char string from the
code), both of which have fast cases implemented as inline runtime
functions. In this chage most of the code from these functions is
extracted to a set of common generator functions in StringStubBase and
the fast cases are grouped together in the IC code.
Review URL: http://codereview.chromium.org/
1582041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4450
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 20 Apr 2010 13:10:18 +0000 (13:10 +0000)]
Add missing check to StringBuilderConcat runtime function.
Review URL: http://codereview.chromium.org/
1578036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4449
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Tue, 20 Apr 2010 11:29:32 +0000 (11:29 +0000)]
Do not preconvert to string as it apparently has minimal performance benefit.
Review URL: http://codereview.chromium.org/
1525040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4448
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Tue, 20 Apr 2010 10:41:38 +0000 (10:41 +0000)]
Change strlen to v8::internal::StrLength in liveedit tests (to fix compile error on windows 64)
Review URL: http://codereview.chromium.org/
1610038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4447
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 20 Apr 2010 10:20:39 +0000 (10:20 +0000)]
Add missing smi check in IC for nonexistent properties.
Add regression test.
BUG=v8:681
Review URL: http://codereview.chromium.org/
1673005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4446
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 20 Apr 2010 09:26:32 +0000 (09:26 +0000)]
Revert r4444 "Inline fast cases in string keyed load IC."
Review URL: http://codereview.chromium.org/
1633024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4445
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 20 Apr 2010 08:27:48 +0000 (08:27 +0000)]
Inline fast cases in string keyed load IC.
String keyed load used to call STRING_CHAR_AT builtin that performs
two steps (get a char code, construct a one-char string from the
code), both of which have fast cases implemented as inline runtime
functions. In this chage most of the code from these functions is
extracted to a set of common generator functions in StringStubBase and
the fast cases are grouped together in the IC code.
Review URL: http://codereview.chromium.org/
1539039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4444
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 19 Apr 2010 19:30:11 +0000 (19:30 +0000)]
Make not sucking at regexp the default
(remove V8_NATIVE_REGEXP flag, add
V8_INTERPRETED_REGEXP flag).
Review URL: http://codereview.chromium.org/
1635001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4443
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 19 Apr 2010 16:34:19 +0000 (16:34 +0000)]
Fix arm simulator build on Max OS X. For some reason the GCC version
on Mac is more pedantic.
Review URL: http://codereview.chromium.org/
1652015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4442
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Mon, 19 Apr 2010 16:08:26 +0000 (16:08 +0000)]
LiveEdit: calculate a real script difference
Review URL: http://codereview.chromium.org/
1652008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4441
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 19 Apr 2010 12:39:07 +0000 (12:39 +0000)]
Remove some remaining references to boilerplate functions.
Review URL: http://codereview.chromium.org/
1605037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4440
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 16 Apr 2010 13:57:14 +0000 (13:57 +0000)]
Really fix WebKit buildbot crashes on StopProfiling.
This time I hope I'm doing the right check.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/
1630027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4439
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Fri, 16 Apr 2010 12:20:02 +0000 (12:20 +0000)]
Fix arm simulator build - arm flags must be a list when compiling for arm when the ARM_TARGET_LIB is not set.
Review URL: http://codereview.chromium.org/
1658006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4438
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 16 Apr 2010 12:19:47 +0000 (12:19 +0000)]
Tweak D8 remote debugger
When D8 is used as remote debugger the command 'break' (shorthand 'b') can be used to break JavaScript execution.
Fixed the printing of the prompt 'dbg>' and printing of error messages.
Review URL: http://codereview.chromium.org/
1566049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4437
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Fri, 16 Apr 2010 11:47:23 +0000 (11:47 +0000)]
Change SConstruct to allow for easy specification of target library for arm cross-compilation.
Review URL: http://codereview.chromium.org/
1667001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4436
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 16 Apr 2010 08:44:17 +0000 (08:44 +0000)]
Make StopProfiling resilient to calls in unusual moments.
Review URL: http://codereview.chromium.org/
1658005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4435
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 15 Apr 2010 14:43:32 +0000 (14:43 +0000)]
Fix constant offset check for inlined write barrier to work in cases when offset is given from tagged object pointer.
Review URL: http://codereview.chromium.org/
1646008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4431
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 15 Apr 2010 14:12:17 +0000 (14:12 +0000)]
Only put VM state entry if a symbolized stacktrace is empty.
This makes more sense than putting "(program)" as the root of
every stack trace in broswer mode.
Review URL: http://codereview.chromium.org/
1631018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4430
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 15 Apr 2010 14:06:57 +0000 (14:06 +0000)]
Add tracking of loop nesting to ARM code.
Review URL: http://codereview.chromium.org/
1645008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4429
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 15 Apr 2010 12:41:30 +0000 (12:41 +0000)]
Add stack alignment check to ia32 and x64
The stack is now checked for proper alignment before calling into C code when the flag --debug-code is turned on.
Review URL: http://codereview.chromium.org/
1637015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4428
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 15 Apr 2010 11:37:29 +0000 (11:37 +0000)]
Report approximated duration in milliseconds for profile nodes.
The simple formula "ms = ticks * sampler_interval" doesn't work,
because e.g. on Linux, the actual sampling rate can be 5 times
lower than the one set up in the code. To calculate actual sampling
rate, current time is periodically queried and processed along with
actual sampling ticks count.
Review URL: http://codereview.chromium.org/
1539038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4427
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 15 Apr 2010 11:25:41 +0000 (11:25 +0000)]
Reapply load ICs for nonexistent properties.
We need to be careful to check global property cells for the property
encountered during lookup. Therefore, the ICs have to be specific to
the name of the property if global objects are involved. In
principle, this means that we could get a large number of monomorphic
ICs for the same map if there is a global object in the prototype
chain. However, since this is only done for normal load ICs and not
for keyed load ICs I do not expect this to be a problem. I will
experiment with it once this goes in.
BUG=675
Review URL: http://codereview.chromium.org/
1559033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4426
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 15 Apr 2010 09:34:47 +0000 (09:34 +0000)]
Ensure stack alignment in ARM port
In the CEntryStub keep track of the actual skew from the correct alignment to ensure proper alignment before calling the runtime. Add checks to test the expected skew when running on hardware.
Use the PrepareCallCFunction/CallCFunction in a few other places.
Add check to the ARM simulator for correct alignment.
Add option --sim-stack-alignment to set the stack alignment in the simulator. Currntly only values 4 and 8 makes sense. 8 is the default to make snapshots generated with the simulator work on hardware requiring 8 byte stack alignment.
Review URL: http://codereview.chromium.org/
1530043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4425
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 15 Apr 2010 08:45:27 +0000 (08:45 +0000)]
Avoid warning on ARM reported by newer GCC versions
Review URL: http://codereview.chromium.org/
1540038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4424
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Wed, 14 Apr 2010 20:16:19 +0000 (20:16 +0000)]
One less dependent load in InvokeBuiltin.
Review URL: http://codereview.chromium.org/
1638006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4423
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 14 Apr 2010 18:48:05 +0000 (18:48 +0000)]
merged
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4422
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Wed, 14 Apr 2010 15:57:27 +0000 (15:57 +0000)]
Update document to descirbe semantics of hints.
Review URL: http://codereview.chromium.org/
1658002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4421
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Wed, 14 Apr 2010 15:01:14 +0000 (15:01 +0000)]
Format
Review URL: http://codereview.chromium.org/
1589036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4420
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Wed, 14 Apr 2010 14:53:00 +0000 (14:53 +0000)]
Make a namespace for LiveEdit
Review URL: http://codereview.chromium.org/
1549041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4419
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Wed, 14 Apr 2010 14:46:15 +0000 (14:46 +0000)]
Introduce fast native caches and use it in String.search.
Review URL: http://codereview.chromium.org/
1563005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4418
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 14 Apr 2010 11:45:03 +0000 (11:45 +0000)]
Revert change 4401.
Review URL: http://codereview.chromium.org/
1589035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4416
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 14 Apr 2010 11:30:34 +0000 (11:30 +0000)]
Changing byte_size from size_t to int in heap-inl.h (making win64 build work)
Review URL: http://codereview.chromium.org/
1619017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4415
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 14 Apr 2010 10:38:03 +0000 (10:38 +0000)]
Move const declarations out of if in assembler-x64.cc (correcting linux64 bit compile error)
Review URL: http://codereview.chromium.org/
1595028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4414
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Wed, 14 Apr 2010 10:11:29 +0000 (10:11 +0000)]
Fix typos in new interrupt postponing code.
TBR=ricow@chromium.org
Review URL: http://codereview.chromium.org/
1574027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4413
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Wed, 14 Apr 2010 09:54:30 +0000 (09:54 +0000)]
Postpone interrupts while compiling regexp code. This avoids
getting artificial stack overflows due to interrupts while
compiling and visiting the AST nodes. Pending interrupts will
be processed once we're done compiling.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4412
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 14 Apr 2010 09:25:33 +0000 (09:25 +0000)]
Port direct call to native RegExp from JavaScript to ARM
The ia32 version was implemented in r3542 and r3543. The x64 was implementeed in r3740, r3741 and r3742.
Minor tweaks to the is32 and x64 code as well.
Review URL: http://codereview.chromium.org/
1575035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4409
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 14 Apr 2010 08:54:08 +0000 (08:54 +0000)]
Create const ints for int8_t and int32_t in jmp assembler (making win64 build happy)
Review URL: http://codereview.chromium.org/
1637009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4408
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 14 Apr 2010 08:41:35 +0000 (08:41 +0000)]
Prepare push of version 2.2.3 to trunk.
Review URL: http://codereview.chromium.org/
1619016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4407
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 14 Apr 2010 08:31:37 +0000 (08:31 +0000)]
Update MSVS and Xcode projects to make V8 compilable.
MSVS: define ENABLE_VM_STATE_TRACKING
Xcode: add missing files, sort project
BUG=673
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/
1650005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4406
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 14 Apr 2010 07:49:30 +0000 (07:49 +0000)]
Change default Android scons build to suit more modern hardware.
Review URL: http://codereview.chromium.org/
1640008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4404
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Wed, 14 Apr 2010 07:36:49 +0000 (07:36 +0000)]
Avoid messing with the stack overflow limits while interrupts
are postponed. This way, V8 will wait until interrupts are
re-enabled before artifically lowering the stack limit thereby
forcing the interruption of the JavaScript executing thread.
Review URL: http://codereview.chromium.org/
1638009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4403
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 14 Apr 2010 07:26:20 +0000 (07:26 +0000)]
Reapplying changes from r4318
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/
1656003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4402
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 14 Apr 2010 06:25:11 +0000 (06:25 +0000)]
Add inline caches for loading non-existing properties.
Review URL: http://codereview.chromium.org/
1539034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4401
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Tue, 13 Apr 2010 17:00:33 +0000 (17:00 +0000)]
Expose a hint which communicates that string might be written many times.
Review URL: http://codereview.chromium.org/
1609021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4400
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 13 Apr 2010 13:42:45 +0000 (13:42 +0000)]
Port optimized comparison of a string to a constant single character string to X64 platform. Fix small mistake on ia32 platform.
Review URL: http://codereview.chromium.org/
1627014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4398
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 13 Apr 2010 11:59:37 +0000 (11:59 +0000)]
Fix build problems on Windows 64-bit by casting.
Gave the root register a name for reference.
Review URL: http://codereview.chromium.org/
1539033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4397
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 13 Apr 2010 11:34:14 +0000 (11:34 +0000)]
X64: Add smi-type to loop variable of simple smi for-loops.
Review URL: http://codereview.chromium.org/
1642003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4396
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 13 Apr 2010 09:31:03 +0000 (09:31 +0000)]
Native construction of RegExp result objects, with in-object index and input.
Avoid cloning using CloneRegExpResult for results that are just arrays.
Made a more direct path for string.match with string argument.
Review URL: http://codereview.chromium.org/
1645001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4395
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 13 Apr 2010 09:01:30 +0000 (09:01 +0000)]
Fix cross compilation of snapshot builds using scons.
With this change we also activate snapshots for ARM
benchmarking builds.
Review URL: http://codereview.chromium.org/
1627019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4394
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 13 Apr 2010 08:44:50 +0000 (08:44 +0000)]
Add os.unsetenv to d8.
Review URL: http://codereview.chromium.org/
1602023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4393
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Mon, 12 Apr 2010 15:12:30 +0000 (15:12 +0000)]
Reimplement InsertSort to use simple linear search.
And various minor cleanups.
Review URL: http://codereview.chromium.org/
1611021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4392
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Mon, 12 Apr 2010 15:05:55 +0000 (15:05 +0000)]
Faster comparison of identical objects.
Review URL: http://codereview.chromium.org/
1558040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4391
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 12 Apr 2010 13:36:52 +0000 (13:36 +0000)]
Remove redundant null oddball initialization.
Remove unneeded map argument to CreateOddball.
Review URL: http://codereview.chromium.org/
1623008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4390
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 12 Apr 2010 13:15:39 +0000 (13:15 +0000)]
Fix presubmit error in previous commit.
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/
1640005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4389
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 12 Apr 2010 12:24:14 +0000 (12:24 +0000)]
Add commands stack and mem to ARM simulator debugger
The command "stack" will dump the stack and "mem" will dump memory from a address given either as a register or as a literal. Both commands dump 10 words unless an additional argument with the number of words to dump is given.
sim> stack
sim> mem fp
sim> mem 0xe612a450 100
Also parse address literals in simulator debugger command as unsigned.
Review URL: http://codereview.chromium.org/
1596022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4388
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 12 Apr 2010 11:11:28 +0000 (11:11 +0000)]
Prepare push of version 2.2.2 to trunk.
Review URL: http://codereview.chromium.org/
1607013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4385
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 12 Apr 2010 10:07:50 +0000 (10:07 +0000)]
Optimize the assembly code generated for Math.random()
Review URL: http://codereview.chromium.org/
1631008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4384
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 12 Apr 2010 07:52:40 +0000 (07:52 +0000)]
Try to fix WebKit bot: add 'circular-queue.h' and 'circular-queue-inl.h' to v8.gyp
TBR=ricow@chromium.org
Review URL: http://codereview.chromium.org/
1523021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4383
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 12 Apr 2010 07:23:43 +0000 (07:23 +0000)]
Allow new CPU profiling subsystem to coexist nicely with the old one.
This is to make possible enabling usage of the new profiling subsystem
in Chromium without much hassle. The idea is pretty simple: unless the
new profiling API is used, all works as usual, as soon as Chromium
starts to use the new API, it will work too.
Review URL: http://codereview.chromium.org/
1635005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4382
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Mon, 12 Apr 2010 07:05:24 +0000 (07:05 +0000)]
Faster invocation of custom comparator function.
Review URL: http://codereview.chromium.org/
1623004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4381
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 9 Apr 2010 18:25:51 +0000 (18:25 +0000)]
Make binary op stubs in both r0-r1 and r1-r0 versions to reduce
register churn.
Review URL: http://codereview.chromium.org/
1606019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4380
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Fri, 9 Apr 2010 13:51:11 +0000 (13:51 +0000)]
Restore r4358 which was reverted by 4366.
Review URL: http://codereview.chromium.org/
1594023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4379
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Fri, 9 Apr 2010 13:02:25 +0000 (13:02 +0000)]
Mark up debugger support in sample file
Review URL: http://codereview.chromium.org/
1569009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4375
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 9 Apr 2010 11:25:52 +0000 (11:25 +0000)]
Call to C function support in macro assembler
Implement macro assembler operations PrepareCallCFunction and CallCFunction like on both Intel platforms. Used these for direct calls to C functions.
Review URL: http://codereview.chromium.org/
1549031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4374
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sandholm@chromium.org [Fri, 9 Apr 2010 09:21:46 +0000 (09:21 +0000)]
Adding Lasse's improvement to r4364
http://codereview.chromium.org/
1556019
http://code.google.com/p/v8/source/detail?r=4364
Review URL: http://codereview.chromium.org/
1638001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4373
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 9 Apr 2010 08:16:25 +0000 (08:16 +0000)]
Reverting r4318 (merge of scavenge into sweeping pass of MSC garbage collector)
Review URL: http://codereview.chromium.org/
1622016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4370
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Fri, 9 Apr 2010 07:29:58 +0000 (07:29 +0000)]
Fix the gyp file to include the ENABLE_VMSTATE_TRACKING
Review URL: http://codereview.chromium.org/
1564021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4369
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 8 Apr 2010 22:30:30 +0000 (22:30 +0000)]
Simple register allocation for ARM. Only top of expression
stack for now. Next step is probably fixing the binary
op stubs so they can take swapped registers and fixing
the deferred code so it doesn't insist that all registers
except the two operands are flushed. Generates slightly
worse code sometimes because the peephole push-pop
elimination gets confused when we don't use the same
register all the time (the old code used r0 always).
Review URL: http://codereview.chromium.org/
1604002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4368
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Thu, 8 Apr 2010 18:23:10 +0000 (18:23 +0000)]
Landing codereview.chromium.org/
1594017 for Ryan.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/
1512028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4367
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Thu, 8 Apr 2010 18:07:46 +0000 (18:07 +0000)]
Revert r4358.
TBR=peter.rybin@gmail.com
Review URL: http://codereview.chromium.org/
1549029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4366
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kaznacheev@chromium.org [Thu, 8 Apr 2010 15:19:06 +0000 (15:19 +0000)]
Re-submitting binary op ICs for ARM. Does not break debug tests
now.
Review URL: http://codereview.chromium.org/
1629008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4365
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sandholm@chromium.org [Thu, 8 Apr 2010 14:42:27 +0000 (14:42 +0000)]
Adding boolean saveAnswer property of RegExpCache to avoid unnecessary cloning of the regexp answer object/array.
Review URL: http://codereview.chromium.org/
1556019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4364
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 8 Apr 2010 14:00:51 +0000 (14:00 +0000)]
Fix debug builds.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/
1572029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4363
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kaznacheev@chromium.org [Thu, 8 Apr 2010 13:41:11 +0000 (13:41 +0000)]
Removing BinaryOpIC::Clear. This method relied on some less-than-obvious hack,
and there was zero (or small negative) performance advantage.
Review URL: http://codereview.chromium.org/
1623005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4362
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 8 Apr 2010 13:37:39 +0000 (13:37 +0000)]
Make VM state tracking to be independent of logging and profiling.
Also pull out VMState into its own set of source files.
Review URL: http://codereview.chromium.org/
1519027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4361
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 8 Apr 2010 13:30:48 +0000 (13:30 +0000)]
Add support for bkpt instruction
The bkpt instruction is now supported by both the disassembler and the simulator. In the simulator it breaks to the native debugger if any like int3 on Intel.
Moved the handling of the miscellaneous instructions to a separate part.
Review URL: http://codereview.chromium.org/
1576026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4360
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Thu, 8 Apr 2010 12:37:10 +0000 (12:37 +0000)]
LiveEdit: update breakpoint positions for non-changed functions
Review URL: http://codereview.chromium.org/
1090003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4359
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Wed, 7 Apr 2010 18:13:18 +0000 (18:13 +0000)]
Small improvements with code patching
Review URL: http://codereview.chromium.org/
1456001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4358
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00