Commit Graph

16385 Commits

Author SHA1 Message Date
titzer@chromium.org
c1d79db81b Rename Int32{UMod,UDiv} to Uint32{Div,Mod} and Int64{UMod,UDiv} to Uint64{Div,Mod}.
R=bmeurer@chromium.org, mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 10:39:11 +00:00
jochen@chromium.org
ef54daf2cc Fix clang compilation
BUG=none
TBR=svenpanne@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 09:35:27 +00:00
jochen@chromium.org
5ed0f2cecc Reserve a page at the beginning of the code range on Win64 for SEH
BUG=v8:3597
R=svenpanne@chromium.org
LOG=n

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 09:16:57 +00:00
jochen@chromium.org
259126c0d9 Remove sweeper threads
Job based sweeping is enabled since 3.29, so remove the now obsolete
thread based implementation

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 09:16:28 +00:00
bmeurer@chromium.org
bfd37ab267 Move unit tests to test/unittests.
As per discussion on the V8 team, this is the place we want them to live,
not following the Chrome Style Guide for this.

BUG=v8:3489
LOG=y
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 08:34:25 +00:00
yangguo@chromium.org
cc6fe3a988 Fix ostream flushing.
TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 08:22:39 +00:00
mstarzinger@chromium.org
c3a2c5740e Add support for uint64 compares to TurboFan.
R=bmeurer@chromium.org, titzer@chromium.org
TEST=compiler-unittests/MachineOperatorTest

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 08:11:56 +00:00
bmeurer@chromium.org
67383fe700 [turbofan] Add BoundsCheckMode to ElementAccess.
This is currently only used for StoreElement. LoadElement will be
updated to make use of that in a follow-up CL (depends on additional
control input for loads first).

TEST=cctest,mjsunit
R=jarin@chromium.org, mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 07:42:54 +00:00
yangguo@chromium.org
63851465f2 Revert "Use symbols instead of hidden properties for i18n markers."
This reverts r24345.

TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 07:33:53 +00:00
yangguo@chromium.org
153ec0329e Use symbols instead of hidden properties for i18n markers.
Also refactor symbols in the root list.

R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 07:08:39 +00:00
svenpanne@chromium.org
356d668d8f Changes to ALLOW_UNUSED to match upcoming changes to the Chromium trunk:
* Eliminate usage of ALLOW_UNUSED to define COMPILE_ASSERT and just use
  static_assert() in all cases now that all platforms build with C++11.
* Convert remaining uses of ALLOW_UNUSED to ALLOW_UNUSED_TYPE to match how
  Chromium will be splitting this functionality.  (In Chromium we'll have both
  ALLOW_UNUSED_TYPE and ALLOW_UNUSED_LOCAL, which have different syntax to
  enable us to use these with MSVC.)

BUG=chromium:81439
TEST=none
LOG=y
R=svenpanne@chromium.org

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

Patch from Peter Kasting <pkasting@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 06:32:05 +00:00
paul.lind@imgtec.com
1659197f5d MIPS: Add cvt_d_s to disassembler.
BUG=
R=dusan.milosavljevic@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 04:14:01 +00:00
dslomov@chromium.org
953af8bd9f Desugar 'super(..)' into 'super.constructor(...)'
R=arv@chromium.org, marja@chromium.org
BUG=v8:3330
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 18:12:22 +00:00
yangguo@chromium.org
21d8692c4f Remove stray edits in r24335.
TBR=aandrey@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 15:40:08 +00:00
yangguo@chromium.org
e68e62c891 Introduce PromiseRejectCallback.
R=aandrey@chromium.org, yurys@chromium.org, rossberg@chromium.org
API=v8::Isolate::SetPromiseRejectCallback, v8::Promise::HasHandler
LOG=Y
BUG=v8:3093

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 15:29:08 +00:00
yangguo@chromium.org
552a9c2447 Add a fast case for one-element arrays in ArrayJoin
This case handles all one-element arrays that were not handled by _FastOneByteArrayJoin

BUG=
R=yangguo@chromium.org

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

Patch from Fadi Meawad <fmeawad@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 15:07:21 +00:00
ishell@chromium.org
85d7140de0 Hydrogenize (and share) part of StoreTransition handler as a StoreTransitionStub and StoreField handler simplification.
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 14:54:14 +00:00
balazs.kilvady@imgtec.com
95525a220b MIPS: Replace OStream with std::ostream.
Port r24319 (b4a085f)

BUG=
R=akos.palfi@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 14:37:59 +00:00
dslomov@chromium.org
b43ebcd800 Implement data property creation for assignments to super.x.
R=rossberg@chromium.org, arv@chromium.org
BUG=v8:3330
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 13:19:47 +00:00
bmeurer@chromium.org
bdc02f8a2e More follow-up fixes to r24322.
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 12:49:25 +00:00
bmeurer@chromium.org
78e17cd6a2 Some follow-up fixes to r24322.
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 12:33:36 +00:00
dcarney@chromium.org
d57e2222c3 [turbofan] instantiate and run InstructionSelectorMultTest for ia32
TBR=bmeurer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 11:44:29 +00:00
dcarney@chromium.org
912cea172e [turbofan] ia32 lea multiplication matching
R=bmeurer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 11:22:14 +00:00
yangguo@chromium.org
af635205ed Split yet more runtime functions into separate files.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:46:04 +00:00
bmeurer@chromium.org
c1ee6247ca [turbofan] Some javascript operators are globally shared singletons.
Also cleanup the interface, and make the parameter class/accessors
explicit to work-around the type-unsafety of OpParameter<T>.

TEST=compiler-unittests,cctest,mjsunit
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:42:44 +00:00
neis@chromium.org
40a968bec4 Temporarily remove unsound use of Maybe until we have a proper fix.
R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:37:47 +00:00
neis@chromium.org
7045592947 Get rid of code duplication by computing int Lub using range Lub.
R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:34:54 +00:00
bmeurer@chromium.org
3eebdc3264 Replace OStream with std::ostream.
Review URL: https://codereview.chromium.org/618643002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:29:32 +00:00
dcarney@chromium.org
49ffb141d9 [turbofan] IA: Uint32ToFloat64 supports mem operand.
BUG=
R=dcarney@chromium.org

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

Patch from Jing Bao <jing.bao@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:24:11 +00:00
dcarney@chromium.org
51a2f97d80 [turbofan] x64 lea multiplication matching
R=bmeurer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 09:46:30 +00:00
dcarney@chromium.org
574378d91b fix nacl build after r24308
TBR=jarin@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 09:34:16 +00:00
jarin@chromium.org
6a07181cde Refactor BasicBlock to not use GenericNode.
To manage BasicBlock's predecessors and successors we now use plain
std::vector.

The change also moves bunch of method definitions from header files
to implementation files.

