Commit Graph

17188 Commits

Author SHA1 Message Date
verwaest@chromium.org
6f23139659 Cannot check the interceptor since it may not be ready yet.
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 15:34:18 +00:00
verwaest@chromium.org
a80b14ab93 Port the ic part
BUG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 14:01:42 +00:00
verwaest@chromium.org
8945c69855 Don't leak the global object in the Function constructor.
BUG=
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22065 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 13:50:37 +00:00
verwaest@chromium.org
63431b23d1 Split SetProperty(...attributes, strictmode) into DefineProperty(...attributes) and SetProperty(...strictmode)
BUG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 13:48:37 +00:00
yangguo@chromium.org
0133d96be3 Remove script collected debug event.
R=yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 12:10:43 +00:00
jochen@chromium.org
f4ede82c98 Remove remaining dependencies on allocation.h from a few platform files
I could move parts of allocation to base/ instead, but I see little to
no value in the allocation base classes, soo..

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 11:37:09 +00:00
mstarzinger@chromium.org
5e738b77dc Remove the duplicated file include.
BUG=
R=mstarzinger@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 11:07:44 +00:00
mstarzinger@chromium.org
7a4054b7d7 Allow inlining of functions containing %_Arguments.
R=svenpanne@chromium.org
TEST=mjsunit/compiler/inline-arguments

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 11:04:35 +00:00
svenpanne@chromium.org
0be40ff5a5 Unbreak Mac build.
TBR=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 11:02:18 +00:00
svenpanne@chromium.org
aac4a062d4 Unbreak "os" stuff in shared d8 builds.
Note that "os" still has no properties on Windows, but at least it's there.

BUG=v8:3407
LOG=y
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 10:37:42 +00:00
machenbach@chromium.org
0fbb59747c Whitespace change to trigger bots.
TBR=jkummerow@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 10:28:44 +00:00
svenpanne@chromium.org
23f747b953 Unbreak Win64 build (hopefully).
cpplint, our fragile overloading of CheckEqualsHelper and Win64 don't
really play together very well...

TBR=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 10:01:44 +00:00
machenbach@chromium.org
9d0988b0fe Let test driver nuke test perf data on errors.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 09:51:08 +00:00
Jacob.Bramley@arm.com
a3c2da4dc4 ARM64: avoid duplicate load of double constants
R=bmeurer@chromium.org, ulan@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 09:00:31 +00:00
marja@chromium.org
3d9080a50f Revert "ARM: Use the shifter operand to merge in previous shift instructions."
This reverts r 22017

Reason: broke Nexus 7 GPU bots (see crbug.com/389198)

BUG=389198
LOG=n
TBR=machenbach@chromium.org, ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 08:55:41 +00:00
svenpanne@chromium.org
e25f833496 Added slim versions of output streams.
R=bmeurer@chromium.org, mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 08:42:17 +00:00
jochen@chromium.org
1600681420 Remove dependency from platform files on v8.h
Pass flag values in through a central initialize call.

We still depend on utils.h for RoundUp and IsAligned.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 08:38:56 +00:00
weiliang.lin@intel.com
092389bb33 X87: Use IC register definitions in platform files.
port r22035

original commit message:
  Use IC register definitions in platform files.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 03:23:31 +00:00
palfia@homejinni.com
903b94d4d2 MIPS: Use IC register definitions in platform files.
Port r22035 (0eac506)

BUG=
R=palfia@homejinni.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 21:03:09 +00:00
yurys@chromium.org
0339d069d9 Add OnCompileError handler and v8::CompileError debug event.
This event is generated when the parser can not generate code.

R=vsevik@chromium.org, yangguo@chromium.org, yurys@chromium.org

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

Patch from Alexey Kozyatinskiy <kozyatinskiy@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 16:03:52 +00:00
yurys@chromium.org
013bb22cca Remove unused Debug::AfterCompileFlags flags.
R=yangguo@chromium.org

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

