Commit Graph

16748 Commits

Author SHA1 Message Date
bmeurer@chromium.org
7d14f34a1b Inline Array.shift() fast path instead of using a code stub.
TEST=mjsunit/array-shift,mjsunit/array-shift2,mjsunit/array-shift3
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/308793010

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 07:02:24 +00:00
bmeurer@chromium.org
f600133031 Fix HPushArguments instruction.
Use the zone that is passed to New() and fix implementation of
HPushArguments::AddInput() to match HPhi::AddInput().

R=jarin@chromium.org

Review URL: https://codereview.chromium.org/309763003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 06:42:56 +00:00
yangguo@chromium.org
50cba82cb9 Remove unused debug API.
R=yurys@chromium.org

Review URL: https://codereview.chromium.org/303693010

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 06:22:09 +00:00
bmeurer@chromium.org
a52f569f93 Simplify known successor block lowering.
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/308593003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 05:33:35 +00:00
jkummerow@chromium.org
2232c05b32 BuildNumberToString: Check for undefined keys in the cache
BUG=chromium:368114
LOG=y
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/302063004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-31 14:11:48 +00:00
jkummerow@chromium.org
f6a249c6d0 Inlined optimized runtime functions: expose Runtime versions for direct testing, skip Hydrogen versions
R=dslomov@chromium.org

Review URL: https://codereview.chromium.org/302703004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-30 17:07:38 +00:00
jkummerow@chromium.org
e82b97ab40 Harden Runtime_FunctionSetPrototype, Isolate::PrintStack
BUG=chromium:377209
LOG=n
R=dslomov@chromium.org

Review URL: https://codereview.chromium.org/306543002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-30 17:04:40 +00:00
bmeurer@chromium.org
5cd009a004 HRor and HSar can deoptimize.
BUG=v8:3359
LOG=y
R=ishell@chromium.org

Review URL: https://codereview.chromium.org/309483002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-30 16:12:25 +00:00
verwaest@chromium.org
f4aa3ab03d Don't push eax/rax before calling Runtime_Abort
Additionally delete the unused Throw(BailoutReason)

BUG=
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/308083006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21582 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-30 14:27:19 +00:00
rmcilroy@chromium.org
a8b2528d7d Fix typo in test/fuzz-natives/testcfg.py
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/305963002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-30 09:31:44 +00:00
plind44@gmail.com
d877929e38 MIPS: Refactor HType to get rid of various hacks.
Port r21578 (dcf13aa)

Original commit message:
- Move HType to it's own file.
- Add HType::HeapObject and some other useful types.
- Get rid of the broken and useless HType::NonPrimitive.
- Introduce HType::FromType() to convert from HeapType to HType.
- Also add unit tests for HType.
- Fix types in Crankshaft.

BUG=
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/301023004

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-29 13:40:51 +00:00
weiliang.lin@intel.com
232ddd9756 X87: Refactor HType to get rid of various hacks.
port r21578 (dcf13aa)

Original commit message:
- Move HType to it's own file.
- Add HType::HeapObject and some other useful types.
- Get rid of the broken and useless HType::NonPrimitive.
- Introduce HType::FromType() to convert from HeapType to HType.
- Also add unit tests for HType.
- Fix types in Crankshaft.

BUG=

Review URL: https://codereview.chromium.org/307903002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-29 13:11:55 +00:00
bmeurer@chromium.org
e9357a5e77 Refactor HType to get rid of various hacks.
- Move HType to it's own file.
- Add HType::HeapObject and some other useful types.
- Get rid of the broken and useless HType::NonPrimitive.
- Introduce HType::FromType() to convert from HeapType to HType.
- Also add unit tests for HType.
- Fix types in Crankshaft.

R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/300893003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-29 04:13:50 +00:00
rafaelw@chromium.org
74f92f21da Simplify, speed-up correct-context ObjectObserve calls
The original patch which ensured that Object.observe did allocations in the correct context regressed performance about 12%. This patch gets back most of that (about 11%) by simply returning the correct function which is then directly callable from JS, rather than by making the call from the runtime function. A side-effect is that their implementation is shorter.