In zlib, the change brings 3x improvement in the scheduler's memory
consumption. The --turbo-stats flag says we go 169MB -> 55MB in
the scheduler, 383MB -> 268MB overall.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 08:23:20 +00:00
yangguo@chromium.org
381616fb70 Split even more runtime functions into separate files.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 08:23:02 +00:00
dcarney@chromium.org
f0daf267aa [turbofan] cleanup x64 code generator a little
R=bmeurer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24305 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 07:28:58 +00:00
weiliang.lin@intel.com
7ead464238 X87: Support count operations on super named properties.
port r24290.

original commit message:

   Support count operations on super named properties.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24304 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 07:22:29 +00:00
jochen@chromium.org
8c41380688 Fast-forward version number on bleeding_edge to 3.30.0
BUG=none
LOG=n
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 07:13:55 +00:00
balazs.kilvady@imgtec.com
3aba080773 MIPS: Support count operations on super named properties.
Port r24290 (98dc7ec)

BUG=v8:3330
LOG=N
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 17:11:06 +00:00
balazs.kilvady@imgtec.com
7cdeb38e61 MIPS: Fix r24286 "ExtendStorageStub added, it is aimed for extending objects backing store when it runs out of space".
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 15:59:38 +00:00
dslomov@chromium.org
f08295753d Clean-up tests for super getters and setters
R=arv@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 15:17:03 +00:00
arv@chromium.org
a36dee4d14 ES6: Implement object literal property shorthand
This allows the following:

var x = 1;
var o = {x};

This is under the --harmony-object-literals flag.

BUG=v8:3584
LOG=y
R=marja@chromium.org, rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 14:15:48 +00:00
dslomov@chromium.org
ec209c7721 Support count operations on super named properties.
R=ishell@chromium.org
BUG=v8:3330
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 13:56:32 +00:00
jarin@chromium.org
5b742b356d Adding more missing deoptimization points in Turbofan.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 13:37:58 +00:00
rmcilroy@chromium.org
d5e33ac3c7 Enable out-of-line constant pool for Arm.
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 13:23:27 +00:00
neis@chromium.org
f292c4f78e Take output type into account in JSTypedLowering reduction.
R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 13:15:41 +00:00
ishell@chromium.org
171e62e589 ExtendStorageStub added, it is aimed for extending objects backing store when it runs out of space.
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 13:11:27 +00:00
alph@chromium.org
24d1ef4868 Initial implementation of GetStackSample sampling profiler API.
The patch is based on https://codereview.chromium.org/578163002/#ps20001
made by gholap@chromium.org

LOG=N
BUG=v8:3490
R=bmeurer@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 12:59:54 +00:00
balazs.kilvady@imgtec.com
38da3edf58 MIPS: Stores and compound assignments for named super properties.
Port r24268 (428e63d)

BUG=v8:3330
LOG=N
R=dusan.milosavljevic@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 12:45:12 +00:00
jochen@chromium.org
9b32bb22c1 Add a getter for the address and size of the code range to the pulic API
Since the x64 backend currently doesn't emit ABI compliant code, it is
not possible to unwind the stack. During Win64 SEH this will cause the
exception handling to abort, and not even call the unhandled exception
handler. Embedders are advised to install a custom unwind callback using
RtlInstallFunctionTableCallback for the entire code range to catch
unwind attempts for exception handling.

BUG=v8:3598
R=svenpanne@chromium.org
LOG=y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 12:17:31 +00:00
mstarzinger@chromium.org
b2aaac9404 Drop deprecated method for backing store from AccessBuilder.
R=bmeurer@chromium.org
TEST=cctest/test-simplified-lowering/RunLoadStoreArrayBuffer

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 11:35:01 +00:00
ishell@chromium.org
df2e4f8e9b Map::Hash() calculation made deterministic in predictable mode.
BUG=v8:3563
LOG=N
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 11:29:43 +00:00
weiliang.lin@intel.com
baae3f8e1e X87: Stores and compound assignments for named super properties.
port r24268.

original commit message:

    Stores and compound assignments for named super properties.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 11:08:06 +00:00
aandrey@chromium.org
4b072d16f2 Add IsGeneratorFunction and IsGeneratorObject checks to v8::Value.
R=ulan@chromium.org, yangguo@chromium.org, wingo, yangguo

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 10:22:56 +00:00
dcarney@chromium.org
47880b830f [turbofan] add new ia32 addressing modes
R=bmeurer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 10:15:55 +00:00
m.m.capewell@googlemail.com
85f47bd885 [turbofan] ARM64 support for multiply-accumulate
Add instruction selectors for multiply-accumulate, multiply-subtract and negated
multiply operations.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 10:08:04 +00:00
bmeurer@chromium.org
f6e97c90fb Fix initialization of assert scopes.
The thread local key for assert scopes can be lazily initialized and
should be independent of the Isolate initialization. Also cleanup the
assert-scope.{cc,h} implementation while I was at it.

