Commit Graph

16475 Commits

Author SHA1 Message Date
jkummerow@chromium.org
a3a5642097 Harden more runtime functions
BUG=chromium:372239
LOG=n
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 15:30:00 +00:00
yangguo@chromium.org
3ccedf8952 Clean up debugger flags.
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 13:47:01 +00:00
yangguo@chromium.org
df296a2be0 Revert "Read internal properties [[PromiseStatus]] and [[PromiseValue]] of the promise."
This reverts r21266.

TBR=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 13:38:39 +00:00
hpayer@chromium.org
2b5ef22d83 Do not scavenge while marking incrementally when FLAG_gc_global is on.
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 13:35:53 +00:00
m.m.capewell@googlemail.com
d741ee1352 ARM64: Optimize MathRoundI
Optimize code generated for MathRoundI based on technique used in MathRoundD.

BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 13:30:54 +00:00
yangguo@chromium.org
b785aeda44 Read internal properties [[PromiseStatus]] and [[PromiseValue]] of the promise.
BUG=v8:3093
LOG=N
R=aandrey@chromium.org, yangguo@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 12:42:35 +00:00
jarin@chromium.org
fbe16b09f2 Harden %WeakCollectionSet.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 12:05:00 +00:00
yangguo@chromium.org
cb2bec3b47 Revert "Revert interrupt handling code changed in r21208."
This reverts commit r21252.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 11:52:44 +00:00
yangguo@chromium.org
17aa453f29 Fix windows x64 build.
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 11:42:53 +00:00
jarin@chromium.org
f5c62871b8 Guard against stack overflow in Runtime::StringReplaceOneCharWithString.
Unfortunately, this only triggers with "ulimit -s 1024" (or less), so we
cannot have an mjsunit test. The test that fails is
test/mjsunit/string-replace-one-char.js on x64.debug.

R=ishell@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 11:36:47 +00:00
yangguo@chromium.org
078e20a036 Turn off --logfile-per-isolate by default in d8.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 11:25:21 +00:00
jarin@chromium.org
c3cd2f0301 Fix %SetFlags("--stress-compaction")
BUG=369943
LOG=N
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 10:39:08 +00:00
jkummerow@chromium.org
e7a34f3fd9 Harden runtime functions (part 6).
Also blacklist LiveEdit-related functions from generated runtime tests.

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 09:37:26 +00:00
m.m.capewell@googlemail.com
2bdd088cde ARM: update defaults for flags
R=bmeurer@chromium.org, ulan@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 09:25:32 +00:00
mstarzinger@chromium.org
362b203e71 Partially revert r21254 due to WebKit test failure.
TBR=danno@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 09:18:45 +00:00
adamk@chromium.org
92b895a761 Harden %SetIsObserved with RUNTIME_ASSERTs
Now throws if its argument is already observed, or if the argument is
the global proxy.

BUG=371782
LOG=Y
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21256 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 08:49:51 +00:00
jarin@chromium.org
cbf8c3f460 Make escape analysis preserve all representations required by HCompareNumericAndBranch.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 08:43:18 +00:00
mstarzinger@chromium.org
38754b4e12 Move more builtin files to strict mode.
R=rossberg@chromium.org
BUG=v8:1955
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 08:43:01 +00:00
danno@chromium.org
71789ea1e5 Reland r20974: Unify and simplify the FastCloneShallowArrayStub
- Don't bake in length/capacity into full codegen calls of stubs,
allowing boilerplates to increase their capacity without regenerating
code.
- Unify all variants of the clone stub into a single,
length-independent version.
- Various tweaks to make sure that the clone stub doesn't spill and
therefore need an eager stack frame.
- Handle all lengths of array literals in the fast case.

