ulan@chromium.org [Wed, 28 May 2014 13:36:25 +0000 (13:36 +0000)]
Check that all properties are processed in NameDictionary::CopyEnumKeysTo.
BUG=372579
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
306663002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21571
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 28 May 2014 13:05:17 +0000 (13:05 +0000)]
Add new benchmark suite runner.
TEST=./tools/run_benchmarks.py benchmarks/v8.json
TEST=cd tools/unittests; python -m unittest run_benchmarks_test
Does not support custom results processors yet. Will implement that in a future CL.
BUG=374740
LOG=n
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
293023006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21570
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 28 May 2014 13:01:47 +0000 (13:01 +0000)]
Use non-copying sorting in test harness.
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
300873006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21569
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 28 May 2014 13:00:47 +0000 (13:00 +0000)]
Fix deopt fuzzer after adding a no_sorting flag.
BUG=
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
305643007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21568
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 28 May 2014 12:03:40 +0000 (12:03 +0000)]
Fix lint complaints in objects.h
R=rossberg@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
304533007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21567
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 28 May 2014 11:48:55 +0000 (11:48 +0000)]
Add a dummy v8 target to BUILD.gn so we can depend on this from chrome
BUG=none
R=dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
300883003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21566
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 28 May 2014 11:45:09 +0000 (11:45 +0000)]
CallIC::PrintState() was incorrectly declared as V8_FINAL.
This broke the windows build.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
304633004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21565
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 28 May 2014 11:29:55 +0000 (11:29 +0000)]
Refactor CallICStub to use a different stub for each customization.
This gives us much more room to customize on different functions, by
using MajorKey to differentiate them.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
295383004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21564
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 28 May 2014 11:17:02 +0000 (11:17 +0000)]
Fix processing of partially initialized JSWeakCollection.
R=hpayer@chromium.org
BUG=v8:2070
LOG=N
Review URL: https://codereview.chromium.org/
300843009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21563
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 28 May 2014 11:00:11 +0000 (11:00 +0000)]
Free memory in the mock array buffer allocator.
Turns out ASAN and valgrind notice if you leak 0 allocated bytes.
R=jkummerow@chromium.org, jochen@chromium.org
Review URL: https://codereview.chromium.org/
306583006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21562
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 28 May 2014 10:49:10 +0000 (10:49 +0000)]
Add flag to test harness to stop sorting test cases.
R=jkummerow@chromium.org, machenbach@chromium.org
Review URL: https://codereview.chromium.org/
307553003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21561
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 28 May 2014 10:41:13 +0000 (10:41 +0000)]
Refactor after break target computation.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
301563004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21560
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 28 May 2014 10:21:46 +0000 (10:21 +0000)]
Move LiveEdit-related code.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
300793002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21559
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 28 May 2014 09:58:27 +0000 (09:58 +0000)]
Changing the attributes of a data property implemented with
ExecutableAccessorInfo turns the property into a field. Better
to keep it as a callback, and correctly deal with the changed
property attributes.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
262053011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21558
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 28 May 2014 09:52:38 +0000 (09:52 +0000)]
Add Seq[One,Two]ByteString to runtime test generator.
R=dcarney@chromium.org, jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
303543006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21557
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 28 May 2014 09:49:53 +0000 (09:49 +0000)]
Force inline runtime functions into its wrapper.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
307543009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21556
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 28 May 2014 09:29:27 +0000 (09:29 +0000)]
Cleanup GetPropertyWithCallback / SetPropertyWithCallback API
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
305513004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21555
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 28 May 2014 09:20:03 +0000 (09:20 +0000)]
Drop bogus assert after r21552.
R=hpayer@chromium.org
BUG=v8:2070
LOG=N
Review URL: https://codereview.chromium.org/
303493005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21554
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 28 May 2014 08:39:33 +0000 (08:39 +0000)]
Repairs to FLAG_pretenure_call_new.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
307583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21553
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 28 May 2014 08:35:16 +0000 (08:35 +0000)]
Make incremental marker post-process JSWeakCollection.
R=hpayer@chromium.org
BUG=v8:2070
LOG=N
Review URL: https://codereview.chromium.org/
301553003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21552
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Wed, 28 May 2014 08:21:43 +0000 (08:21 +0000)]
X87: Fix a typo in below CL
r21515 (6d0ec9a)
Convert ElementsKind into a BitField
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
301563008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21551
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Wed, 28 May 2014 08:19:43 +0000 (08:19 +0000)]
X87: Small changes in preparation for Hydrogen-generated KeyedLoadGeneric
Port r21535(8bb4c2b)
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
302453011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21550
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Wed, 28 May 2014 08:18:39 +0000 (08:18 +0000)]
X87: Convert String array index/length hash to BitField.
Port r21533 (736c779)
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
298293007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21549
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Wed, 28 May 2014 08:17:21 +0000 (08:17 +0000)]
X87: Merge Debugger and Debug.
port r21524 (af88824)
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
298193004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21548
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Wed, 28 May 2014 08:16:11 +0000 (08:16 +0000)]
X87: Avoid HeapObject check in HStoreNamedField.
port r21509 (78a54b0)
Original commit message:
This way an HStoreNamedField instruction can never deoptimize
itself, which is another important step towards a working
store elimination.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
306483013
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21547
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 28 May 2014 08:07:18 +0000 (08:07 +0000)]
Extract build configuration into a separate header and move it to the base lib
With this, change, atomicops, once, and lazy instance are no longer dependant
on v8 core. I'll move them in a follow-up change to the libbase as well.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
303463005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21546
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 28 May 2014 08:06:14 +0000 (08:06 +0000)]
Reuse ZoneList memory if possible.
Clear() is rather wasteful for ZoneLists, because it discards
all previously allocated memory, making it impossible to reuse
until the whole Zone is released. Better use Rewind(0) in this
case, which just resets the length to zero.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
302783007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21545
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 28 May 2014 06:42:01 +0000 (06:42 +0000)]
Fix path tracer test.
Path tracer is not compatible with --enable-slow-assert.
R=mstarzinger@chromium.org
BUG=v8:3350
LOG=N
Review URL: https://codereview.chromium.org/
297193005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21542
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Wed, 28 May 2014 04:56:28 +0000 (04:56 +0000)]
X87: Skip write barriers in the fast case when setting up local context.
Port r21481 (5973b48)
Original commit message:
The FastNewContextStub always allocates in new space, so we don't
need to update the write barrier when copying the parameters to
the newly allocated context.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
307433004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21541
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 27 May 2014 23:54:07 +0000 (23:54 +0000)]
MIPS: Fix improper register use in DoMinMax.
This fixes failure on pidigit benchmark from web-shootout
after 840 digits are calculated.
TEST=
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
300853002
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21540
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 27 May 2014 17:11:33 +0000 (17:11 +0000)]
MIPS: Convert String array index/length hash to BitField.
Port r21533 (736c779)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
297233007
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21539
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 27 May 2014 17:07:39 +0000 (17:07 +0000)]
Fix check for empty type
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
307453005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21538
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 27 May 2014 17:06:40 +0000 (17:06 +0000)]
MIPS: Use TempDoubleRegister.
Port r21517 (53d6507)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
305563002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21537
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 27 May 2014 15:16:42 +0000 (15:16 +0000)]
Reland 21529 - "Add a flag to d8 to invoke weak callbacks"
> This will send an idle notification and a low memory notification after
> each test.
>
> For some reason it's not enough to send a low memory notification alone.
>
> BUG=none
> R=yangguo@chromium.org
> LOG=n
BUG=none
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
297213006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21536
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 27 May 2014 15:15:49 +0000 (15:15 +0000)]
Small changes in preparation for Hydrogen-generated KeyedLoadGeneric
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
303583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21535
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 27 May 2014 15:00:26 +0000 (15:00 +0000)]
Revert "Make 'name' property on functions configurable."
R=danno@google.com, danno@chromium.org
Review URL: https://codereview.chromium.org/
297163009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21534
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 27 May 2014 14:55:29 +0000 (14:55 +0000)]
Convert String array index/length hash to BitField
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
300023011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21533
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 27 May 2014 14:26:32 +0000 (14:26 +0000)]
Remove cpp hack to avoid link failures on Windows
TBR=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
298133005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21532
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 27 May 2014 14:21:46 +0000 (14:21 +0000)]
Revert "Add a flag to d8 to invoke weak callbacks"
This reverts r21529.
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/
302543004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21531
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 27 May 2014 13:58:51 +0000 (13:58 +0000)]
Drop unused includes from worker-thread.cc
BUG=none
R=marja@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
302463007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21530
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 27 May 2014 13:57:48 +0000 (13:57 +0000)]
Add a flag to d8 to invoke weak callbacks
This will send an idle notification and a low memory notification after
each test.
For some reason it's not enough to send a low memory notification alone.
BUG=none
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
306483006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21529
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 27 May 2014 13:52:31 +0000 (13:52 +0000)]
Establish distributivity for type union & intersection
This requires introducing proper bounds on all leaf types, so that intersection between bitsets and these types can be accurately represented. Extending a union also becomes more involved.
(On the upside, the modified union/intersect algorithm would now allow support for proper variance for function types.)
Not sure if it is worth landing this. Distributivity isn't really a crucial property for our use cases. It seems fine if intersection is slightly lossy.
R=bmeurer@chromium.org, jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
251753005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21528
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 27 May 2014 13:43:29 +0000 (13:43 +0000)]
Replace STATIC_CHECK with STATIC_ASSERT.
It's just an alias, and STATIC_ASSERT is used way more often
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
304553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21527
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 27 May 2014 13:40:40 +0000 (13:40 +0000)]
Skip PathTracer test for now.
TBR=mstarzinger@chromium.org
BUG=3350
LOG=N
Review URL: https://codereview.chromium.org/
305583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21526
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 27 May 2014 13:37:33 +0000 (13:37 +0000)]
MIPS: Avoid HeapObject check in HStoreNamedField.
Port r21509 (78a54b0)
Original commit message:
This way an HStoreNamedField instruction can never deoptimize
itself, which is another important step towards a working
store elimination.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
297143007
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21525
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 27 May 2014 13:20:58 +0000 (13:20 +0000)]
Merge Debugger and Debug.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
301633005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21524
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 27 May 2014 13:05:11 +0000 (13:05 +0000)]
Fix PathTracer.
When tracing, we abuse the map for marking, thereby mutating it.
FixedTypedArrayBase::size() uses the object's map, which causes crash.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
300753002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21523
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 27 May 2014 12:52:15 +0000 (12:52 +0000)]
Cache optimization status getter in mjsunit.js
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
300003007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21522
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vogelheim@chromium.org [Tue, 27 May 2014 12:26:44 +0000 (12:26 +0000)]
Add defensive assert against a weak callback on an empty persistent.
(This shouldn't happen in the first place, as by definition that callback would never be called. However, the referenced bug sorta looks like this happened. If so, the CHECK should help us pinpoint the culprit.)
R=jochen@chromium.org
BUG=368095
LOG=N
Review URL: https://codereview.chromium.org/
265823006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21521
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 27 May 2014 12:21:40 +0000 (12:21 +0000)]
Do not break in native code (including non-builtin debugger code).
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
300773002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21520
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 27 May 2014 12:02:44 +0000 (12:02 +0000)]
Replace some calls to MemCopy with small constant sizes with memcpy
MemCopy is only meant for variable size, large (>64bytes) copies,
otherwise, it's probably slower than memcpy due to the call
overhead and the compiler can't optimize it away.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
306453005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21519
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 27 May 2014 11:53:12 +0000 (11:53 +0000)]
Do not (eagerly) trigger exception in mjsunit.js.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
301673002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21518
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
m.m.capewell@googlemail.com [Tue, 27 May 2014 10:22:53 +0000 (10:22 +0000)]
ARM: use TempDoubleRegister
R=ulan@chromium.org, bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
302453008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21517
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 27 May 2014 09:40:04 +0000 (09:40 +0000)]
Remove HType::HeapNumber from mutable heap numbers.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
293353004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21516
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 27 May 2014 09:38:01 +0000 (09:38 +0000)]
Convert ElementsKind into a BitField
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
306513002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21515
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vogelheim@chromium.org [Tue, 27 May 2014 09:31:06 +0000 (09:31 +0000)]
Fix the "PersistentValueMap" memory leak reported here:
http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20ASAN
The bug:
The code assumed that a weak Persistent whose weak callback is being
called would still be weak. That isn't true since the persistent is
un-weakened by the garbage collector before calling the weak callback. [1]
Specifically, PersistentValueMap would funnel all 'remove' actions
through its Release method, which uses PersistentBase::ClearWeak to
obtain the callback data. [2] For 'removes' caused by the weak callback,
ClearWeak always returns a NULL-pointer since by that time the weak
persistent was already un-weakend. The result was a memory leak in
the test, since the code to delete the weak callback data would
delete NULL.
The fix:
I explicity call Traits::DisposeCallbackData from the weak callback
with the data obtained from the v8::WeakCallbackData. To avoid invalid
calls to DisposeCallbackData, I also check whether this instance is
(still) weak before calling it. (That check could easily be elided
if it's expensive, for the price of having two 'remove' code paths.)
Severety:
Probably low. At least in Chromium, noone uses the API in a way to
trigger this; only the test does.
[1] https://code.google.com/p/chromium/codesearch#chromium/src/v8/src/global-handles.cc&q=global-handles.cc&sq=package:chromium&type=cs&l=231
[2] https://code.google.com/p/chromium/codesearch#chromium/src/v8/include/v8-util.h&sq=package:chromium&l=332-345
R=dcarney@chromium.org, dcarney
BUG=
Review URL: https://codereview.chromium.org/
297193004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21514
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 27 May 2014 08:41:12 +0000 (08:41 +0000)]
Escape % in SNPrintF call in pretenuring test.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
298183002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21513
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 27 May 2014 07:57:22 +0000 (07:57 +0000)]
Reland 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
Verified that arm builds locally.
BUG=none
TBR=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
306473004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21512
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 27 May 2014 07:48:36 +0000 (07:48 +0000)]
Remove global pretenuring mode.
BUG=
R=bmeurer@chromium.org, mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
304493002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21511
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 27 May 2014 07:19:32 +0000 (07:19 +0000)]
Fix d8's interactive shell.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
305553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21510
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 27 May 2014 07:17:08 +0000 (07:17 +0000)]
Avoid HeapObject check in HStoreNamedField.
This way an HStoreNamedField instruction can never deoptimize
itself, which is another important step towards a working
store elimination.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
299373005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21509
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 27 May 2014 06:35:45 +0000 (06:35 +0000)]
Fix arm64 gc stress issue.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
306483002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21506
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 27 May 2014 04:19:18 +0000 (04:19 +0000)]
Relax register constraints for LMathSqrt.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
299423005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21505
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 26 May 2014 19:56:27 +0000 (19:56 +0000)]
Revert 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
297303004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21504
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 26 May 2014 19:43:01 +0000 (19:43 +0000)]
Buildfix for arm
TBR=jkummerow@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/
299353006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21503
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 26 May 2014 19:33:15 +0000 (19:33 +0000)]
Move OS::MemCopy and OS::MemMove out of platform to utils
Since both are jitted on some platforms and depend on codegen, they
don't belong to the platform abstraction. At the same time, I can't put
them to codegen.h, as this would introduce cyclic dependencies.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
302563004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21502
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 26 May 2014 15:18:45 +0000 (15:18 +0000)]
Move NumberOfProcessorsOnline from CPU to OS
It's really more an OS-level information, and this way the default
platform doesn't depend on CPU-level details
BUG=none
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
300713002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21501
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Mon, 26 May 2014 14:40:55 +0000 (14:40 +0000)]
MIPS: Skip write barriers in the fast case when setting up local context.
Port r21481 (5973b48)
Original commit message:
The FastNewContextStub always allocates in new space, so we don't
need to update the write barrier when copying the parameters to
the newly allocated context.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
302633002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21500
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 26 May 2014 13:59:24 +0000 (13:59 +0000)]
Reland "Customized support for feedback on calls to Array." and follow-up fixes.
Comparing one CallIC::State to another was not done correctly, leading to a failure to patch a CallIC when transitioning from monomorphic Array to megamorphic.
BUG=chromium:377198,chromium:377290
LOG=Y
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
305493003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21499
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 26 May 2014 13:34:23 +0000 (13:34 +0000)]
Send idle notification on ASAN builder for proper tear down.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
300003005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21498
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 26 May 2014 13:33:06 +0000 (13:33 +0000)]
More nuisance
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
297323004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21497
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 26 May 2014 13:31:55 +0000 (13:31 +0000)]
D8 should send idle notification even after the last run.
This, in combination with changes to the bot, should weed out false negatives.
R=marja@chromium.org
Review URL: https://codereview.chromium.org/
293393003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21496
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 26 May 2014 13:24:59 +0000 (13:24 +0000)]
Shut up VS
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
298073005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21495
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 26 May 2014 13:10:52 +0000 (13:10 +0000)]
Various extensions to types
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
296213005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21494
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 26 May 2014 12:58:55 +0000 (12:58 +0000)]
Remove high promotion mode.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
296413004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21493
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 26 May 2014 11:42:56 +0000 (11:42 +0000)]
Make 'name' property on functions configurable.
R=rossberg@chromium.org
BUG=v8:3333
LOG=N
Review URL: https://codereview.chromium.org/
296413003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21492
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 26 May 2014 11:40:34 +0000 (11:40 +0000)]
Actually fix the memory leak in debugger wrt promises.
In the fuzz test the debugger is not actually loaded...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
304453003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21491
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 26 May 2014 11:28:08 +0000 (11:28 +0000)]
Reland 21482 - "Merge v8globals.h and globals.h"
> BUG=none
> R=mstarzinger@chromium.org
> LOG=n
>
> Review URL: https://codereview.chromium.org/
293363006
BUG=none
TBR=mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
295373003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21490
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 26 May 2014 11:13:18 +0000 (11:13 +0000)]
Fix memory leak caused by fuzzing.
%DebugPromiseHandlePrologue expects to be followed up by %..Epilogue,
otherwise we get a leak.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
301553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21489
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Mon, 26 May 2014 11:04:32 +0000 (11:04 +0000)]
Fix mem leaks in tests & ScriptCompiler::CompileUnbound.
- Leak in test-parsing/DontRegressPreParserDataSizes
- Leak in test-api/EventLogging
- Leak in ScriptCompiler::CompileUnbound which won't happen during normal
operation, but exposed by test-apöi/CompiledWithInvalidCachedData.
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
302603002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21488
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 26 May 2014 09:36:13 +0000 (09:36 +0000)]
Always fully qualify the namespace to use in v8.h
Also, remove some unused methods.
BUG=none
R=dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
297223006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21487
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 26 May 2014 09:04:00 +0000 (09:04 +0000)]
Revert "Customized support for feedback on calls to Array." and follow-up fixes.
This reverts r21429, r21434, r21435, r21440, r21445.
BUG=chromium:377198
LOG=y
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
300693002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21484
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 26 May 2014 08:39:04 +0000 (08:39 +0000)]
Revert "Merge v8globals.h and globals.h"
Because of tree redness.
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/
306443002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21483
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 26 May 2014 08:15:13 +0000 (08:15 +0000)]
Merge v8globals.h and globals.h
BUG=none
R=mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
293363006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21482
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 26 May 2014 08:13:09 +0000 (08:13 +0000)]
Skip write barriers in the fast case when setting up local context.
The FastNewContextStub always allocates in new space, so we don't
need to update the write barrier when copying the parameters to
the newly allocated context.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
297203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21481
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 26 May 2014 08:07:02 +0000 (08:07 +0000)]
Make let variables fresh in each iteration of a for-loop.
BUG=v8:2198
LOG=N
TEST=mjsunit/harmony/block-for
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
292743009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21480
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 26 May 2014 08:05:04 +0000 (08:05 +0000)]
Fix memory leak in the debugger.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
297373002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21479
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 26 May 2014 07:29:39 +0000 (07:29 +0000)]
Some progress on translating toolchain.gypi to gn
BUG=none
R=brettw@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
299173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21478
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 26 May 2014 07:05:56 +0000 (07:05 +0000)]
Fix leak in debug mirror cache.
When fetching loaded scripts, mirror objects are created and cached.
If the cache is not cleared, it holds script objects alive.
This also fixes a minor issue with script unloading.
R=ulan@chromium.org
BUG=376534
LOG=N
Review URL: https://codereview.chromium.org/
296953005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21477
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 26 May 2014 06:41:21 +0000 (06:41 +0000)]
LoadUint32() doesn't need a scratch register.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
293363005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21476
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Fri, 23 May 2014 19:32:48 +0000 (19:32 +0000)]
MIPS: Fix r21470 “Reland r21442 Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
297093002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21471
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Fri, 23 May 2014 18:05:40 +0000 (18:05 +0000)]
MIPS: Reland r21442 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."
Port r21457 (8db39a8)
Original commit message:
This fixes inobject slack tracking for prototype inheritance pattern that uses closures.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
294973013
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21470
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 23 May 2014 16:37:27 +0000 (16:37 +0000)]
Introduce x87 port
Support x87-only platform (ia32 without SSE)
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
293743005
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21469
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alexandre.rames@arm.com [Fri, 23 May 2014 14:06:42 +0000 (14:06 +0000)]
Allow HPushArgument to handle more than one argument.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
296113008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21468
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 23 May 2014 14:02:08 +0000 (14:02 +0000)]
Fix representation inference for mutable double boxes.
R=jarin@chromium.org
BUG=v8:3307
TEST=mjsunit/regress/regress-3307
LOG=N
Review URL: https://codereview.chromium.org/
298723014
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21467
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Fri, 23 May 2014 14:01:17 +0000 (14:01 +0000)]
Check for cached transition to ExternalArray elements kind.
R=ishell@chromium.org, verwaest@chromium.org
BUG=v8:3337
LOG=Y
Review URL: https://codereview.chromium.org/
291193011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21466
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alexandre.rames@arm.com [Fri, 23 May 2014 13:15:07 +0000 (13:15 +0000)]
Provide a helper to generate multiple Lithium instructions for one Hydrogen instruction.
R=jkummerow@chromium.org, ulan@chromium.org
Review URL: https://codereview.chromium.org/
296993002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21465
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 23 May 2014 12:55:57 +0000 (12:55 +0000)]
Cleanup after inobject slack tracking improvement.
1) %SetExpectedNumberOfProperties() function removed.
2) Obsolete SharedFunctionInfo::BeforeVisitingPointers() removed.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
289283018
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21464
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 23 May 2014 11:48:40 +0000 (11:48 +0000)]
Skip dead blocks/instructions in store elimination.
Also improve tracing.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
297933002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21463
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 23 May 2014 11:25:23 +0000 (11:25 +0000)]
Tiny steps towards a non-local 'Merge removable simulates' phase.
Distinguish copying/merging of the state. Better tracing.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
299883003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21462
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00