R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 09:39:22 +00:00
yangguo@chromium.org
b0fdeb1b2a Split more runtime functions into seperate files.
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 09:32:38 +00:00
dcarney@chromium.org
287bb3b33b fix win compilation after r24267
TBR=marja@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 08:45:11 +00:00
weiliang.lin@intel.com
6a7cc6cc61 X87: fix the Sqrt issue.
The test mjsunit/regress/regress-sqrt compares the result of Math.sqrt function
   when using full-compiler and crankshaft compiler seperately. But according to
   glibc bug fixing(https://sourceware.org/bugzilla/show_bug.cgi?id=14032). The
   glibc implementation of std::sqrt() (It is invoked in the generated code when
   full-compiler is used.) will change since glibc 2.19.

   In order to keep consistence of Math.sqrt translation in crankshaft compiler
   and the pass of mjsunit/regress/regress-sqrt. we translate the Math.sqrt func
   by calling the runtime function.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 08:39:05 +00:00
Jacob.Bramley@arm.com
89ee8ec1b1 [turbofan] add some simplifications in the machine operator reducer
Simplify the '+', '-' and '%' operators with some basic constants (0, 1 or NaN).

R=titzer@chromium.org, bmeurer@chromium.org, titzer@google.com

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 08:30:17 +00:00
ishell@chromium.org
40a9b4363e ArrayConcat regression recover after r20312 (appeared on dromaeo benchmarks).
BUG=chromium:358561
LOG=N
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 08:22:24 +00:00
dslomov@chromium.org
7e44408fc6 Stores and compound assignments for named super properties.
R=ishell@chromium.org, arv@chromium.org, verwaest@chromium.org
BUG=v8:3330
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 08:16:24 +00:00
dcarney@chromium.org
d3a021bbe0 [turbofan] add new x64 addressing modes
R=bmeurer@chromium.org, titzer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 08:11:03 +00:00
yangguo@chromium.org
ad24cdae72 Do not serialize non-lazy compiled function literals.
... and some small refactorings.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:53:22 +00:00
dslomov@chromium.org
ef14bcfebe Revert "Convert obj ToObject in Object.keys()"
This reverts commit r24260 for breaking test262 tests.

TBR=arv@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:30:41 +00:00
dcarney@chromium.org
5d0e9a2496 [turbofan] basic block profiler
R=titzer@chromium.org, mstarzinger@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:29:14 +00:00
yangguo@chromium.org
667f15a104 Fix serializing ICs.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:14:05 +00:00
yangguo@chromium.org
3ef16353ba Move string-related runtime functions into separate files.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:08:15 +00:00
dslomov@chromium.org
4e116f383b Convert obj ToObject in Object.keys()
BUG=v8:3587
LOG=Y
R=arv@chromium.org, dslomov@chromium.org

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

Patch from Caitlin Potter <caitpotter88@gmail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:07:16 +00:00
dcarney@chromium.org
3968db68e8 initialize v8 early in unittests
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24256 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 14:17:03 +00:00
mstarzinger@chromium.org
28e733e7d0 Extend JSBuiltinReducer to cover Math.abs as well.
R=titzer@chromium.org
TEST=compiler-unittests/JSBuiltinReducerTest.MathAbs

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 14:06:56 +00:00
ishell@chromium.org
4a9feef3d8 Disable job-based sweeping in predictable mode.
BUG=v8:3563
LOG=N
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 13:59:48 +00:00
mstarzinger@chromium.org
36fdb24773 Remove deprecated ifdef from flag definitions.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 12:02:11 +00:00
marja@chromium.org
cc2c6e6339 Script streaming: fix split UTF-8 character handling.
Invalid UTF-8 data can contain too many characters which look like they're part
of a multi-byte character, and that was overflowing a buffer.

BUG=chromium:417891
LOG=n

.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 11:17:31 +00:00
loislo@chromium.org
b9583b5f98 String::NewExternal should not crash the renderer.
The blink may pass a very long string to v8
for making a handle to it. v8 has max string length
limit and creates exception. But NewExternal code does not
check that the handle is null and crashes the renderer.

With the fix the js code receives the exception.

BUG=414615
LOG=N
R=yangguo@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 11:14:09 +00:00
bmeurer@chromium.org
7099d635ee [turbofan] Reduce shl with sar/shr and same shift amount to bit-and.
The shl(sar(x, K), K) is a common pattern with typed loads/stores in
asm.js.

TEST=compiler-unittests,mjsunit/asm/int32array-unaligned
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 07:35:59 +00:00
bmeurer@chromium.org
2f21ddfbfa [turbofan] GraphReducer is more "fixpointish" now.
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 06:40:07 +00:00
weiliang.lin@intel.com
31c39284ef X87: convert disassembler to use OStream.
port r24214.

original commit message:

  convert disassembler to use OStream.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 01:12:13 +00:00
mstarzinger@chromium.org
462bd09d58 Correct bailout from TurboFan for unsupported targets.
R=titzer@chromium.org
TEST=mjsunit/asm/math-fround

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 15:26:03 +00:00
v8-autoroll@chromium.org
0a9992d16e [Auto-roll] Bump up version to 3.29.90.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 13:01:29 +00:00
weiliang.lin@intel.com
944c70efb1 X87: fix the bug which is introduced by R24169.
Two more DeoptimizeIf(...) are added so the branch distance changed.
    we need to use Label::kFar.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 12:57:14 +00:00
jarin@chromium.org
b11c925142 Disable merging simulates across captured objects.
BUG=chromium:416730
LOG=N
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 12:16:32 +00:00
jkummerow@chromium.org
5134e35e64 Revert part of r24098
BUG=chromium:417508
LOG=y
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24221 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 11:18:22 +00:00
danno@chromium.org
ca080a4f40 [TurboFan]: Add JSON output for the visualizer
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24220 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 11:13:50 +00:00
yangguo@chromium.org
86b3c3eea7 Insert materialized context at the right place in DebugEvaluate.
R=aandrey@chromium.org, ulan@chromium.org
BUG=chromium:323936
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24218 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 09:33:40 +00:00
bmeurer@chromium.org
432b1768e1 [turbofan] Add backend support for Float32Constant.
TEST=cctest,compiler-unittests,mjsunit
BUG=v8:3589
LOG=n
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 08:56:02 +00:00
dcarney@chromium.org
2f77113b50 convert disassembler to use OStream
R=svenpanne@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 08:33:24 +00:00
v8-autoroll@chromium.org
b3fb3f169c [Auto-roll] Bump up version to 3.29.89.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24213 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 08:31:37 +00:00
neis@chromium.org
bead5f6bb6 Add some tests about range types.
Add missing tests for context types.
Rearrange some other tests.
Make printing of constant types more useful.
Give counter-examples for properties that no longer hold.

R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24212 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 08:31:23 +00:00
jkummerow@chromium.org
1903e560b0 Non-JSArrays must always have holey elements.
Drive-by cleanup: remove unused elements_kind_ field in CallNew.

BUG=chromium:416558
LOG=n
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 08:25:25 +00:00
neis@chromium.org
4b0823c9a4 Give more precise types to some Math functions.
R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24209 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 08:04:49 +00:00
neis@chromium.org
fa4fdeaf9f Fix argument check in RandomNumberGenerator::NextInt.
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 08:03:56 +00:00
neis@chromium.org
55ac3a3459 Move union length computation out of loops.
R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24206 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 08:02:12 +00:00
bmeurer@chromium.org
8b4ad709a5 [turbofan] IA: support better left operand for commutative binops
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 07:41:25 +00:00
yangguo@chromium.org
1257f35c21 Support large objects in the serializer/deserializer.
R=hpayer@chromium.org, mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 07:32:13 +00:00
yangguo@chromium.org
2a67e48f0e Move i18n-related runtime functions into a separate file.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 07:16:15 +00:00
jochen@chromium.org
c87651f040 Only add samples to the idle time undershoot histogram if we actually did gc
BUG=none
R=hpayer@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24200 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 06:55:06 +00:00
bmeurer@chromium.org
0e2ae4b782 [x64] three operand imul supports first operand in memory location
R=bmeurer@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 06:37:23 +00:00
jarin@chromium.org
2da3e84ec0 Improve memory usage in Turbofan.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 06:25:10 +00:00
weiliang.lin@intel.com
5a49981ef8 X87: add part of backend support for X87.
port r24179.  we add the corresponding function implementation to pass
   the compilation.

original commit message:

   [turbofan] Add backend support for float32.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 02:55:39 +00:00
paul.lind@imgtec.com
a9b01bb2c2 MIPS: Minor fixes and additions needed for Turbofan.
These small changes can be landed indendently to avoid
cluttering up the initial turbofan CL.

BUG=
R=balazs.kilvady@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 21:16:36 +00:00
balazs.kilvady@imgtec.com
a421506f8a MIPS: [turbofan] Add backend support for float32.
Port r24179 (41b81c2)

LOG=n
BUG=v8:3589
TEST=compiler-unittests,cctest
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24192 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 16:56:52 +00:00
weiliang.lin@intel.com
9b06bf6047 X87: Refactor bailout reasons and disable optimization in more cases.
port r24161.

original commit message:
  Refactor bailout reasons and disable optimization in more cases.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 15:29:00 +00:00
weiliang.lin@intel.com
8e6e09c169 X87: fixed branch distances.
port r24151.

original commit message:

  Forgot a few kNear occurences, only happens with --deopt-every-n-times.
  Death to manual jump distance calculation! :-P

BUG=
R=svenpanne@chromium.org

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 15:17:20 +00:00
m.m.capewell@googlemail.com
352733dca2 [turbofan] ARM64 support for inverted logical ops
Select ARM64 inverted rhs instructions (bic, orn, eon) for cases where the rhs
input is inverted (using e/xor), and add some tests for this. Also, rename xor
to eor in the ARM64 backend.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24188 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 14:55:50 +00:00
mstarzinger@chromium.org
ea97f413ee Extend JSBuiltinReducer to cover Math.fround as well.
R=bmeurer@chromium.org
TEST=compiler-unittests/JSBuiltinReducerTest.MathFround

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 14:55:13 +00:00
titzer@chromium.org
f445883b27 Fix bug in representation-change.h.
R=jarin@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 13:55:29 +00:00
titzer@chromium.org
8c0bbd1e8f Fix windows build.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 12:01:21 +00:00
titzer@chromium.org
9fb5f564a9 Add support for Float32 representation changes.
R=bmeurer@chromium.org
BUG=v8:3589
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 11:55:07 +00:00
bmeurer@chromium.org
50c466e883 [turbofan] Add backend support for float32.
LOG=n
BUG=v8:3589
TEST=compiler-unittests,cctest
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 11:08:35 +00:00
svenpanne@chromium.org
82e5de6bdd Make the detailed reason for deopts mandatory on all platforms.
Boring semi-mechanical stuff...

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 10:47:29 +00:00
mstarzinger@chromium.org
379040e276 Extend JSBuiltinReducer to cover Math.sqrt as well.
R=bmeurer@chromium.org
TEST=compiler-unittests/JSBuiltinReducerTest.MathSqrt

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 10:24:19 +00:00
Jacob.Bramley@arm.com
98277cfa98 [arm64] cleanup heap numbers detection
Make heap numbers detection more consistent on arm64.
All the tested benchmarks (octane2, kraken, sunspider, v8-v4 and lua) are unchanged (a57 and a53).

R=ulan@chromium.org, bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 10:22:11 +00:00
balazs.kilvady@imgtec.com
7301ee52f7 MIPS: Refactor bailout reasons and disable optimization in more cases.
Port r24161 (008f335)

BUG=
R=dusan.milosavljevic@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 10:17:24 +00:00
mvstanton@chromium.org
b0b59073ac Fix IC cache confusion on String.prototype.length
BUG=416416
LOG=N
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 09:33:04 +00:00
bmeurer@chromium.org
deaf463bf1 [turbofan] Add length operand to LoadElement and StoreElement.
This is preliminary work, required to properly support bounds checking for typed array loads/stores.

TEST=compiler-unittests,cctest
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 09:28:56 +00:00
titzer@chromium.org
9e0801c306 Translate NumberDivide/NumberModulus operators to Int32Div, Int32Mod in representation-change.h.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 08:49:32 +00:00
yangguo@chromium.org
72dcfab2e0 Simplify stack trace getter wrt prototype chain walk.
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 08:39:04 +00:00
weiliang.lin@intel.com
ab04540061 X87: Made the detailed reason for deopts mandatory on x87. Unified and improved things.
port r24146.

original commit message:
   Made the detailed reason for deopts mandatory on ia32. Unified and improved things.

   The number of different detail strings has been reduced a bit without
   any loss of information. Furthermore, DoubleToI is a bit more
   informative now. Tiny reason fixes.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24169 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 08:33:39 +00:00
dslomov@chromium.org
7e21f85880 Change all V8 internal private symbols to be private own symbols.
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24168 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 08:12:58 +00:00
neis@chromium.org
6fd04d829e Redesign of the internal type system.
Besides addressing a fundamental flaw, this significantly simplifies
several aspects of the system.  The downside is a loss of precision
and a loss of algebraic properties.

Range types are now fully implemented.

R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 07:33:51 +00:00
yangguo@chromium.org
43538e57a4 Refactor bailout reasons and disable optimization in more cases.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 07:08:27 +00:00
weiliang.lin@intel.com
efe4852d5d X87: Removed superfluous deopt for ROR on ia32.
port r24133.   On X87 this check should be unnecessary too.

original commit message:
    Removed superfluous deopt for ROR on ia32.

    We only synthesize a ROR when we have an expression with a toplevel
    '|', which returns a signed value by definition, so deopting on
    negative values is not needed. ia32 was the only platform where this
    was done, all other didn't have the check.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 02:37:53 +00:00
v8-autoroll@chromium.org
3e4a0bcbe1 [Auto-roll] Bump up version to 3.29.86.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 18:01:37 +00:00
v8-autoroll@chromium.org
7aaa0ddadc [Auto-roll] Bump up version to 3.29.85.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 14:31:32 +00:00
yangguo@chromium.org
6393ea9e1a Preserve message when rethrowing exception
A new message was always generated if there is a the top-most verbose
TryCatch, even when rethrowing an exception from a TryCatch that is going
out of scope, and we already have a message.

BUG=v8:3583
LOG=Y
R=yangguo@chromium.org

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

Patch from Jens Widell <jl@opera.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 14:29:45 +00:00
svenpanne@chromium.org
262c98593f Fixed branch distances.
Forgot a few kNear occurences, only happens with --deopt-every-n-times.
Death to manual jump distance calculation! :-P

TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 14:06:54 +00:00
mstarzinger@chromium.org
e4da4dbf23 Move test for reduction of Math.max to unittest.
R=bmeurer@chromium.org
TEST=compiler-unittests/JSBuiltinReducerTest.MathMax

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 11:40:00 +00:00
svenpanne@chromium.org
b364a97e54 Made the detailed reason for deopts mandatory on ia32. Unified and improved things.
The number of different detail strings has been reduced a bit without
any loss of information. Furthermore, DoubleToI is a bit more
informative now. Tiny reason fixes.

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 11:38:12 +00:00
jochen@chromium.org
a83f0fffde Remove temporary work-around for PDFium
BUG=none
R=bmeurer@chromium.org, svenpanne@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 11:32:41 +00:00
mstarzinger@chromium.org
5304f5e719 Move test for reduction of Math.imul to unittest.
R=bmeurer@chromium.org
TEST=compiler-unittests/JSBuiltinReducerTest.MathImul

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 11:26:49 +00:00
jkummerow@chromium.org
9583236d84 Fix method dispatch in Keyed/StoreIC, and JumpIfNotUniqueName usage
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 09:20:36 +00:00
jarin@chromium.org
9ef343c18d [Turbofan] Insert nops for lazy bailout patching, fix translation of literals.
The code for EnsureSpaceForLazyDeopt is taken from lithium-codegen-*.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 08:46:18 +00:00
mstarzinger@chromium.org
0a4e98ba43 Extend JSBuiltinReducer to cover Math.max as well.
R=svenpanne@chromium.org
TEST=cctest/test-js-typed-lowering/BuiltinMathMax

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 08:16:54 +00:00
svenpanne@chromium.org
363b0e2fd2 Removed superfluous deopt for ROR on ia32.
We only synthesize a ROR when we have an expression with a toplevel
'|', which returns a signed value by definition, so deopting on
negative values is not needed. ia32 was the only platform where this
was done, all other didn't have the check.

R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 08:06:00 +00:00
bmeurer@chromium.org
54ceb48005 Forcibly inline bit_cast when building with GCC.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 06:30:15 +00:00
weiliang.lin@intel.com
803761a9f9 X87: Further improve deopt reason output
port r24123.  R24123 does not cover all required code change in X87.

original commit message:
   Further improve deopt reason output.
   * Make the detailed deopt reason mandatory on x64, other platforms will
     follow in separate CLs.

   * Extracted and improved jump table entry sharing logic: When --trace-deopt
     is on, we get separate entries for different deopt reasons. This enables
     us to distinguish the several reasons single instructions can have.

   * Don't emit superfluous jump table comments: The bailout ID is still visible,
     and the jump table entry number is not interesting (but easy to determine
     if really needed).

   * Unify the internal name of the jump table member across platforms.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 03:55:35 +00:00
weiliang.lin@intel.com
f24bfa435c X87: Make KeyedLoads from a sloppy arguments array use a handler.
port r24120.

original commit message:
   Make KeyedLoads from a sloppy arguments array use a handler.
   Before, a custom stub was installed

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 03:44:35 +00:00
vogelheim@chromium.org
2bf7ad0541 Add histogram timers for (de-)serialization during compilation.
R=yangguo@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 17:19:19 +00:00
balazs.kilvady@imgtec.com
ddb2d26686 MIPS: Make KeyedLoads from a sloppy arguments array use a handler.
Port r24120 (eed5963)

Original commit message:
Before, a custom stub was installed.

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 16:08:49 +00:00
verwaest@chromium.org
83f64e8c1f Fix escaped index JSON parsing
BUG=416449
LOG=y
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 15:21:19 +00:00
yurys@chromium.org
269c46ee80 Simplify synthetic roots creation in heap snapshot
The synthetic roots exist in every snapshot and there are no actual objects corresponding to them (there was attempt to create some virtual objects to reuse existing snapshot builder but it just complicated the things).

Previously synthetic root wouldn't have been added if it was empty. Current implementation always adds all synthetic roots in the snapshot no matter if they are empty or not.

BUG=None
LOG=N
R=alph@chromium.org, mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 14:40:59 +00:00
svenpanne@chromium.org
7384467552 Further improve deopt reason output.
* Make the detailed deopt reason mandatory on x64, other platforms
  will follow in separate CLs.

* Extracted and improved jump table entry sharing logic: When
  --trace-deopt is on, we get separate entries for different deopt
  reasons. This enables us to distinguish the several reasons single
  instructions can have.

* Don't emit superfluous jump table comments: The bailout ID is still
  visible, and the jump table entry number is not interesting (but
  easy to determine if really needed).

* Unify the internal name of the jump table member across platforms.

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24123 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 14:16:38 +00:00
dcarney@chromium.org
1adad89746 [turbofan] don't call out to c
R=bmeurer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 13:56:03 +00:00
dcarney@chromium.org
dd72c26ad2 fix compile for arm64 on mavericks
R=svenpanne@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 13:48:12 +00:00
mvstanton@chromium.org
6bb1340515 Make KeyedLoads from a sloppy arguments array use a handler.
Before, a custom stub was installed.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 13:23:27 +00:00
aandrey@chromium.org
6ca218cf07 Fix DebugEvaluate on properties defined on Object.prototype
BUG=415499
R=yangguo
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 12:45:47 +00:00
verwaest@chromium.org
42770b1b21 Remove switch-clause limit
BUG=
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 12:44:23 +00:00
verwaest@chromium.org
045fbe46b1 Pass the ast_id to HandleKeyed to make sure it's the right one (e.g., CountOperation, not just the load-expression's id)
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 12:43:40 +00:00
ulan@chromium.org
363619d01d Adjust small heap threshold for idle time handler.
Follow-up for r23871.