R=mvstanton@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 07:49:11 +00:00
yangguo@chromium.org
b25513e367 Revert interrupt handling code changed in r21208.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 07:43:47 +00:00
jochen@chromium.org
cf8327994d Drop unused static microtask API
BUG=none
LOG=y
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 07:41:06 +00:00
jochen@chromium.org
988ea995c4 Introduce an api to query the microtask autorun state of an isolate
BUG=none
R=adamk@chromium.org, svenpanne@chromium.org
LOG=y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 06:27:38 +00:00
palfia@homejinni.com
c43789b6b6 Revert "MIPS: Reland r20974: Unify and simplify the FastCloneShallowArrayStub."
Port r21242 (99bd67aa)

Original commit message:
This breaks nosnap.

BUG=
R=plind44@gmail.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 20:18:12 +00:00
adamk@chromium.org
97dd64091b Clean up hash creation code to use Handle<Smi> where possible
Also remove apparently-bogus TODO and reorder arguments in
Object::GetOrCreateHash to put Isolate first (as seems to
be the custom).

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 18:31:08 +00:00
adamk@chromium.org
fb991aafe3 Updated runtime function counts after r21243
TBR=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 18:28:11 +00:00
adamk@chromium.org
fb70df076b Object.observe: avoid accessing acceptList properties more than once
BUG=v8:3315
LOG=Y
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 18:22:28 +00:00
verwaest@chromium.org
03905e4753 Directly create API functions with readonly prototypes rather than converting. Remove FunctionSetReadOnlyPrototype.
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 17:59:15 +00:00
verwaest@chromium.org
c33a72b27f Revert "Reland r20974: Unify and simplify the FastCloneShallowArrayStub"
This breaks nosnap.

BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 17:56:55 +00:00
verwaest@chromium.org
e1c86f8207 Rename NewFunction without prototype to NewFunctionWithoutPrototype
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 17:39:54 +00:00
plind44@gmail.com
2429776178 MIPS: Reland and fix r21225 and r21226.
Port r21232 (5681b0b)

BUG=
R=plind44@gmail.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 17:39:04 +00:00
plind44@gmail.com
a942f4314f MIPS: Reland r20974: Unify and simplify the FastCloneShallowArrayStub.
Port r21230 (56ef3ac)

Original commit message:
- Don't bake in length/capacity into full codegen calls of stubs,
allowing boilerplates to increase their capacity without regenerating
code.
- Unify all variants of the clone stub into a single,
length-independent version.
- Various tweaks to make sure that the clone stub doesn't spill and
therefore need an eager stack frame.
- Handle all lengths of array literals in the fast case.

