platform/upstream/v8.git
10 years agoES6: Add Object.getOwnPropertySymbols
rossberg@chromium.org [Thu, 9 Jan 2014 15:57:30 +0000 (15:57 +0000)]
ES6: Add Object.getOwnPropertySymbols

http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.getownpropertysymbols

This allows you to get the symbols used as property keys for an object.

  var object = {};
  var sym = Symbol();
  object[sym] = 42;
  assert(Object.getOwnPropertySymbols(object)[0] === sym);

This is only available with --harmony-symbols

BUG=v8:3049
R=rossberg@chromium.org, rossberg
LOG=Y

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

Patch from Erik Arvidsson <arv@chromium.org>.

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

10 years agoSkip back edge creation for "do ... while(false)" loops
jkummerow@chromium.org [Thu, 9 Jan 2014 15:20:25 +0000 (15:20 +0000)]
Skip back edge creation for "do ... while(false)" loops

Drive-by fix: Fix disassembling "prefetch" instruction on ia32

R=titzer@chromium.org

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

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

10 years agoArray constructor can be simplified by loading context from JSFunction.
mvstanton@chromium.org [Thu, 9 Jan 2014 15:07:23 +0000 (15:07 +0000)]
Array constructor can be simplified by loading context from JSFunction.

BUG=
R=verwaest@chromium.org

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

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

10 years agoFix d8 DebugMessageDetails and DebugCommandToJSONRequest
jochen@chromium.org [Thu, 9 Jan 2014 13:57:09 +0000 (13:57 +0000)]
Fix d8 DebugMessageDetails and DebugCommandToJSONRequest

They both returned zapped handles. Use an EscapableHandleScope and
properly return handles

BUG=none
R=jkummerow@chromium.org
LOG=n

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

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

10 years agoBe sure to also register the BinaryOpWithAllocationSiteStub.
bmeurer@chromium.org [Thu, 9 Jan 2014 13:22:18 +0000 (13:22 +0000)]
Be sure to also register the BinaryOpWithAllocationSiteStub.

R=hpayer@chromium.org

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

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

10 years agoPromises: some adaptations to spec
rossberg@chromium.org [Thu, 9 Jan 2014 13:00:56 +0000 (13:00 +0000)]
Promises: some adaptations to spec

- Rename Promise.{resolved,rejected,deferred} to Promise.{resolve,reject,defer}
- Rename Promise.one to Promise.race
- Make all failures asynchronous, EXCEPT type errors for resolver
- Disallow non-construct call to Promise constructor
- Don't make combinators go through public this.defer

Also, don't bother using IsCallable.

R=dslomov@chromium.org, yhirano@chromium.org
BUG=

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

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

10 years agoFix invalid debug code assertion on x64.
bmeurer@chromium.org [Thu, 9 Jan 2014 12:41:05 +0000 (12:41 +0000)]
Fix invalid debug code assertion on x64.

R=hpayer@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.24.14.
machenbach@chromium.org [Thu, 9 Jan 2014 10:39:27 +0000 (10:39 +0000)]
Prepare push to trunk.  Now working on version 3.24.14.

R=rossberg@chromium.org
TBR=rossberg@chromium.org

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

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

10 years agoAdd Isolate parameter to HandleScope::NumberOfHandles.
svenpanne@chromium.org [Thu, 9 Jan 2014 10:37:15 +0000 (10:37 +0000)]
Add Isolate parameter to HandleScope::NumberOfHandles.

LOG=y
BUG=324225
R=mstarzinger@chromium.org

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

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

10 years agoFunctionLiteral has work to do in the typing phase.
mvstanton@chromium.org [Thu, 9 Jan 2014 09:00:19 +0000 (09:00 +0000)]
FunctionLiteral has work to do in the typing phase.

In crankshaft, we searched un-optimized code for a SharedFunctionInfo
that matches the FunctionLiteral we are processing. Ideally, this
work should be done in the typing phase.

R=jkummerow@chromium.org

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

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

10 years agoConvert some ifdefs to use their V8_OS_* macros equivalents.
bmeurer@chromium.org [Thu, 9 Jan 2014 07:57:11 +0000 (07:57 +0000)]
Convert some ifdefs to use their V8_OS_* macros equivalents.

R=bmeurer@chromium.org

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

Patch from Thiago Farina <tfarina@chromium.org>.

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

10 years agoARM: Implement sqrt in inline assembly.
bmeurer@chromium.org [Thu, 9 Jan 2014 07:47:58 +0000 (07:47 +0000)]
ARM: Implement sqrt in inline assembly.

Call VSQRT directly to avoid the tiniest (1ulp) precision
error that occurs in the system-supplied sqrt on QNX/ARM.

All precision tests in SunSpider are now passing on this platform.

BUG=
R=bmeurer@chromium.org

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

Patch from Cosmin Truta <ctruta@gmail.com>.

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

10 years agoMinor Object.observe optimizations
rafaelw@chromium.org [Wed, 8 Jan 2014 20:25:08 +0000 (20:25 +0000)]
Minor Object.observe optimizations