BUG=chromium:407593
LOG=N
TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 12:38:34 +00:00
mstarzinger@chromium.org
28385dc9c0 Fix profiler for TurboFan by reducing duplication.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 12:32:47 +00:00
baptiste.afsa@arm.com
d7810454b7 [turbofan] Allow encodable 64-bit constants as immediate for ARM64.
Also make sure that operands order for commutative 64-bit binary operations
are properly swapped when the constant is on the left hand-side.

R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 12:32:23 +00:00
bmeurer@chromium.org
b62b8a8afd Fix windows build.
TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 12:14:49 +00:00
bmeurer@chromium.org
6aa1dfca0e [turbofan] Add operators for float32 support.
This adds Float32Constant, ChangeFloat32ToFloat64 and
TruncateFloat64ToFloat32 operators.

TEST=compiler-unittests
BUG=v8:3589
LOG=n
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 11:42:10 +00:00
svenpanne@chromium.org
bc609aff70 Merge RecordComment invocations into DeoptimizeIf calls.
This way the deoptimization reasons are actually threaded through to
the jump table. Tiny cleanup of related MIPS/MIPS64 code on the way.

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 09:50:12 +00:00
bmeurer@chromium.org
7862fa2ae8 [turbofan] Remove extra attributes from MachineOperatorBuilder methods.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 09:48:26 +00:00
svenpanne@chromium.org
cebe41bd23 Emit source positions in deopt comments, too.
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 09:05:22 +00:00
bmeurer@chromium.org
f5dcdee115 [turbofan] Bounds check when lowering JSStoreProperty.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 07:17:13 +00:00
bmeurer@chromium.org
a314428a96 [turbofan] Disable value numbering for now.
TEST=cctest,mjsunit
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 07:15:27 +00:00
svenpanne@chromium.org
e76254071e Introduce a class to carry around a deoptimization reason.
As discussed in https://codereview.chromium.org/582743002/, here a
mechanical refactoring...

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24103 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 06:36:57 +00:00
weiliang.lin@intel.com
45a7148678 X87: enable the crankshaft compiler for X87 port.
BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24102 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-20 05:08:58 +00:00
balazs.kilvady@imgtec.com
ffd7362fcc MIPS: Implement loads and calls from 'super’.
Port r24078 (b7e601f)