Patch from Alexey Kozyatinskiy <kozyatinskiy@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 15:12:04 +00:00
yangguo@chromium.org
310c37bd43 Fix regexp=interpreted build.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22041 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 13:48:22 +00:00
hpayer@chromium.org
a511695bb5 Added more detailed sweeping timing counters.
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 12:56:14 +00:00
rossberg@chromium.org
cb2419c615 Infer whether a variable is assigned in inner functions
R=titzer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 11:59:42 +00:00
mstarzinger@chromium.org
1824edd6bc Reland "Allow inlining of functions containing %_ArgumentsLength."
The layout test failures were unrelated to this change.

R=svenpanne@chromium.org
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 11:55:31 +00:00
ulan@chromium.org
7f5c66b26b Keep CodeRange::current_allocation_block_index_ in range after r21869.
BUG=305878,388328
LOG=N
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 11:49:39 +00:00
jochen@chromium.org
6096f1bb0f Roll buildtools to fb782d4369d5ae04f17a2fceef7de5a63e50f07b
Also add hooks to download clang-format binaries.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 10:49:27 +00:00
mvstanton@chromium.org
4273c7c070 Use IC register definitions in platform files.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 10:00:36 +00:00
yangguo@chromium.org
e26102ac24 Suppress GC stress failure for a test that asserts code being optimized.
The reason is that GC stress causes additional deopts that the test
originally did not foresee.

R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22034 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 09:49:17 +00:00
ishell@chromium.org
37651f4f01 Avoid adjusting live bytes in JSObject::MigrateFastToFast() if the size delta is zero.
BUG=chromium:388880
LOG=N
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 08:34:34 +00:00
weiliang.lin@intel.com
2c45989333 X87: Cleanup CallInterfaceDescriptor
port r22014

original commit message:
 Make CallInterfaceDescriptor work like CodeStubInterfaceDescriptor, owning it's
 register and representation arrays. This also eliminates a host of TSAN warnings
 xfor static arrays

 This CL depends on https://codereview.chromium.org/352583002 landing first
 (a conceptual dependency at least).

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 07:32:17 +00:00
yangguo@chromium.org
a2d15ce518 Compile optimized code with active debugger but no break points.
R=ulan@chromium.org
BUG=386492
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 06:32:51 +00:00
weiliang.lin@intel.com
8ff53a8d62 X87: The IC exposes a register definition.
port r22011

original commit message:
  Centralize a register definition in an IC that provides:
  1) symbolic names for the register (like, edx == receiver)
  2) defines ordering when passed on the stack

  Code that implements or uses the IC should use this definition instead of "knowing" what the registers are. Or at least have the definition to validate it's assumptions.

  As a side effect of avoiding runtime static initializers (enforced by tools/check-static-initializers.sh, neat), I gave ownership of the registers array to CodeStubInterfaceDescriptor. This prompted a cleanup of that struct

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 05:43:16 +00:00
danno@chromium.org
8313c523b3 Optimize Map/Set.prototype.forEach
Instead of using an iterator result object and an entries array
(for Map) we introduce a new runtime function that uses an array
as an out param.

On the Map ForEach perf test this leads to a 2.5x performance
improvement. On the overall Map and Set tests this leads to a 18%
and 13% improvement respectively.

BUG=None
LOG=Y
R=danno@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 00:40:45 +00:00
kilvadyb@homejinni.com
53c540a033 MIPS: Fix r22021 “The IC exposes a register definition.” after r22018.
BUG=
R=palfia@homejinni.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 19:30:48 +00:00
kilvadyb@homejinni.com
73fc21c40d MIPS: Cleanup CallInterfaceDescriptor.
Port r22014 (234866c)

Original commit message:
Make CallInterfaceDescriptor work like CodeStubInterfaceDescriptor, owning it's
register and representation arrays. This also eliminates a host of TSAN warnings
for static arrays.