This patch includes the follow two minor optimizations:

1) When Object.unobserve-ing, instead of deleting from changeObservers, set the index position to null, and null-check when iterating elsewhere
2) Isolate creation of null-proto objects inside a utility function

These former (deleting) was clearly showing up in d8 --prof traces and the later was preventing optimization of containing functions because of non-standard literal. Combined, on MDV construction/teardown benchmark, saves about 10%.

Note that this patch also cleans up retrieving objectInfo inside a utility function.

R=rossberg@chromium.org, rossberg
BUG=

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

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

10 years agoRoll gyp 1830:1831
jochen@chromium.org [Wed, 8 Jan 2014 15:54:46 +0000 (15:54 +0000)]
Roll gyp 1830:1831

1831 - Don't try to match mixed source/dir gyp order on MSVS prior to 2010

BUG=none
LOG=n
R=machenbach@chromium.org

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

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

10 years agoRemoved a few internal uses of Isolate::Current.
svenpanne@chromium.org [Wed, 8 Jan 2014 14:44:30 +0000 (14:44 +0000)]
Removed a few internal uses of Isolate::Current.

R=ulan@chromium.org

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

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

10 years agoAdd 'LOG=N' line to merge-to-branch.sh to avoid presubmit errors when merging to...
ulan@chromium.org [Wed, 8 Jan 2014 14:04:14 +0000 (14:04 +0000)]
Add 'LOG=N' line to merge-to-branch.sh to avoid presubmit errors when merging to branch.

R=machenbach@chromium.org

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

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

10 years agoRemoved v8::AssertNoGCScope.
svenpanne@chromium.org [Wed, 8 Jan 2014 12:22:42 +0000 (12:22 +0000)]
Removed v8::AssertNoGCScope.

Everything was private, so no object could ever be constructed, which
implies that nobody uses it. Furthermore, it contained a TODO and was
overly complicated, an #ifdef-less simple pimpl idiom would have been
enough.

LOG=y
R=bmeurer@chromium.org

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

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

10 years agoCleanup SetUpMath to use InstallConstants helper.
mstarzinger@chromium.org [Wed, 8 Jan 2014 11:55:53 +0000 (11:55 +0000)]
Cleanup SetUpMath to use InstallConstants helper.

R=rossberg@chromium.org

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

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

10 years agoRemove redundant NULL check.
bmeurer@chromium.org [Wed, 8 Jan 2014 11:40:56 +0000 (11:40 +0000)]
Remove redundant NULL check.

R=mvstanton@chromium.org

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

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

10 years agoRoll gyp 1806:1830
jochen@chromium.org [Wed, 8 Jan 2014 10:58:25 +0000 (10:58 +0000)]
Roll gyp 1806:1830

1830 fixes Makefile generation for v8

BUG=none
LOG=n
R=machenbach@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.24.13.
ulan@chromium.org [Wed, 8 Jan 2014 10:55:04 +0000 (10:55 +0000)]
Prepare push to trunk.  Now working on version 3.24.13.

R=machenbach@chromium.org
TBR=machenbach@chromium.org

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

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

10 years agoCorrectly handle instances without elements in polymorphic keyed load/store.
ulan@chromium.org [Wed, 8 Jan 2014 09:57:28 +0000 (09:57 +0000)]
Correctly handle instances without elements in polymorphic keyed load/store.

BUG=331416
TEST=mjsunit/regress/regress-331416.js
LOG=Y
R=verwaest@chromium.org

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

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

10 years agoFix selection of popular pages in store buffer.
ulan@chromium.org [Wed, 8 Jan 2014 09:49:37 +0000 (09:49 +0000)]
Fix selection of popular pages in store buffer.

BUG=331444
TEST=mjsunit/regress/regress-331444.js
LOG=Y
R=hpayer@chromium.org

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

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

10 years agoFix d8's Shell::ReadBuffer after r18227
jkummerow@chromium.org [Wed, 8 Jan 2014 09:48:38 +0000 (09:48 +0000)]
Fix d8's Shell::ReadBuffer after r18227

BUG=v8:3085
LOG=N
R=jochen@chromium.org

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

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

10 years agoAdapt Webkit test expectations to r18480.
mstarzinger@chromium.org [Wed, 8 Jan 2014 09:30:49 +0000 (09:30 +0000)]
Adapt Webkit test expectations to r18480.

R=jkummerow@chromium.org
LOG=N
BUG=v8:3082
TEST=webkit/fast/js/Object-getOwnPropertyNames

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

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

10 years agoUpgrade Number constructor to ES6.
mstarzinger@chromium.org [Wed, 8 Jan 2014 09:09:49 +0000 (09:09 +0000)]
Upgrade Number constructor to ES6.

Add missing constants, predicates and functions to the Number
constructor to have it offer what ES6 now specifies.

That is, extend it with:

 * isInteger(), isSafeInteger()
 * parseInt(), parseFloat()
 * EPSILON, MIN_SAFE_INTEGER, MAX_SAFE_INTEGER