BUG=v8:3330
LOG=N
R=dusan.milosavljevic@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24099 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 17:25:46 +00:00
jkummerow@chromium.org
78a8f1d119 Fix TRACE_GENERIC_IC coverage
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 16:45:59 +00:00
mstarzinger@chromium.org
d99e673582 Fix JSBuiltinReducer to deal with non-JSFunction callees.
R=titzer@chromium.org
TEST=mozilla

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24097 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 16:35:42 +00:00
verwaest@chromium.org
22cf55afc0 Internalize if not yet internalized
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 15:09:50 +00:00
mstarzinger@chromium.org
7765a5fd88 Add JSBuiltinReducer for inlining well-known builtins.
R=titzer@chromium.org
TEST=cctest/test-js-typed-lowering/BuiltinMathImul

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 15:02:58 +00:00
verwaest@chromium.org
40bbeef0ee Make Map::Create always use the Object function, and remove the unused inobject properties
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24094 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 14:59:14 +00:00
titzer@chromium.org
8892385565 [turbofan] IA: Float64ToUint32 supports mem operand
BUG=
R=titzer@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 14:25:13 +00:00
verwaest@chromium.org
a04e4beb0f Fix visitor for generators
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24090 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 14:03:34 +00:00
weiliang.lin@intel.com
b2f5677499 X87: Implement loads and calls from 'super'.
port r24078.

