platform/upstream/v8.git
10 years agoRemove PROHIBITS_OVERWRITING as it is subsumed by non-configurable properties.
verwaest@chromium.org [Mon, 2 Jun 2014 11:02:06 +0000 (11:02 +0000)]
Remove PROHIBITS_OVERWRITING as it is subsumed by non-configurable properties.

v8::DontDelete is set for Unforgeable properties, so just not setting PROHIBITS_OVERWRITING should be enough.

The secondary "feature" of not allowing accessors to be installed in extending objects is incorrect and confusing, given that it only applies to accessors but not to regular properties:
Object.defineProperty({__proto__:window}, "location", { value: 10 })
works where
Object.defineProperty({__proto__:window}, "location", { get: function() {} })
doesn't work.

LOG=y
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoClean up (Get|Set)Property(Attributes)WithFailedAccessChecks
verwaest@chromium.org [Mon, 2 Jun 2014 10:59:11 +0000 (10:59 +0000)]
Clean up (Get|Set)Property(Attributes)WithFailedAccessChecks

BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Handle HCheckInstanceType and HIsStringAndBranch in check elimination."
bmeurer@chromium.org [Mon, 2 Jun 2014 09:20:19 +0000 (09:20 +0000)]
Revert "Handle HCheckInstanceType and HIsStringAndBranch in check elimination."

This reverts commit r21593 for breaking the Webkit tests.

TBR=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHandle HCheckInstanceType and HIsStringAndBranch in check elimination.
bmeurer@chromium.org [Mon, 2 Jun 2014 08:51:25 +0000 (08:51 +0000)]
Handle HCheckInstanceType and HIsStringAndBranch in check elimination.

R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoInline Array.shift() fast path instead of using a code stub.
bmeurer@chromium.org [Mon, 2 Jun 2014 07:02:24 +0000 (07:02 +0000)]
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

10 years agoFix HPushArguments instruction.
bmeurer@chromium.org [Mon, 2 Jun 2014 06:42:56 +0000 (06:42 +0000)]
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

10 years agoRemove unused debug API.
yangguo@chromium.org [Mon, 2 Jun 2014 06:22:09 +0000 (06:22 +0000)]
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

10 years agoSimplify known successor block lowering.
bmeurer@chromium.org [Mon, 2 Jun 2014 05:33:35 +0000 (05:33 +0000)]
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

10 years agoBuildNumberToString: Check for undefined keys in the cache
jkummerow@chromium.org [Sat, 31 May 2014 14:11:48 +0000 (14:11 +0000)]
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

10 years agoInlined optimized runtime functions: expose Runtime versions for direct testing,...
jkummerow@chromium.org [Fri, 30 May 2014 17:07:38 +0000 (17:07 +0000)]
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

10 years agoHarden Runtime_FunctionSetPrototype, Isolate::PrintStack
jkummerow@chromium.org [Fri, 30 May 2014 17:04:40 +0000 (17:04 +0000)]
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

10 years agoHRor and HSar can deoptimize.
bmeurer@chromium.org [Fri, 30 May 2014 16:12:25 +0000 (16:12 +0000)]
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

10 years agoDon't push eax/rax before calling Runtime_Abort
verwaest@chromium.org [Fri, 30 May 2014 14:27:19 +0000 (14:27 +0000)]
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

10 years agoFix typo in test/fuzz-natives/testcfg.py
rmcilroy@chromium.org [Fri, 30 May 2014 09:31:44 +0000 (09:31 +0000)]
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

10 years agoMIPS: Refactor HType to get rid of various hacks.
plind44@gmail.com [Thu, 29 May 2014 13:40:51 +0000 (13:40 +0000)]
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

10 years agoX87: Refactor HType to get rid of various hacks.
weiliang.lin@intel.com [Thu, 29 May 2014 13:11:55 +0000 (13:11 +0000)]
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

10 years agoRefactor HType to get rid of various hacks.
bmeurer@chromium.org [Thu, 29 May 2014 04:13:50 +0000 (04:13 +0000)]
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

10 years agoSimplify, speed-up correct-context ObjectObserve calls
rafaelw@chromium.org [Wed, 28 May 2014 19:13:41 +0000 (19:13 +0000)]
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

10 years agoAllow microtasks to throw exceptions and handle them gracefully
adamk@chromium.org [Wed, 28 May 2014 18:40:04 +0000 (18:40 +0000)]
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

10 years agoFastCloneShallowArrayStub should not be used it the length of the array is too big...
ishell@chromium.org [Wed, 28 May 2014 16:00:52 +0000 (16:00 +0000)]
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

10 years agoSplit Distributivity test
rossberg@chromium.org [Wed, 28 May 2014 15:05:53 +0000 (15:05 +0000)]
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

10 years agoCheck that all properties are processed in NameDictionary::CopyEnumKeysTo.
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

10 years agoAdd new benchmark suite runner.
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