This CL depends on https://codereview.chromium.org/352583002 landing first
(a conceptual dependency at least).

BUG=
R=palfia@homejinni.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 18:43:06 +00:00
mstarzinger@chromium.org
70891ddf32 Revert "Allow inlining of functions containing %_ArgumentsLength."
This cuased layout test failures.

TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 17:21:44 +00:00
kilvadyb@homejinni.com
55126885b7 MIPS: The IC exposes a register definition.
Port r22011 (be22370)

Original commit message:
Centralize a register definition in an IC that provides:
1) symbolic names for the register (like, edx == receiver)
2) defines ordering when passed on the stack

Code that implements or uses the IC should use this definition instead of "knowing" what the registers are. Or at least have the definition to validate it's assumptions.

As a side effect of avoiding runtime static initializers (enforced by tools/check-static-initializers.sh, neat), I gave ownership of the registers array to CodeStubInterfaceDescriptor. This prompted a cleanup of that struct.

BUG=
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 16:17:31 +00:00
mstarzinger@chromium.org
ace9759359 Allow inlining of functions containing %_ArgumentsLength.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 16:02:49 +00:00
ulan@chromium.org
c266cd91e0 Collect garbage with kReduceMemoryFootprintMask in IdleNotification.
BUG=350720
LOG=Y
TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 15:29:58 +00:00
danno@chromium.org
eaca750b29 Remove distinction between hidden and normal runtime functions
R=jkummerow@chromium.org, mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 15:26:10 +00:00
alexandre.rames@arm.com
a7408e5124 ARM: Use the shifter operand to merge in previous shift instructions.
When possible, we transform sequences of code of the form
    lsl r1, r2, #imm
    add r0, r5, r1
into
    add r0, r5, r2 LSL #imm

This is an adaptation of r21161.

R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 15:11:00 +00:00
machenbach@chromium.org
bd7652f1f5 Whitespace change to trigger bots.
TBR=jkummerow@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 14:24:15 +00:00
machenbach@chromium.org
79b1f09d16 Fix tools/whitespace.txt. Huge perf improvements.
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 14:14:54 +00:00
mvstanton@chromium.org
8f905ee9fd Cleanup CallInterfaceDescriptor
Make CallInterfaceDescriptor work like CodeStubInterfaceDescriptor, owning it's
register and representation arrays. This also eliminates a host of TSAN warnings
for static arrays.

This CL depends on https://codereview.chromium.org/352583002 landing first
(a conceptual dependency at least).

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 12:52:58 +00:00
yangguo@chromium.org
7e9fc63d66 Reorder full code for while loops to better reflect statement positions.
R=jkummerow@chromium.org
BUG=v8:2047
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 12:42:28 +00:00
jkummerow@chromium.org
0bf430c1d6 Better fix for --trace-ic source positions: Use HOptimizedGraphBuilderWithPositions
This reverts the changes made in r22008.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 12:37:06 +00:00
mvstanton@chromium.org
addd35df56 The IC exposes a register definition.
Centralize a register definition in an IC that provides:
1) symbolic names for the register (like, edx == receiver)
2) defines ordering when passed on the stack

Code that implements or uses the IC should use this definition instead of "knowing" what the registers are. Or at least have the definition to validate it's assumptions.

As a side effect of avoiding runtime static initializers (enforced by tools/check-static-initializers.sh, neat), I gave ownership of the registers array to CodeStubInterfaceDescriptor. This prompted a cleanup of that struct.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 12:32:12 +00:00
yangguo@chromium.org
6f2368627c Blacklist failing test from GC stress runs.
The test expects a function not to deopt. However GC stress causes
the code to be marked for deopt for a reason we are not testing against.

R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 12:18:19 +00:00
mstarzinger@chromium.org
8a35e9ce47 Drop obsolete dont_optimize compiler hint.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 12:12:21 +00:00