LOG=N
R=mstarzinger@chromium.org
BUG=v8:3082

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

Patch from Sigbjorn Finne <sigbjornf@opera.com>.

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

10 years agoRefactor loading a pointer into a register instruction for X64
haitao.feng@intel.com [Wed, 8 Jan 2014 07:02:02 +0000 (07:02 +0000)]
Refactor loading a pointer into a register instruction for X64

R=verwaest@chromium.org

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

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

10 years agoPrepare removal of ObjectTemplate::New without Isolate parameter.
svenpanne@chromium.org [Wed, 8 Jan 2014 06:53:31 +0000 (06:53 +0000)]
Prepare removal of ObjectTemplate::New without Isolate parameter.

LOG=y
BUG=324225
R=ulan@chromium.org

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

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

10 years agoUse PushReturnAddressFrom and PopReturnAddressTo to manipulate return address for X64
haitao.feng@intel.com [Wed, 8 Jan 2014 04:31:31 +0000 (04:31 +0000)]
Use PushReturnAddressFrom and PopReturnAddressTo to manipulate return address for X64

R=dcarney@chromium.org

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

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

10 years agoPolymorphic named calls optimized for the case of repetitive call targets.
ishell@chromium.org [Tue, 7 Jan 2014 16:59:42 +0000 (16:59 +0000)]
Polymorphic named calls optimized for the case of repetitive call targets.

R=verwaest@chromium.org

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

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

10 years agoMIPS: Reland v8:18458 "Load the global proxy from the context of the target function."
plind44@gmail.com [Tue, 7 Jan 2014 16:16:20 +0000 (16:16 +0000)]
MIPS: Reland v8:18458 "Load the global proxy from the context of the target function."

Port r18462 (7024b6d)

BUG=
R=plind44@gmail.com

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

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

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

10 years agoRemove flag track-allocation-sites.
mvstanton@chromium.org [Tue, 7 Jan 2014 15:58:25 +0000 (15:58 +0000)]
Remove flag track-allocation-sites.

The flag has been on in the build for ~9 months, and we aren't likely to turn it off. The only customer of the flag is a set of tests that want to verify transitioning behavior in isolation. This CL removes the flag and updates those tests to get what they want without the flag.

R=verwaest@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=18385

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

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

10 years agoFix some out-of-line constant pool garbage collection bugs.
rmcilroy@chromium.org [Tue, 7 Jan 2014 15:53:54 +0000 (15:53 +0000)]
Fix some out-of-line constant pool garbage collection bugs.

This CL fixes some bugs in the out of line constant pool implementation when
constant pools are GCed.  Namely:
  - Push/Pop pp register in exit frames and VisitPointer on it to ensure it is
    updated if the ConstantPoolArray is moved by GC.
  - Mark pp as a SafePoint Register for optimized functions.
  - Ensure that StandardFrame::IterateExpressions also iterates over the
    constant pool pointer in the stackframe.
  - Fix calculation of last_ptr_offset in ConstantPoolArray body iterator.
  - Make ensure that CONSTANT_POOL_ARRAY_TYPE is a pointer object InstanceType.

R=ulan@chromium.org

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

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

10 years agoAdd better remote control to push-to-trunk auto-roll script.
machenbach@chromium.org [Tue, 7 Jan 2014 15:23:48 +0000 (15:23 +0000)]
Add better remote control to push-to-trunk auto-roll script.

This CL enables controlling the automatic push-to-trunk via a settings file .auto-roll in the home directory or via the v8 status app message.

Pushes can be disabled by setting .auto-roll to {"enable_auto_roll": false} or by adding the phrase "nopush" or "no push" to http://v8-status.appspot.com/.

R=ulan@chromium.org

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

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

10 years agoAdd a bit to HObjectAccess to encode immutable fields.
titzer@chromium.org [Tue, 7 Jan 2014 14:42:51 +0000 (14:42 +0000)]
Add a bit to HObjectAccess to encode immutable fields.

BUG=
R=ishell@chromium.org

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

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