BUG=
R=plind44@gmail.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 17:29:21 +00:00
verwaest@chromium.org
f55eeec3ee Always set the class name on installed functions if the target is the JSGlobal
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 17:21:51 +00:00
verwaest@chromium.org
b136448957 Replace NewFunction(MaybeHandle<> prototype by Handle<> prototype
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 16:59:03 +00:00
verwaest@chromium.org
eb3c1bd6de Remove "force_initial_map"
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 16:42:57 +00:00
verwaest@chromium.org
a773cd7271 Replace NewFunctionWithPrototype(name, prototype) by NewFunction(name)
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 16:39:33 +00:00
verwaest@chromium.org
8db908784e Array Iterator prototype should not have a constructor.
BUG=v8:3293
LOG=Y
R=verwaest@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21234 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 16:37:04 +00:00
verwaest@chromium.org
50436ad462 Merge NewFunction and NewFunctionWithPrototype
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 16:34:58 +00:00
verwaest@chromium.org
ed64101bc7 Reland and fix r21225 and r21226
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 16:18:58 +00:00
ishell@chromium.org
99f2e4d5ac Fix typos in unit test for Array.prototype.fill()
BUG=
LOG=y
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 16:11:50 +00:00
danno@chromium.org
36fc96a4b8 Reland r20974: Unify and simplify the FastCloneShallowArrayStub
- Don't bake in length/capacity into full codegen calls of stubs,
allowing boilerplates to increase their capacity without regenerating
code.
- Unify all variants of the clone stub into a single,
length-independent version.
- Various tweaks to make sure that the clone stub doesn't spill and
therefore need an eager stack frame.
- Handle all lengths of array literals in the fast case.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 15:55:45 +00:00
plind44@gmail.com
e7c6f40a65 MIPS: Improve Array.shift() performance for small arrays.
Port r21203 (eaa92e4)

TEST=mjsunit/array-shift,mjsunit/array-shift2,mjsunit/array-shift3
BUG=
R=plind44@gmail.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 15:49:42 +00:00
vogelheim@chromium.org
623f2371eb Prevent calls to ReturnValue::Set with pointer-valued types.
[2nd try, after the previous version broke the build]

Currently, this code will compile:
SomePointer* p = ...;
ReturnValue r = ...;
r.Set(p);

What happens is that ReturnValue::Set has no pointer-ish overloads, but
a bool one, and hence C++ will convert the pointer to a bool and use
the Set(bool) overload. In other words, the example above is equivalent
to: r.Set(p ? true : false); Which probably isn't what the author had
in mind. This change adds a Set(void*) overload whose body forces a
compile error, to prevent this from happening inadvertently. The only
use of this indeed turned out to be an error.

(Said error was fixed/removed in crrev.com/267393002.)

Why was crrev.com/240013004 reverted?
The orginal version compiled fine on gcc (+ MSVC), but not on clang.
There's no clang try-bots, but the ASAN-based buildbots used clang
and hence the build broke. I'm slightly unsure on why, but clang -
unlike those other compilers - eagerly compiled the non-compilable
setter, which predictably broke. Now, the non-compilable setter uses
the same template logic that all other, comparable cases use. I've
tried 'make qc' with both gcc and clang versions.

BUG=
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 15:36:51 +00:00
ishell@chromium.org
cb1a32885c [Sheriff] This reverts commits r21225 and r21226 for breaking Linux64 build.
Revert "Make BitField3 a raw uint32 field, and move to the start of the map."
Revert "Make space available in bf3 by moving FunctionWithPrototype to bf1"

TBR=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 14:28:59 +00:00
verwaest@chromium.org
3c58a5a8df Make space available in bf3 by moving FunctionWithPrototype to bf1
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 13:20:40 +00:00
verwaest@chromium.org
ec195cd929 Make BitField3 a raw uint32 field, and move to the start of the map.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 13:18:25 +00:00
yangguo@chromium.org
bd93673f40 Shorten autogenerated error message for functions only.
R=yangguo@chromium.org, Yang, rossberg@chromium.org
BUG=v8:3019, chromium:331971
LOG=Y

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

Patch from Andrey Adaykin <aandrey@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 13:14:09 +00:00
yangguo@chromium.org
3fa6100ed3 Require SSE2 support for the ia32 port.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 13:01:50 +00:00
ishell@chromium.org
ff2d004f85 Presubmit checks recover:
1) runtime/references checks temporarily disabled (56 items left)
2) other errors fixed

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 12:59:24 +00:00
rmcilroy@chromium.org
2ba3716e4a Reland - Arm64: Ensure that csp is always aligned to 16 byte values even if jssp is not.
Even although the Arm64 specification specifies that csp
only needs to be aligned to 16 bytes if it is dereferenced, some
implementations show poor performance.

Also makes the following change:
 - Enable CPU support for arm64 to enable probing of cpu implementer and cpu part.
 - Add ALWAYS_ALIGN_CSP CpuFeature for Arm64 and set it based on runtime probing of the cpu imp
 - Rename PrepareForPush and PrepareForPop to PushPreamble and PopPostamble and move PopPostabl

Original Review URL: https://codereview.chromium.org/264773004

R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21221 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 12:51:52 +00:00
hpayer@chromium.org
e82b4cdc40 Add flag to set minimum semi-space size.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21220 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 12:37:11 +00:00