LOG=Y
BUG=NONE
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/307543008

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 19:13:41 +00:00
adamk@chromium.org
20eeff9ae4 Allow microtasks to throw exceptions and handle them gracefully
If the embedder calls V8::TerminateExecution while we're running microtasks, bail out
and clear any pending microtasks.

All other exceptions are simply swallowed. No current Blink or V8 microtasks throw, this
just ensures something sane happens if another embedder decides to pass a throwing
microtask (or if ours unexpectedly throw due to, e.g., stack exhaustion).

BUG=371566
LOG=Y
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/294943009

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 18:40:04 +00:00
ishell@chromium.org
fdef9ac252 FastCloneShallowArrayStub should not be used it the length of the array is too big as it could eventually exceed the allowed size limit for manually folded allocations.
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/300283003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 16:00:52 +00:00
rossberg@chromium.org
0589ba7017 Split Distributivity test
TBR=verwaest@chromium.org
BUG=

Review URL: https://codereview.chromium.org/298253008

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 15:05:53 +00:00
ulan@chromium.org
776fcd685d 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
2014-05-28 13:36:25 +00:00
machenbach@chromium.org
509c15c799 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
2014-05-28 13:05:17 +00:00
mstarzinger@chromium.org
f1204c433b 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
2014-05-28 13:01:47 +00:00
machenbach@chromium.org
cbd242f707 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
2014-05-28 13:00:47 +00:00
danno@chromium.org
8669cce70a 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
2014-05-28 12:03:40 +00:00
jochen@chromium.org
7a52515db8 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
2014-05-28 11:48:55 +00:00
mvstanton@chromium.org
589af5aa4d 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
2014-05-28 11:45:09 +00:00
mvstanton@chromium.org
54313c8a0f 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
2014-05-28 11:29:55 +00:00
mstarzinger@chromium.org
1084ead1d9 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
2014-05-28 11:17:02 +00:00
yangguo@chromium.org
1a26ea6a02 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
2014-05-28 11:00:11 +00:00
mstarzinger@chromium.org
18ac428252 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
2014-05-28 10:49:10 +00:00
yangguo@chromium.org
e84bf720f9 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
2014-05-28 10:41:13 +00:00
yangguo@chromium.org
eaf8718290 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
2014-05-28 10:21:46 +00:00
mvstanton@chromium.org
8c54a373dd 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
2014-05-28 09:58:27 +00:00
mstarzinger@chromium.org
fd21e8f56f 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
2014-05-28 09:52:38 +00:00
yangguo@chromium.org
c3595595fb 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
2014-05-28 09:49:53 +00:00
verwaest@chromium.org
6b712555dd 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
2014-05-28 09:29:27 +00:00
mstarzinger@chromium.org
52cfd35fb2 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
2014-05-28 09:20:03 +00:00
mvstanton@chromium.org
5f7fed0134 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
2014-05-28 08:39:33 +00:00
mstarzinger@chromium.org
3812677b42 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
2014-05-28 08:35:16 +00:00
weiliang.lin@intel.com
f10204b56a 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
2014-05-28 08:21:43 +00:00
weiliang.lin@intel.com
f6ac5ae69c 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
2014-05-28 08:19:43 +00:00
weiliang.lin@intel.com
0f2f60bd37 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
2014-05-28 08:18:39 +00:00
weiliang.lin@intel.com
d5c4ad309e 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
2014-05-28 08:17:21 +00:00
weiliang.lin@intel.com
2312c8abdf 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
2014-05-28 08:16:11 +00:00
jochen@chromium.org
6e3ffe1ca1 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
2014-05-28 08:07:18 +00:00
bmeurer@chromium.org
1102eeafe4 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
2014-05-28 08:06:14 +00:00
yangguo@chromium.org
5599b3a743 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
2014-05-28 06:42:01 +00:00
weiliang.lin@intel.com
716be75bd0 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
2014-05-28 04:56:28 +00:00
plind44@gmail.com
382619d3c0 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
2014-05-27 23:54:07 +00:00
plind44@gmail.com
47664dc108 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
2014-05-27 17:11:33 +00:00
rossberg@chromium.org
5192a0d0d9 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
2014-05-27 17:07:39 +00:00
plind44@gmail.com
a63ea2d3a3 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
2014-05-27 17:06:40 +00:00