10 years agoFixed Lithium environment generation bug for captured objects (created
jarin@chromium.org [Tue, 7 Jan 2014 14:36:26 +0000 (14:36 +0000)]
Fixed Lithium environment generation bug for captured objects (created
by escape analysis). Added several tests that expose the bug.

Summary:
LCodegen::AddToTranslation assumes that Lithium environments are
generated by depth-first traversal, but LChunkBuilder::CreateEnvironment
was generating them in breadth-first fashion. This fixes the
CreateEnvironment to traverse the captured objects depth-first.

Note:
It might be worth considering representing LEnvironment by a list
with the same order as the serialized translation representation
rather than having two lists with a subtle relationship between
them (and then serialize in a slightly different order again).

R=titzer@chromium.org, mstarzinger@chromium.org
LOG=N
BUG=

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

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

10 years agoFix for issue 3071: A zombie AlloctionSite must clear pointer fields.
mvstanton@chromium.org [Tue, 7 Jan 2014 14:27:31 +0000 (14:27 +0000)]
Fix for issue 3071: A zombie AlloctionSite must clear pointer fields.

BUG=v8:3071
R=yangguo@chromium.org
LOG=N

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

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

10 years agoWe need to know if a load, store or call IC is assumed
mvstanton@chromium.org [Tue, 7 Jan 2014 14:14:34 +0000 (14:14 +0000)]
We need to know if a load, store or call IC is assumed
to be on the global object. Previously, this information
was stored in RelocInfo. A more logical place for this kind
of structural information is ExtraICState. Storing it there
makes it easier for us to gather type feedback from these
sites too.

R=verwaest@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.24.12.
rossberg@chromium.org [Tue, 7 Jan 2014 14:10:08 +0000 (14:10 +0000)]
Prepare push to trunk.  Now working on version 3.24.12.

R=ulan@chromium.org
TBR=ulan@chromium.org
BUG=

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

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

10 years agoMake -Wshadow happy.
svenpanne@chromium.org [Tue, 7 Jan 2014 13:28:33 +0000 (13:28 +0000)]
Make -Wshadow happy.

LOG=y
BUG=v8:3073
R=bmeurer@chromium.org

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

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

10 years agoReland v8:18458 "Load the global proxy from the context of the target function."
verwaest@chromium.org [Tue, 7 Jan 2014 10:46:39 +0000 (10:46 +0000)]
Reland v8:18458 "Load the global proxy from the context of the target function."

BUG=
R=bmeurer@chromium.org

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

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

10 years agoRevert "Load the global proxy from the context of the target function."
rossberg@chromium.org [Tue, 7 Jan 2014 09:55:25 +0000 (09:55 +0000)]
Revert "Load the global proxy from the context of the target function."

This reverts commit https://code.google.com/p/v8/source/detail?r=18458, since it exhibits a bug that breaks some tests.

TBR=verwaest@chromium.org
BUG=

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

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

10 years agoRemove generated makefiles on linux when running gyp_v8
jochen@chromium.org [Tue, 7 Jan 2014 09:09:24 +0000 (09:09 +0000)]
Remove generated makefiles on linux when running gyp_v8

BUG=331475
R=machenbach@chromium.org
LOG=n

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

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

10 years agoRemove socket.h include from debug.h
bmeurer@chromium.org [Tue, 7 Jan 2014 08:27:53 +0000 (08:27 +0000)]
Remove socket.h include from debug.h

Looks like there is no Socket usage in debug.h, so we don't need to
include it there.

TEST=in static build, ninja -C out/Debug/ d8
R=bmeurer@chromium.org

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

Patch from Thiago Farina <tfarina@chromium.org>.

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

10 years agoLoad the global proxy from the context of the target function.
verwaest@chromium.org [Tue, 7 Jan 2014 08:21:17 +0000 (08:21 +0000)]
Load the global proxy from the context of the target function.

BUG=
R=dcarney@chromium.org

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

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

10 years agoFix building d8 with readline support due to API changes
bmeurer@chromium.org [Tue, 7 Jan 2014 07:53:18 +0000 (07:53 +0000)]
Fix building d8 with readline support due to API changes

After recent API changes, d8 will fail to build when passing
"console=readline". This patch makes d8 work with readline again.

R=bmeurer@chromium.org

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

Patch from Adrian Perez de Castro <aperez@igalia.com>.

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

10 years agosilence has_changed_character may be used uninitialized warning
bmeurer@chromium.org [Sat, 4 Jan 2014 18:20:50 +0000 (18:20 +0000)]
silence has_changed_character may be used uninitialized warning

Some slightly older versions of gcc aren't clever enough to figure out
that this variable won't be used if the return value from the function
that initializes it is false.  Tested with gcc 4.5.1.

R=yangguo@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.24.11.
ulan@chromium.org [Fri, 3 Jan 2014 15:50:51 +0000 (15:50 +0000)]
Prepare push to trunk.  Now working on version 3.24.11.

R=verwaest@chromium.org
TBR=verwaest@chromium.org

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

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

10 years agoRevert r18451 "Revert r18449 "Reland r18383: More API cleanup." and r18450 "Unbreak...
ulan@chromium.org [Fri, 3 Jan 2014 14:31:17 +0000 (14:31 +0000)]
Revert r18451 "Revert r18449 "Reland r18383: More API cleanup." and r18450 "Unbreak build."" since necessary WebKit changes are rolled in Chromium.

TBR=svenpanne@chromium.org
BUG=

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

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

10 years agoRevert r18449 "Reland r18383: More API cleanup." and r18450 "Unbreak build."
ulan@chromium.org [Fri, 3 Jan 2014 14:13:21 +0000 (14:13 +0000)]
Revert r18449 "Reland r18383: More API cleanup." and r18450 "Unbreak build."
because of broken WebKit bots.

TBR=svenpanne@chromium.org

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

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

10 years agoUnbreak build.
svenpanne@chromium.org [Fri, 3 Jan 2014 12:21:48 +0000 (12:21 +0000)]
Unbreak build.

Test/update/commit race condition... >:-(

TBR=ulan@chromium.org

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

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

10 years agoReland r18383: More API cleanup.
svenpanne@chromium.org [Fri, 3 Jan 2014 11:56:33 +0000 (11:56 +0000)]
Reland r18383: More API cleanup.

* Removed String::Empty, Number::New, Integer::New, Integer::NewFromUnsigned, FunctionTemplate::New and Object::New without Isolate* parameter.

* Removed Integer::New and Integer::NewUnsigned with weird argument order.

Chrome CLs matching this change have been landed.

TBR=dcarney@chromium.org
LOG=y
BUG=324225

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

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

10 years agoAvoid duplication of a hidden & inherited prototype's properties.
jochen@chromium.org [Fri, 3 Jan 2014 11:19:13 +0000 (11:19 +0000)]
Avoid duplication of a hidden & inherited prototype's properties.

In Runtime_GetLocalPropertyNames(), the hidden prototypes of an object
are also consulted when deriving the property name set. However, if
given a function object and its template was inherited from the
template of one of its hidden prototypes, that hidden prototype's
property accessors will be present on the object already. Unwanted
duplicates will therefore appear.

Hence, go through the property names that the hidden prototypes
contribute and remove any already occurring ones.

Assumed to be a rare constellation, so the cost of this extra pass is
considered acceptable.

LOG=N
R=dcarney@chromium.org, jochen@chromium.org, rossberg@chromium.org
BUG=269562

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

Patch from Sigbjorn Finne <sof@opera.com>.

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

10 years agoMIPS: Reland "Allocation site support for monomorphic StringAdds in BinaryOps".
plind44@gmail.com [Thu, 2 Jan 2014 21:38:09 +0000 (21:38 +0000)]
MIPS: Reland "Allocation site support for monomorphic StringAdds in BinaryOps".

Port r18444 (856f92e)

BUG=
R=plind44@gmail.com

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

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

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

10 years agoMIPS: Avoid unnecessary branches in array constructor stubs.
plind44@gmail.com [Thu, 2 Jan 2014 16:53:51 +0000 (16:53 +0000)]
MIPS: Avoid unnecessary branches in array constructor stubs.

Port r18427 (4db045a)

BUG=
R=plind44@gmail.com

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

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

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

10 years agoARM: Optimize truncating division and fix sim
m.m.capewell@googlemail.com [Thu, 2 Jan 2014 16:36:21 +0000 (16:36 +0000)]
ARM: Optimize truncating division and fix sim

Optimize code generated for DivI Lithium instruction when handling division
where the result is int32. Also, fix the ARM simulator to give the correct
answer for kMinInt / -1.

TEST=Division tests added to test-assembler-arm.cc
BUG=
R=ulan@chromium.org

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

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

10 years agoReland "Allocation site support for monomorphic StringAdds in BinaryOps".
bmeurer@chromium.org [Thu, 2 Jan 2014 15:31:27 +0000 (15:31 +0000)]
Reland "Allocation site support for monomorphic StringAdds in BinaryOps".

R=ulan@chromium.org

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

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

10 years agoMIPS: Fix loading of global object in LWrapReceiver.
palfia@homejinni.com [Thu, 2 Jan 2014 15:20:55 +0000 (15:20 +0000)]
MIPS: Fix loading of global object in LWrapReceiver.

Port r18421 (39719ed)

Original commit message:
Since r16993 the cp register is handled by registers allocator,
and we cannot assume that the cp always contains the context.

BUG=318420
LOG=Y
TEST=test/mjsunit/regress/regress-318420.js
R=ulan@chromium.org

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

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

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

10 years agoRevert r18435 "... Roll gyp 1685:1806"
jochen@chromium.org [Thu, 2 Jan 2014 15:13:53 +0000 (15:13 +0000)]
Revert r18435 "... Roll gyp 1685:1806"

TBR=ulan@chromium.org
LOG=n
BUG=none

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

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

10 years agoDon't bail out of the cpplint cache is broken.
jochen@chromium.org [Thu, 2 Jan 2014 15:06:27 +0000 (15:06 +0000)]
Don't bail out of the cpplint cache is broken.

Instead, try to remove it.

BUG=none
R=ulan@chromium.org
LOG=n

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

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

10 years agoSet the gyp DEPTH variable as relative path.
jochen@chromium.org [Thu, 2 Jan 2014 14:35:32 +0000 (14:35 +0000)]
Set the gyp DEPTH variable as relative path.

After r18439, it's an absolute variable which confuses gy

LOG=n
R=ulan@chromium.org
BUG=none

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

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

10 years agoDon't modify the PWD in gyp_v8
jochen@chromium.org [Thu, 2 Jan 2014 13:50:50 +0000 (13:50 +0000)]
Don't modify the PWD in gyp_v8

When running gyp in parallel mode (soon the default), we need to be able
to find the script by looking at the path relative to the PWD when the
script was originally invoked.

Instead of changing the directory and relying on relative paths, just
use absolute paths (as gyp_chromium does).

BUG=v8:2973
R=ulan@chromium.org
LOG=n

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

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

10 years agoPrepare push to trunk. Now working on version 3.24.10.
ulan@chromium.org [Thu, 2 Jan 2014 12:10:34 +0000 (12:10 +0000)]
Prepare push to trunk.  Now working on version 3.24.10.

R=bmeurer@chromium.org
TBR=bmeurer@chromium.org

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

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

10 years agoRevert "Revert r19394 - "Revert r18390 - "Roll gyp 1685:1806""" because of broken...
ulan@chromium.org [Thu, 2 Jan 2014 10:49:48 +0000 (10:49 +0000)]
Revert "Revert r19394 - "Revert r18390 - "Roll gyp 1685:1806""" because of broken windows bots.

R=jochen@chromium.org
TBR=jochen@chromium.org

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

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

10 years agoRevert "Fix compilation with C++11." and "Allocation site support for monomorphic...
bmeurer@chromium.org [Thu, 2 Jan 2014 10:38:45 +0000 (10:38 +0000)]
Revert "Fix compilation with C++11." and "Allocation site support for monomorphic StringAdds in BinaryOps.".

This reverts commit r18431 and r18432 for breaking
the Linux nosnapshot build.

R=ulan@chromium.org

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

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

10 years agoRevert r19394 - "Revert r18390 - "Roll gyp 1685:1806""
jochen@chromium.org [Thu, 2 Jan 2014 09:58:06 +0000 (09:58 +0000)]
Revert r19394 - "Revert r18390 - "Roll gyp 1685:1806""

Also include a gyp_v8.py wrapper for new import rules.

> Doesn't work with python2.7 - I tested with 2.6 :-/
>
> BUG=none
> TBR=hpayer@chromium.org
> LOG=n

BUG=none
LOG=n
R=bmeurer@chromium.org

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

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

10 years agoFix compilation with C++11.
bmeurer@chromium.org [Thu, 2 Jan 2014 09:28:53 +0000 (09:28 +0000)]
Fix compilation with C++11.

TBR=mvstanton@chromium.org

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

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

10 years agoAllocation site support for monomorphic StringAdds in BinaryOps.
bmeurer@chromium.org [Thu, 2 Jan 2014 09:17:52 +0000 (09:17 +0000)]
Allocation site support for monomorphic StringAdds in BinaryOps.

R=mvstanton@chromium.org

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

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

10 years agoAdd support for the QNX operating system.
bmeurer@chromium.org [Thu, 2 Jan 2014 07:04:05 +0000 (07:04 +0000)]
Add support for the QNX operating system.

This patch contains contributions from the following members of the
BlackBerry Web Technologies team:

Eli Fidler <efidler@blackberry.com>
Konrad Piascik <kpiascik@blackberry.com>
Jeff Rogers <jrogers@blackberry.com>
Cosmin Truta <ctruta@blackberry.com>
Peter Wang <peter.wang@torchmobile.com.cn>
Xiaobo Wang <xiaobwang@blackberry.com>
Ming Xie <mxie@blackberry.com>
Leo Yang <leoyang@blackberry.com>

R=bmeurer@chromium.org, jkummerow@chromium.org

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

Patch from Cosmin Truta <ctruta@blackberry.com>.

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

10 years ago[arm] Drop useless branches in full and lithium codegen.
bmeurer@chromium.org [Thu, 2 Jan 2014 06:49:09 +0000 (06:49 +0000)]
[arm] Drop useless branches in full and lithium codegen.

R=svenpanne@chromium.org

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

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

10 years agoMake it possible to assert that certain instance types are compatible wrt HAllocate.
bmeurer@chromium.org [Thu, 2 Jan 2014 06:26:44 +0000 (06:26 +0000)]
Make it possible to assert that certain instance types are compatible wrt HAllocate.

Turns clear_next_map_word_ into a flag and adds a new method
CompatibleInstanceTypes(). This is used in BuildUncheckedStringAdd()
to ASSERT that there's no difference wrt. HAllocate in using
CONS_STRING_TYPE vs CONS_ASCII_STRING_TYPE.

R=mvstanton@chromium.org

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

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

10 years ago[arm] Avoid unnecessary branches in array constructor stubs.
bmeurer@chromium.org [Thu, 2 Jan 2014 06:18:02 +0000 (06:18 +0000)]
[arm] Avoid unnecessary branches in array constructor stubs.

R=ulan@chromium.org

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

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

10 years ago[arm] Use single instruction tail call sequence.
bmeurer@chromium.org [Thu, 2 Jan 2014 06:10:58 +0000 (06:10 +0000)]
[arm] Use single instruction tail call sequence.

R=ulan@chromium.org

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

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

10 years agoOut-of-line constant pool on Arm: Stage 3 - Set Constant Pool Pointer on Function...
rmcilroy@chromium.org [Mon, 30 Dec 2013 11:23:59 +0000 (11:23 +0000)]
Out-of-line constant pool on Arm: Stage 3 - Set Constant Pool Pointer on Function Entry

Third stage of implementing an out-of-line constant pool for Arm.  This CL adds
a ConstantPool field to Code objects and initializes the pp register on
function entry, and saves the pp register on the stack frame. The ConstantPool
object is always empty and is unused currently.

R=ulan@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.24.9.
ulan@chromium.org [Mon, 30 Dec 2013 09:23:56 +0000 (09:23 +0000)]
Prepare push to trunk.  Now working on version 3.24.9.

R=jarin@chromium.org
TBR=jarin@chromium.org

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

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

10 years agoARM: fix loading of global object in LWrapReceiver.
ulan@chromium.org [Fri, 27 Dec 2013 14:38:00 +0000 (14:38 +0000)]
ARM: fix loading of global object in LWrapReceiver.

Since r16993 the cp register is handled by registers allocator,
and we cannot assume that the cp always contains the context.

BUG=318420
LOG=Y
TEST=test/mjsunit/regress/regress-318420.js
R=verwaest@chromium.org

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

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

10 years agoFix a race between concurrent recompilation and OSR.
ulan@chromium.org [Fri, 27 Dec 2013 09:22:56 +0000 (09:22 +0000)]
Fix a race between concurrent recompilation and OSR.

If concurrent recompilation finishes before OSR, then OSR replaces
the old optimized code without evicting it from the optimized code map.

New functions can get the old optimized code from the optimized code map,
but the old code could be already deoptimized.

BUG=330046
TEST=test/mjsunit/regress-330046.js
LOG=Y
R=yangguo@chromium.org

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

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

10 years ago[Sheriff] Revert "Sync cygwin version with chromium"
machenbach@chromium.org [Thu, 26 Dec 2013 21:24:31 +0000 (21:24 +0000)]
[Sheriff] Revert "Sync cygwin version with chromium"

This reverts commit r18392 for breaking python compatibility on windows bots.

BUG=
TBR=yangguo@chromium.org

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

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

10 years agoFix GCMole issue.
yangguo@chromium.org [Tue, 24 Dec 2013 08:03:03 +0000 (08:03 +0000)]
Fix GCMole issue.

TBR=ulan@chromium.org

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

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

10 years agoTurn off concurrent sweeping.
yangguo@chromium.org [Mon, 23 Dec 2013 16:48:05 +0000 (16:48 +0000)]
Turn off concurrent sweeping.

R=ulan@chromium.org
BUG=v8:3071
LOG=N

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

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

10 years agoPrepare push to trunk. Now working on version 3.24.8.
yangguo@chromium.org [Mon, 23 Dec 2013 16:17:23 +0000 (16:17 +0000)]
Prepare push to trunk.  Now working on version 3.24.8.

R=ulan@chromium.org
TBR=ulan@chromium.org

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

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

10 years agoAdd missing PostponeInterruptsScope.
yangguo@chromium.org [Mon, 23 Dec 2013 15:41:44 +0000 (15:41 +0000)]
Add missing PostponeInterruptsScope.

R=ulan@chromium.org

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

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

10 years agoCache optimized code for OSR.
yangguo@chromium.org [Mon, 23 Dec 2013 14:42:42 +0000 (14:42 +0000)]
Cache optimized code for OSR.

BUG=v8:2637
LOG=N
R=titzer@chromium.org, verwaest@chromium.org

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

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

10 years agoRefactor the compiling pipeline.
yangguo@chromium.org [Mon, 23 Dec 2013 14:30:35 +0000 (14:30 +0000)]
Refactor the compiling pipeline.

Goals:
 - easier to read, more suitable identifiers.
 - better distinction between compiling optimized/unoptimized code
 - compiler does not install code on the function.
 - easier to add features (e.g. caching optimized code for osr).
 - remove unnecessary code.

R=titzer@chromium.org

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

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

10 years agoReland "Handlify concat string and substring."
yangguo@chromium.org [Mon, 23 Dec 2013 12:37:56 +0000 (12:37 +0000)]
Reland "Handlify concat string and substring."

This relands commit r17490.

BUG=
R=ulan@chromium.org

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

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

10 years agoHarmony: implement math.hypot.
yangguo@chromium.org [Mon, 23 Dec 2013 11:13:39 +0000 (11:13 +0000)]
Harmony: implement math.hypot.

R=jarin@chromium.org
BUG=v8:2938
LOG=N

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

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

10 years agoHarmony: implement Math.log2 and Math.log10.
yangguo@chromium.org [Mon, 23 Dec 2013 10:54:47 +0000 (10:54 +0000)]
Harmony: implement Math.log2 and Math.log10.

R=jarin@chromium.org
BUG=v8:2938
LOG=N

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

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

10 years agoFix small spec violation in String.prototype.split.
yangguo@chromium.org [Mon, 23 Dec 2013 10:01:22 +0000 (10:01 +0000)]
Fix small spec violation in String.prototype.split.

Also slightly extended the test coverage.

R=rossberg@chromium.org
BUG=v8:3026
LOG=Y

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

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

10 years agoDelete v8::HeapGraphNode::GetHeapValue
yurys@chromium.org [Mon, 23 Dec 2013 09:33:16 +0000 (09:33 +0000)]
Delete v8::HeapGraphNode::GetHeapValue

BUG=chromium:324769
LOG=N
R=hpayer@chromium.org, mstarzinger@chromium.org

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

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

10 years agoOnly compile concurrently if enabled, in %OptimizeFunctionOnNextCall.
yangguo@chromium.org [Mon, 23 Dec 2013 08:42:36 +0000 (08:42 +0000)]
Only compile concurrently if enabled, in %OptimizeFunctionOnNextCall.

R=ulan@chromium.org
BUG=326474
LOG=N

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

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

10 years agoCorrectly resolve forcibly context allocated parameters in debug-evaluate.
yangguo@chromium.org [Mon, 23 Dec 2013 08:37:03 +0000 (08:37 +0000)]
Correctly resolve forcibly context allocated parameters in debug-evaluate.

R=ulan@chromium.org
BUG=325676
LOG=Y

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

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

10 years agoThis adds functionality for getting original functions from bound functions.
yurys@chromium.org [Mon, 23 Dec 2013 08:04:54 +0000 (08:04 +0000)]
This adds functionality for getting original functions from bound functions.

It's of much use when information about function calls is shown on the Events timeline in DevTools: instead of referencing to v8natives.js where bound functions are created, we'll be able to show real function data (name, resource, script line and column numbers) retrieved from original functions.

BUG=None
LOG=Y
R=yangguo@chromium.org, yurys@chromium.org

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

Patch from Alexandra Mikhaylova <amikhaylova@google.com>.

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

10 years agoMark cpu profiler test as flaky on windows.
machenbach@chromium.org [Sun, 22 Dec 2013 14:14:27 +0000 (14:14 +0000)]
Mark cpu profiler test as flaky on windows.

TBR=yurys@chromium.org
BUG=v8:2999
LOG=no

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

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

10 years agoMIPS: Improve registers saving for safepoints in deferred code.
plind44@gmail.com [Fri, 20 Dec 2013 19:44:03 +0000 (19:44 +0000)]
MIPS: Improve registers saving for safepoints in deferred code.

This reduces code size of initial snapshot by more than 25Kb.

Registers are saved or restored via common stubs, instead of doing it
through inlined push/pop instructions (one instruction per register) in
generated deferred code.

TEST=
BUG=
R=jkummerow@chromium.org, plind44@gmail.com

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

Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

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

10 years agoMIPS: Improve allocate locals to reduce code size.
plind44@gmail.com [Fri, 20 Dec 2013 19:40:12 +0000 (19:40 +0000)]
MIPS: Improve allocate locals to reduce code size.

TEST=
BUG=
R=plind44@gmail.com

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

Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

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

10 years agoPrepare push to trunk. Now working on version 3.24.7.
hpayer@chromium.org [Fri, 20 Dec 2013 19:19:28 +0000 (19:19 +0000)]
Prepare push to trunk.  Now working on version 3.24.7.

R=jkummerow@chromium.org, danno@chromium.org
BUG=

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

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

10 years agoRevert r18390 - "Roll gyp 1685:1806"
jochen@chromium.org [Fri, 20 Dec 2013 14:35:15 +0000 (14:35 +0000)]
Revert r18390 - "Roll gyp 1685:1806"

Doesn't work with python2.7 - I tested with 2.6 :-/

BUG=none
TBR=hpayer@chromium.org
LOG=n

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

10 years agoSync cygwin version with chromium
jochen@chromium.org [Fri, 20 Dec 2013 14:25:10 +0000 (14:25 +0000)]
Sync cygwin version with chromium

231940 - Set executable bit on third_party/cygwin/bin/dos2unix.exe
229213 - Add back module paths from old python_26 configuration.
228972 - Remove old python from path.
133786 - Add the svn:executable property to these .bat files

LOG=n
BUG=none
R=machenbach@chromium.org

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

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

10 years agoFix sporadic crash in the RequestInterruptTestWithNativeAccessor.
vegorov@chromium.org [Fri, 20 Dec 2013 14:07:19 +0000 (14:07 +0000)]
Fix sporadic crash in the RequestInterruptTestWithNativeAccessor.

The test was broken. V8 currently does not correctly lookup NativeDataProperty accessors attached to the PrototypeTemplate of FunctionTemplate (Issue 3066). As the result while(obj.shouldContinue) loop was immediately exiting and the test would terminate while RequestInterruptTestBase::InterruptThread would be still starting up. As the result later InterruptThread would try to access members of the test object which was destroyed.

The test was fixed:

- instead of attaching accessor to PrototypeTemplate we attach it to  InstanceTemplate;
- an assertion was added to verify that we completed the test successfully due to interruptor firing not due to sporadic loop termination due to some unrelated bug.

R=hpayer@chromium.org

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

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

10 years agoRoll gyp 1685:1806
jochen@chromium.org [Fri, 20 Dec 2013 13:36:50 +0000 (13:36 +0000)]
Roll gyp 1685:1806

Too many updates to summarize them here.

BUG=none
LOG=n
R=machenbach@chromium.org

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

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