orginal commit message:
   Implement loads and calls from 'super'

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 13:44:24 +00:00
verwaest@chromium.org
e2cc4baaf3 Use the initial map of the Object function for empty object literals
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 13:40:38 +00:00
verwaest@chromium.org
5d0b12db8e Add fast path in MigrateFastToFast for following transitions that don't extend storage
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 13:39:55 +00:00
v8-autoroll@chromium.org
9c52d0e477 [Auto-roll] Bump up version to 3.29.80.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 13:31:59 +00:00
titzer@chromium.org
5881257344 Widen the intake valve for TurboFan.
R=danno@chromium.org, mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 12:50:50 +00:00
jochen@chromium.org
5b2f030d82 Temporary hack to avoid PDFium crashing
I'll remove this again once PDFium has the explicit Initialize() call
as well

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 12:10:31 +00:00
ulan@chromium.org
32258fdcbb Annotate Heap::FindAllocationMemento for MemorySanitizer.
This function may intentionally, safely use uninitialized memory.

BUG=chromium:413232
LOG=N
R=ulan@chromium.org

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

Patch from Sergey Matveev <earthdok@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 11:32:17 +00:00
jochen@chromium.org
4bdd165fcc Remove a couple of deprecated APIs that moved to Isolate
Embedders should either pass the information to via
Isolate::CreateParams or use Isolate::SetStackLimit where appropriate

BUG=none
R=svenpanne@chromium.org
LOG=y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 11:27:54 +00:00
ulan@chromium.org
ebf9b8ab85 ARM: Make stack limit stricter to account for large buffers in MacroAssembler.
BUG=405338
LOG=Y
R=rmcilroy@chromium.org, rodolph.perfetta@arm.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 11:26:36 +00:00
dslomov@chromium.org
e36aacdee2 Implement loads and calls from 'super'
R=verwaest@chromium.org, arv@chromium.org
BUG=v8:3330
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 11:08:04 +00:00
svenpanne@chromium.org
33ddb37ba3 Removed confusing defensive programming in GenerateJumpTable.
For a given address/type pair we should always find a deoptimization
bailout ID, otherwise something is wrong. This was already asserted on
ARM, but we now do this consistently on all platforms.

Removed some usesless naming creativity on the way.

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 11:06:59 +00:00
titzer@chromium.org
43627e7ea8 Hack representation inference to assume current behavior of float32 loads and stores, which include implicit representation changes.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 09:56:12 +00:00
jochen@chromium.org
e744a5ac80 Fix type in idle time undershot histogram name
TBR=hpayer@chromium.org
LOG=n
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 09:30:04 +00:00
weiliang.lin@intel.com
ae6a25ae4d X87: When serializer is enalbed, we disable the X87 stack check to reduce the code size.
The reason is that the big code size will leads to test-serialize test cases fail
     when debug mode and snapshot=off.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 09:27:45 +00:00
erik.corry@gmail.com
f1e82cc169 The --optimize-for-size flag should imply a small semi-space
R=hpayer@chromium.org, mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 09:15:47 +00:00
jochen@chromium.org
6a14d7d50f Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created
> We also initialize the Isolate on creation.
>
> This should allow for getting rid of the last remaining default isolate
> traces. Also, it'll speed up several isolate related operations that no
> longer require locks.
>
> Embedders that relied on v8::Isolate to return an uninitialized Isolate
> (so they can set ResourceConstraints for example, or set flags that
> modify the way the isolate is created) should either do the setup before
> creating the isolate, or use the recently added CreateParams to pass e.g.
> ResourceConstraints.
>
> BUG=none
> LOG=y
> R=svenpanne@chromium.org
>
> Review URL: https://codereview.chromium.org/469783002

BUG=none
LOG=y
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 08:01:35 +00:00
hpayer@chromium.org
052cd2556f Perform scavenges only for small idle times.
BUG=
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 07:51:23 +00:00
erik.corry@gmail.com
35eec7c7ca Reland sticky regexps https://codereview.chromium.org/567313003/
R=svenpanne@chromium.org, yangguo@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24065 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 07:36:05 +00:00
svenpanne@chromium.org
bea452f2e4 Removed a few dead template functions.
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 07:27:13 +00:00
weiliang.lin@intel.com
4120dd8de2 X87: Convert KeyedLoad indexed interceptor case to a Handler.
port r24042.

original commit message:

  Convert KeyedLoad indexed interceptor case to a Handler.

  Currently, KeyedLoads on objects with indexed interceptors are handled with a
  special stub. Instead, key on the map and handler mechanism for more uniform
  treatment.

BUG=
R=weiliang.lin@intel.com

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

Patch from Jing Bao <jing.bao@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 06:33:37 +00:00
weiliang.lin@intel.com
bf18738539 X87: Move state sentinels into TypeFeedbackVector.
port r24037.

original commit message:

  Move state sentinels into TypeFeedbackVector.

  These sentinels were in the wrong place, living in only tangentially related class TypeFeedbackInfo, but they codify state in the TypeFeedbackVector.

BUG=
R=weiliang.lin@intel.com

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

Patch from Jing Bao <jing.bao@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 06:31:33 +00:00
svenpanne@chromium.org
264c7fe3cd Emit comment with instruction+reason before deopt calls.
Note that we still need to migrate from sometimes emitting those
comments by hand to passing a reason explicitly, but this can be done
incrementally in separate CLs.

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 06:27:06 +00:00
v8-autoroll@chromium.org
28ff661909 [Auto-roll] Bump up version to 3.29.79.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 03:01:44 +00:00
jochen@chromium.org
525ed1130e Revert "Require V8 to be explicitly initialized before an Isolate is created"
LOG=n
TBR=svenpanne@chromium.org
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 21:57:10 +00:00
v8-autoroll@chromium.org
321c161a7c [Auto-roll] Bump up version to 3.29.77.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 21:31:24 +00:00
jochen@chromium.org
27f3cc1b9c Require V8 to be explicitly initialized before an Isolate is created
We also initialize the Isolate on creation.

