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