10 years agoUse non-copying sorting in test harness.
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

10 years agoFix deopt fuzzer after adding a no_sorting flag.
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

10 years agoFix lint complaints in objects.h
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

10 years agoAdd a dummy v8 target to BUILD.gn so we can depend on this from chrome
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

10 years agoCallIC::PrintState() was incorrectly declared as V8_FINAL.
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

10 years agoRefactor CallICStub to use a different stub for each customization.
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

10 years agoFix processing of partially initialized JSWeakCollection.
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

10 years agoFree memory in the mock array buffer allocator.
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

10 years agoAdd flag to test harness to stop sorting test cases.
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

10 years agoRefactor after break target computation.
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

10 years agoMove LiveEdit-related code.
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

10 years agoChanging the attributes of a data property implemented with
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

10 years agoAdd Seq[One,Two]ByteString to runtime test generator.
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

10 years agoForce inline runtime functions into its wrapper.
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

10 years agoCleanup GetPropertyWithCallback / SetPropertyWithCallback API
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

10 years agoDrop bogus assert after r21552.
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

10 years agoRepairs to FLAG_pretenure_call_new.
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

10 years agoMake incremental marker post-process JSWeakCollection.
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

10 years agoX87: Fix a typo in below CL
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

10 years agoX87: Small changes in preparation for Hydrogen-generated KeyedLoadGeneric
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

10 years agoX87: Convert String array index/length hash to BitField.
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

10 years agoX87: Merge Debugger and Debug.
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

10 years agoX87: Avoid HeapObject check in HStoreNamedField.
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

10 years agoExtract build configuration into a separate header and move it to the base lib
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

10 years agoReuse ZoneList memory if possible.
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

10 years agoFix path tracer test.
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

10 years agoX87: Skip write barriers in the fast case when setting up local context.
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

10 years agoMIPS: Fix improper register use in DoMinMax.
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

10 years agoMIPS: Convert String array index/length hash to BitField.
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

10 years agoFix check for empty type
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

10 years agoMIPS: Use TempDoubleRegister.
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

10 years agoReland 21529 - "Add a flag to d8 to invoke weak callbacks"
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

10 years agoSmall changes in preparation for Hydrogen-generated KeyedLoadGeneric
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

10 years agoRevert "Make 'name' property on functions configurable."
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

10 years agoConvert String array index/length hash to BitField
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

10 years agoRemove cpp hack to avoid link failures on Windows
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

10 years agoRevert "Add a flag to d8 to invoke weak callbacks"
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

10 years agoDrop unused includes from worker-thread.cc
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

10 years agoAdd a flag to d8 to invoke weak callbacks
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

10 years agoEstablish distributivity for type union & intersection
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

10 years agoReplace STATIC_CHECK with STATIC_ASSERT.
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

10 years agoSkip PathTracer test for now.
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

10 years agoMIPS: Avoid HeapObject check in HStoreNamedField.
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

10 years agoMerge Debugger and Debug.
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

10 years agoFix PathTracer.
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

10 years agoCache optimization status getter in mjsunit.js
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

10 years agoAdd defensive assert against a weak callback on an empty persistent.
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

10 years agoDo not break in native code (including non-builtin debugger code).
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

10 years agoReplace some calls to MemCopy with small constant sizes with memcpy
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

10 years agoDo not (eagerly) trigger exception in mjsunit.js.
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

10 years agoARM: use TempDoubleRegister
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

10 years agoRemove HType::HeapNumber from mutable heap numbers.
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

10 years agoConvert ElementsKind into a BitField
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

10 years agoFix the "PersistentValueMap" memory leak reported here:
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

10 years agoEscape % in SNPrintF call in pretenuring test.
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

10 years agoReland 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
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

10 years agoRemove global pretenuring mode.
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

10 years agoFix d8's interactive shell.
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

10 years agoAvoid HeapObject check in HStoreNamedField.
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

10 years agoFix arm64 gc stress issue.
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

10 years agoRelax register constraints for LMathSqrt.
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

10 years agoRevert 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
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

10 years agoBuildfix for arm
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

10 years agoMove OS::MemCopy and OS::MemMove out of platform to utils
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

10 years agoMove NumberOfProcessorsOnline from CPU to OS
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

10 years agoMIPS: Skip write barriers in the fast case when setting up local context.
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

10 years agoReland "Customized support for feedback on calls to Array." and follow-up fixes.
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

10 years agoSend idle notification on ASAN builder for proper tear down.
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

10 years agoMore nuisance
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

10 years agoD8 should send idle notification even after the last run.
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

10 years agoShut up VS
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

10 years agoVarious extensions to types
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

10 years agoRemove high promotion mode.
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

10 years agoMake 'name' property on functions configurable.
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

10 years agoActually fix the memory leak in debugger wrt promises.
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

10 years agoReland 21482 - "Merge v8globals.h and globals.h"
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

10 years agoFix memory leak caused by fuzzing.
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