This should allow for getting rid of the last remaining default isolate
traces. Also, it'll speed up several isolate related operations that no
longer require locks.

Embedders that relied on v8::Isolate to return an uninitialized Isolate
(so they can set ResourceConstraints for example, or set flags that
modify the way the isolate is created) should either do the setup before
creating the isolate, or use the recently added CreateParams to pass e.g.
ResourceConstraints.

BUG=none
LOG=y
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 21:07:50 +00:00
arv@chromium.org
f28f6c17c9 Cleanup class parsing a bit
BUG=v8:3330
LOG=Y
R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 17:39:49 +00:00
verwaest@chromium.org
c5a3850b8f Revert "filter cross context eval"
(Reverts https://codereview.chromium.org/294073002/)

BUG=chromium:415051
LOG=y
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 17:25:25 +00:00
arv@chromium.org
714f5f401c ES6: Implement generator method shorthand
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-method-definitions

BUG=v8:3516
LOG=Y
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 17:14:13 +00:00
balazs.kilvady@imgtec.com
a479b2cb03 MIPS: Convert KeyedLoad indexed interceptor case to a Handler.
Port r24042 (eb9b9ec)

Original commit message:
Currently, KeyedLoads on objects with indexed interceptors are handled with a
special stub. Instead, key on the map and handler mechanism for more uniform
treatment.

BUG=
R=dusan.milosavljevic@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 15:38:52 +00:00
balazs.kilvady@imgtec.com
029f060544 MIPS: Move state sentinels into TypeFeedbackVector.
Port r24037 (d821bf9)

Original commit message:
These sentinels were in the wrong place, living in only tangentially related class TypeFeedbackInfo, but they codify state in the TypeFeedbackVector.

BUG=
R=dusan.milosavljevic@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 15:36:42 +00:00
rossberg@chromium.org
cc960f8034 Revert "RegExp: Add support for the ES6-proposed sticky flag"
Causes a flaky failure on buildbots. Here is the (deterministic) repro step (thanks to Michael Stanton):

first go to flag-definitions.h and set this to false.

DEFINE_BOOL(enable_sse4_1, false,
            "enable use of SSE4.1 instructions if available")

Run the following and it should fail:

tools/run-tests.py --arch=ia32 --mode=release cctest/test-api/Regress2107

R=yangguo@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 14:53:00 +00:00
hpayer@chromium.org
8b761b1b1b Avoid idle times smaller than 1ms.
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 13:37:36 +00:00
wingo@igalia.com
3117f6b358 Implement generator mirror
R=yangguo@chromium.org, aandrey@chromium.org

BUG=v8:3292
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 13:30:15 +00:00
mvstanton@chromium.org
eca5875b9d Convert KeyedLoad indexed interceptor case to a Handler.
Currently, KeyedLoads on objects with indexed interceptors are handled with a
special stub. Instead, key on the map and handler mechanism for more uniform
treatment.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 13:28:32 +00:00
mvstanton@chromium.org
9505d5b5ae Fix gcmole warning.
TBR=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24041 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 13:24:02 +00:00
hpayer@chromium.org
1373784d83 Capacity returns allocatable memory and TotalCapacity returns allocatable plus non-allocatable memory for the new space.
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 12:52:12 +00:00
mvstanton@chromium.org
200095c3e7 Move state sentinels into TypeFeedbackVector.
These sentinels were in the wrong place, living in only tangentially related class TypeFeedbackInfo, but they codify state in the TypeFeedbackVector.

R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 12:31:31 +00:00
rossberg@chromium.org
88fa6685ae Implement ToLength from ES6 section 7.1.15
BUG=
R=rossberg@chromium.org

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

Patch from Caitlin Potter <caitpotter88@gmail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 12:21:50 +00:00
verwaest@chromium.org
a1a0f465b2 Turn keyed loads with string-based (non-convertible to array-index) key into named loads
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 12:00:00 +00:00
erik.corry@gmail.com
63b1c1900d RegExp: Add support for the ES6-proposed sticky flag
R=yangguo@chromium.org, rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 11:32:39 +00:00
mstarzinger@chromium.org
15b563cf74 Remove dead CompilationInfo::DisableOptimization predicate.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 11:13:36 +00:00
verwaest@chromium.org
e82fe7b0a4 Don't inline polymorphic cases if not all cases can be handled inline.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 10:57:18 +00:00
v8-autoroll@chromium.org
68884792ea [Auto-roll] Bump up version to 3.29.76.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 10:01:37 +00:00
mvstanton@chromium.org
134a89b11f Introduce TypeFeedbackVector, as FixedArray grew constrictive.
The TypeFeedbackVector is poised to host significant functionality. While it
remains a FixedArray under the covers, we need a place to hold logic and
definitions unique to its function.

BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 09:59:53 +00:00
svenpanne@chromium.org
80d9d6df30 Thread the Lithium instruction down to DeoptimizeIf and friends.
This is a purely mechanical refactoring and a first step towards being
able to report more helpful deoptimization reasons. With this
refactoring, we know at least the mnemonic of the instruction causing
the deopt, although this is not used yet. Future steps will be using
the mnemonic, passing additional explicit deopt reasons and removing
the fragile machinery of searching for code comments.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 09:53:08 +00:00
mstarzinger@chromium.org
1debacf6aa Remove Compiler::RecordFunctionCompilation from interface.
R=sigurds@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 09:41:45 +00:00
mstarzinger@chromium.org
4413d318a6 Unify use-sites of EnsureDeoptimizationSupport.
R=sigurds@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 09:02:36 +00:00
sigurds@chromium.org
68075b0a05 Reland "Add handling for argument adaptor frames to inlining."
Original: https://codereview.chromium.org/573703002/

Reland Fixes:
- Add deopt framestate to CollectStackTrace runtime call

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 08:56:52 +00:00
titzer@chromium.org
892e6621f2 Don't update the compilation size statistics when doing an optimized compile.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 08:47:13 +00:00
hpayer@chromium.org
97bce5e668 Use allocation throughput to estimate next scavenge event in idle notification.
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 08:44:46 +00:00
machenbach@chromium.org
0fce2201b9 Revert "Don't use OwnPrototypeChainLength in GetOwnPropertyNames"
This reverts commit r23997 for causing check failures in
layout tests:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/498

TBR=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 06:57:12 +00:00
v8-autoroll@chromium.org
34835388a8 [Auto-roll] Bump up version to 3.29.73.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 17:31:19 +00:00
dusan.milosavljevic@imgtec.com
febc3fa415 MIPS64: Fix move operations from coprocessor in simulator.
This resolves calculation errors for trigonometric functions.

TEST=test262/S15.8.2.7_A6.js
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 16:21:22 +00:00
titzer@chromium.org
f6807d7897 Rename Runtime_CompileUnoptimized to Runtime_CompileLazy, because that is what it does. Split Compiler::GetUnoptimizedCode into two variants, one for lazy compilation (which can return optimized code!) and the other that actually returns unoptimized code.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 15:29:42 +00:00
sigurds@chromium.org
b8dd74779c Revert "Add handling for argument adaptor frames to inlining."
This reverts commit r24008.

TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 15:00:57 +00:00
mstarzinger@chromium.org
79e095c8d0 Introduce simplified BooleanToNumber operator.
R=titzer@chromium.org
TEST=cctest/test-simplified-lowering/LowerBooleanToNumber

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 14:47:25 +00:00
sigurds@chromium.org
887b77aa83 Add handling for argument adaptor frames to inlining.
- Lazy deopt from inlined calls
- Lazy deopt from inlined calls with parameter mismatch

R=jarin@chromium.org, mstarzinger@chromium.org, mstarzinger@chromium

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 14:41:30 +00:00
mvstanton@chromium.org
18ea0084a0 Fix the IsTheHole bug.
For Double constant of non nan, object_ may be uninitialized.

(This patch comes from weiliang.lin@intel.com )

BUG=
R=mvstanton@chromium.org

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 14:28:48 +00:00
sigurds@chromium.org
4ef5915741 This is a reland of issue 563813002:
https://codereview.chromium.org/575473002/

This time with additional include headers and MSVC specific guards. Previously, only V8 Win32 - nosnap - shared failed:

http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/2916

R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 14:20:20 +00:00
wingo@igalia.com
00375fba59 Array.prototype.sort: Unchecked calls to hasOwnProperty and push and sort
BUG=v8:3537
LOG=
R=arv@chromium.org, wingo@igalia.com, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 14:01:25 +00:00
v8-autoroll@chromium.org
6cbeb6d00e [Auto-roll] Bump up version to 3.29.72.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24004 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 13:31:26 +00:00
yangguo@chromium.org
2fd6e380ca Fix compile error introduced in 24002.
TBR=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 13:18:50 +00:00
yangguo@chromium.org
a49ac519c8 Serialize code stubs using stub key.
Also add some tracing to the code serializer.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 12:50:17 +00:00
titzer@chromium.org
cbf66711af Minor compiler pipeline refactoring. Inline UpdateSharedFunctionInfo and make Parser::Parse responsible for setting the strict mode of the CompilationInfo.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 12:34:46 +00:00
yangguo@chromium.org
1cc4b0b95e Support stepping into generator function.
R=aandrey@chromium.org, wingo@igalia.com
BUG=v8:3572
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 12:27:16 +00:00
verwaest@chromium.org
d0ad526359 Don't use OwnPrototypeChainLength in GetOwnPropertyNames
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 09:56:51 +00:00
svenpanne@chromium.org
ac1b9b11dc Fixed deopt reasons in TaggedToI.
Every DeoptimizeIf should be preceded by a RecordComment explaining
the reason. In the long run, the reason should be an argument of
DeoptimizeIf, but we're not there yet.

On x87, things are a bit ugly due to some pushing/popping, so if
somebody feels inclined to improve this: Feel free. Probably the right
approach would be reloading instead of the push/pop horror.

Another thing is our inconsistent handling of the "done" continuation
of deferred code on the various platforms, I made tiny changes on the
way, but this should better be unified somehow, with all those
micro-optimizations removed.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 09:51:17 +00:00
svenpanne@chromium.org
fdcf5f99b2 Unbreak build
TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 09:49:57 +00:00
hpayer@chromium.org
fe626586da Measure new space allocation throughput.
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 08:50:57 +00:00
v8-autoroll@chromium.org
7cee8d5cd2 [Auto-roll] Bump up version to 3.29.71.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 08:01:35 +00:00
weiliang.lin@intel.com
ac6074707a X87: Removing ic.h from code-stubs.h
port r23977.

original commit message:

  Removing ic.h from code-stubs.h

  CodeStubs use state types defined in ic.h, but this has the unfortunate effect of spreading ic.h all over the place. Instead, define these shared state types in ic-public.h and allow ic.h to concern itself with internal state change of the ICs.

  More work could/should be done here, but this is a first step.

BUG=
R=weiliang.lin@intel.com

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

Patch from Jing Bao <jing.bao@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 05:21:36 +00:00
arv@chromium.org
7efd2eb144 Class syntax parsing
This implements parsing for ClassExpression and ClassDeclaration.
The runtime is not yet implemented and the value is currently
hard coded to undefined.

BUG=v8:3330
LOG=Y
R=dslomov@chromium.org, marja@chromium.org, rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 22:15:39 +00:00
v8-autoroll@chromium.org
7062b8fb49 [Auto-roll] Bump up version to 3.29.69.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 21:01:27 +00:00
akos.palfi@imgtec.com
a97f2b1014 MIPS64: Removing ic.h from code-stubs.h
Port r23977 (d0cba839)

Original commit message:
CodeStubs use state types defined in ic.h, but this has the unfortunate effect of spreading ic.h all over the place. Instead, define these shared state types in ic-public.h and allow ic.h to concern itself with internal state change of the ICs.

More work could/should be done here, but this is a first step.

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 17:59:41 +00:00
v8-autoroll@chromium.org
e4c3b699bb [Auto-roll] Bump up version to 3.29.68.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 17:31:23 +00:00
mstarzinger@chromium.org
2c04afb9ce Avoid usage of temporary MachineOperatorBuilder.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 16:20:10 +00:00
jochen@chromium.org
cc66fb85e3 Track how much we miss the idle notification limit
We can't report negative values using histograms, so we split the data
up into two histograms

BUG=chromium:397026
LOG=n
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 16:18:02 +00:00
jochen@chromium.org
5134a1806e Remove unused histogram definitions
R=marja@chromium.org
LOG=n
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 13:16:02 +00:00
hpayer@chromium.org
b105da2061 Allow IdleNotification to trigger Scavenges.
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 13:00:05 +00:00
rossberg@chromium.org
5d520f9ed1 Re-reland "Use unsigned type bitsets to limit undefined behaviour"
Change: make bitset uint32_t, to avoid weird sign extension bugs on Win64.

BUG=
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 12:58:43 +00:00
mvstanton@chromium.org
a4176d2052 Removing ic.h from code-stubs.h
CodeStubs use state types defined in ic.h, but this has the unfortunate effect of spreading ic.h all over the place. Instead, define these shared state types in ic-public.h and allow ic.h to concern itself with internal state change of the ICs.

More work could/should be done here, but this is a first step.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 12:51:33 +00:00