mvstanton@chromium.org
e066a3667d
Move responsibility for definition of ExtraICState bits into the ICs.
...
Currently it's in the Code object for some ICs and in ICs for other ICs.
This should make it easier to alter bits as needed.
2) Recover an extra bit in the code object to give us 6 bits for the extra ic state. We'll need it soon to store contextual state.
3) Cleanup code that treated StrictMode enum and ExtraICState enum as interchangeble.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/91803003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 15:32:55 +00:00
yangguo@chromium.org
f235194518
Fix bug in inlining Function.apply.
...
R=jkummerow@chromium.org
BUG=323942
LOG=Y
Review URL: https://codereview.chromium.org/95123003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 15:30:17 +00:00
titzer@chromium.org
bbdd21ebb0
Fix load elimination: can only .Equals() GVN-able instructions.
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/95193002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 15:27:42 +00:00
verwaest@chromium.org
bb86f02462
Cleanup in the CallStubCompiler.
...
BUG=
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/91963003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18131 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 15:26:04 +00:00
rossberg@chromium.org
b974978e41
Move more logic from AST to oracle, pt 2
...
(More to follow)
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/95163002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 15:25:38 +00:00
dslomov@chromium.org
7372596615
Ensure that length is Smi in TypedArrayFromArrayLike constructor.
...
R=jkummerow@chromium.org
BUG=324028
LOG=Y
Review URL: https://codereview.chromium.org/94473002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 15:22:36 +00:00
rmcilroy@chromium.org
adbcede1c8
Swap cp and pp registers on Arm such for work on OOL Constant Pool.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/94723002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 14:13:47 +00:00
verwaest@chromium.org
bbef8af130
Use the HandlerFrontendHeader in most call compilers.
...
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/83753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 13:56:49 +00:00
hpayer@chromium.org
0e95ffddf2
Fix allocation memento bookeeping code for js arrays.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/95053002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 13:45:23 +00:00
machenbach@chromium.org
7b924a32de
Prepare push to trunk. Now working on version 3.23.15.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/95033002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 13:42:23 +00:00
rossberg@chromium.org
5532af4437
Move more type collection logic from AST to oracle.
...
(More to come in follow-up CL.)
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/91863003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 13:16:51 +00:00
m.m.capewell@googlemail.com
843fca161a
ARM: Optimize fixed double arguments
...
Optimize fixed double arguments to arithmetic Lithium instructions.
TEST=none
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/91113003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 11:38:40 +00:00
hpayer@chromium.org
0213fc9035
Added tracing support for pretenuring.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/94493002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 10:49:02 +00:00
mstarzinger@chromium.org
d53e38777f
Fix missing bounds check in n-arguments Array constructor.
...
LOG=N
R=mvstanton@chromium.org
BUG=v8:3027
TEST=mjsunit/regress/regress-3027
Review URL: https://codereview.chromium.org/92103003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 09:29:57 +00:00
yangguo@chromium.org
ea43173cf4
Shorten autogenerated error message.
...
R=rossberg@chromium.org
BUG=v8:3019
LOG=Y
Review URL: https://codereview.chromium.org/88393002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 08:59:45 +00:00
jochen@chromium.org
c1da40c08d
Mark deprecated APIs with relatively little use as deprecated
...
BUG=none
R=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/91503002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 08:21:26 +00:00
rossberg@chromium.org
e943623b12
Harmony promises
...
Based on prototype at
https://github.com/rossberg-chromium/js-promise
which informed the latest spec draft version at
https://github.com/domenic/promises-unwrapping/blob/master/README.md
Activated by --harmony-promises.
Feature complete with respect to the draft spec, plus the addition of .when and .deferred methods. Final naming and other possible deviations from the current draft will hopefully be resolved soon after the next TC39 meeting.
This CL also generalises the Object.observe delivery loop into a simplistic microtask loop. Currently, all observer events are delivered before invoking any promise handler in a single fixpoint iteration. It's not clear yet what the final semantics is supposed to be (should there be a global event ordering?), but it will probably require a more thorough event loop abstraction inside V8 once we get there.
R=dslomov@chromium.org , yhirano@chromium.org
BUG=
Review URL: https://codereview.chromium.org/64223010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 17:21:40 +00:00
machenbach@chromium.org
8903dcbab8
Prepare push to trunk. Now working on version 3.23.14.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/91763002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 15:10:46 +00:00
mvstanton@chromium.org
d18a103e56
ARM/MIPS compilation error.
...
Due to an error during platform porting.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/91583002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 14:32:35 +00:00
mvstanton@chromium.org
f3a22f965e
The goal is to discover the appropriate heap space for objects created in full
...
code. By the time we optimize the code, we'll be able to decide on new or old
space based on the number of surviving objects after one or more gcs.
The mechanism is a "memento" placed behind objects in the heap. It's currently
done for array and object literals, with plans to use mementos for constructed
objects as well (in a later CL).
The feature is behind the flag allocation_site_pretenuring, currently off.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/40063002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 14:03:40 +00:00
verwaest@chromium.org
50a4bb5084
Remove the strict-mode flag from store handlers. It's only relevant to the IC stub.
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/91413003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18103 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 14:00:54 +00:00
rmcilroy@chromium.org
49627050d0
Avoid trying to decode the raw inline constant which is part of the aged code prologue.
...
BUG=v8:3007
LOG=N
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/88303003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18097 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 10:07:57 +00:00
yangguo@chromium.org
525876350d
Add ES specification reference to DateNow.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/89353002
Patch from Victor Costan <costan@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18094 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 09:39:41 +00:00
bmeurer@chromium.org
a02ef8ff2e
Avoid useless #ifdef DEBUG checks for the --trace-ic flag.
...
FLAG_trace_ic is constant false in non-DEBUG builds anyways.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/91003002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 09:24:42 +00:00
dslomov@chromium.org
f7927265f2
Provide "freeBuffer()" primitive for testing under ASan.
...
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/85883002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 09:22:04 +00:00
titzer@chromium.org
ddb4ad853b
Avoid copying flow-sensitive state when only a goto separates blocks.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/48353007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18090 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 07:13:00 +00:00
palfia@homejinni.com
b558a10c67
MIPS: Optimize Integer32ToSmi.
...
Port r18084 (426bc19)
Original commit message:
Optimize register constraints and code generated for Integer32ToSmi Lithium
instruction.
TEST=none
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/88623004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-26 20:31:47 +00:00
m.m.capewell@googlemail.com
f6a5a262d0
ARM: Optimize Integer32ToSmi
...
Optimize register constraints and code generated for Integer32ToSmi Lithium
instruction.
TEST=none
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/88383002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-26 16:34:13 +00:00
yangguo@chromium.org
ab96631177
Increase precision for base conversion for large integers.
...
R=jkummerow@chromium.org
BUG=v8:3025
LOG=Y
Review URL: https://codereview.chromium.org/88583002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-26 15:48:13 +00:00
yangguo@chromium.org
4240cd2506
Flatten cons string for single character substrings.
...
For substrings of non-flat cons strings, we bail out
to runtime. For single character substrings, we forget
to flatten it. This causes successive bailouts.
R=bmeurer@chromium.org
BUG=323041
LOG=Y
Review URL: https://codereview.chromium.org/88173002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-26 14:21:46 +00:00
svenpanne@chromium.org
57a0c1fec3
Removed dead ceiling function.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/88133002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-26 13:55:06 +00:00
ishell@chromium.org
f951a2e893
Range info propagation through HBoundsCheck.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/86233002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-26 13:52:44 +00:00
machenbach@chromium.org
f4c282042e
Prepare push to trunk. Now working on version 3.23.13.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/88363002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-26 13:50:16 +00:00
svenpanne@chromium.org
afdf615683
Implement Math.ceil via Math.floor.
...
This way we get all the Crankshaft goodness and avoid always going
through the runtime: Less code + even some small speedup in Kraken.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/88053002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-26 12:29:47 +00:00
titzer@chromium.org
5f2d8bc393
Disable load elimination.
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/88073002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-26 12:18:27 +00:00
yangguo@chromium.org
4716b292db
Make some ARM test cases faster.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/85473004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-26 10:43:44 +00:00
jochen@chromium.org
4765788a11
Add Isolate* parameter to static API methods that don't take one.
...
We cannot yet deprecate the versions that don't take one, because
there's too much test code in v8 using them. To keep this CL small and
managable, I'll first introduce the new APIs.
BUG=none
R=dcarney@chromium.org , svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/84833006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-26 09:45:17 +00:00
palfia@homejinni.com
1372f76357
MIPS: Generate TypedArrayInitialize builtin in hydrogen.
...
Port r18059 (b2849c3)
BUG=
R=dslomov@chromium.org , gergely@homejinni.com
Review URL: https://codereview.chromium.org/86053003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 21:25:15 +00:00
palfia@homejinni.com
4ce1b0180b
MIPS: Minor cleanup in calling interceptors for loading properties.
...
Port r18054 (59d9d99)
BUG=
Review URL: https://codereview.chromium.org/84943008
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18065 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 21:22:06 +00:00
palfia@homejinni.com
27eb59ae33
MIPS: A performance regression in array literal creation was caused by refactoring.
...
Port r18046 (99c7352)
Original commit message:
A performance regression in array literal creation was caused by refactoring that eliminated a special fast case for shallow arrays. At the same time the general case got a bit slower. This CL restores most of the performance without coding the special fast case. The virtual dispatching is unnecessary because we know what we want to do at compile time. A flag was added to Runtime::CreateArrayLiteral. The flags delivers information about shallowness but also whether or not allocation mementos should be created. This is useful for crankshafted code.
BUG=v8:3008
LOG=Y
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/85633004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 21:18:59 +00:00
m.m.capewell@googlemail.com
f4d6deb817
ARM: Optimize TypeofIsAndBranch
...
Optimize register constraints and code generated for TypeofIsAndBranch Lithium
instruction.
TEST=none
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/78583002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 19:17:21 +00:00
dslomov@chromium.org
c3a4d718ce
Generate TypedArrayInitialize builtin in hydrogen.
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/59023003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 14:41:46 +00:00
jochen@chromium.org
5e177bd658
Add versions with an Isolate parameter for inlined API methods that need one
...
We shouldn't have APIs that call Isolate::GetCurrent() internally. This
change removes all remaining occurrences of inlined methods in v8.h
BUG=none
R=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/85693002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 14:30:59 +00:00
bmeurer@chromium.org
253d155048
Drop unused Assembler::set_external_target_at() method.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/85793002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 14:07:05 +00:00
verwaest@chromium.org
80545b59fc
Minor cleanup in calling interceptors for loading properties.
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/82743003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 14:06:06 +00:00
mvstanton@chromium.org
149516c63f
Fix failing test test-api/CheckCOWArraysCreatedRuntimeCounter
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/85743002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 13:27:36 +00:00
yangguo@chromium.org
82021a832a
Force inline Math.random.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/85483002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 12:50:52 +00:00
mvstanton@chromium.org
81b22bbf96
A performance regression in array literal creation was caused by refactoring that eliminated a special fast case for shallow arrays. At the same time the general case got a bit slower. This CL restores most of the performance without coding the special fast case. The virtual dispatching is unnecessary because we know what we want to do at compile time. A flag was added to Runtime::CreateArrayLiteral. The flags delivers information about shallowness but also whether or not allocation mementos should be created. This is useful for crankshafted code.
...
BUG=v8:3008
LOG=Y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/77293003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 12:41:27 +00:00
titzer@chromium.org
f5516a5adf
Enable global load elimination.
...
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/48583005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 12:21:00 +00:00
svenpanne@chromium.org
f44901b8a9
Fixed printer for JSFunction.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/85613003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 12:19:02 +00:00
machenbach@chromium.org
289be48643
Prepare push to trunk. Now working on version 3.23.12.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/85623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 12:00:44 +00:00
svenpanne@chromium.org
0b028c7146
Unbreak console=readline.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/85343002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 08:36:46 +00:00
svenpanne@chromium.org
49bdbc4bbd
freebsd: unbreak build after r16646
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/85313002
Patch from Ben Noordhuis <ben@strongloop.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 08:15:35 +00:00
jarin@chromium.org
4e439deb0b
Support for the Linux 'perf report' and 'perf annotate' tools.
...
In this change, the support comes in two flavours:
--perf_jit_prof - outputs the files in a new perf format that only works with a
patched perf tool (patch obtained from Stephane Eranian). Both 'perf report' and
'perf annotate' are supported (the file format also contains the machine code).
--perf_basic_prof - outputs the files in a format that the existing perf tool
can consume. Only 'perf report' is supported.
In both cases, we have to disable code compaction because the perf tool does not
understand code relocation. (We are told that code relocation should be
supported soon.)
Usage:
perf record -g d8 --perf_jit_prof --no_compact_code_space my.js
perf report
The change itself is straightforward - we simply listen to code events and
write an entry to a log file for every new piece of code.
I am not yet sure whether we should keep both versions or just one (and which
one). My hope is the reviewers can help here.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/70013002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18034 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 06:44:23 +00:00
dslomov@chromium.org
21dca31203
Safe HGraphBuilder::Add<> and New<>
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/82943005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 19:05:21 +00:00
palfia@homejinni.com
18feab95b6
MIPS: Only use Type for compiling load handlers.
...
Port r18025 (74fc739)
BUG=
Review URL: https://codereview.chromium.org/83913002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 18:55:13 +00:00
palfia@homejinni.com
f81d25e335
MIPS: Use Type in CheckPrototypes.
...
Port r18024 (8956065)
BUG=
Review URL: https://codereview.chromium.org/83483005
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 18:28:44 +00:00
palfia@homejinni.com
a6be7b0f1a
MIPS: Fix and simplify code aging.
...
This commit fixes a lot of test failures that we saw earlier in the buildbots (http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20mips%20-%20sim/builds/3034/steps/Check/logs/stdio ).
In some very rare cases the code age stub address can be 0xXXXX0000 and in this case the li maco instruction emits only 1 instruction (instead of the expected 2). Thus the code age sequence will be 6 instructions long instead of 7, which breaks the code aging feature. This change makes sure that li always emits 2 instructions and it also simplifies the code aging sequence.
Also fixes a small mistake in the simulator at the jalr instruction.
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/83583003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 18:13:52 +00:00
mstarzinger@chromium.org
8982971213
Add counters for write barriers in generated code.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/78953003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 17:37:34 +00:00
palfia@homejinni.com
258d5e8a69
MIPS: Add function declarations missing from r18000.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/83423002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 16:05:48 +00:00
verwaest@chromium.org
90cecd65dc
Only use Type for compiling load handlers.
...
BUG=
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/80693002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 15:08:22 +00:00
verwaest@chromium.org
016113d945
Use Type in CheckPrototypes.
...
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/78023002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 15:06:20 +00:00
yangguo@chromium.org
aa3518a0f3
Make sure files end with exactly one new line and police this in presubmit.
...
The changes are (excluding presubmit.py) mechanical. I added the following
lines after the check and iterated the presubmit script until all errors
went away:
f = open(name, "w");
if contents.endswith('\n\n'):
f.write(contents[0:-1])
else:
f.write(contents + '\n')
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/82803005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 13:50:39 +00:00
rossberg@chromium.org
e78783a35c
Introduce Type::IsCurrently
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/83003003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 13:16:40 +00:00
ulan@chromium.org
6a4d5b4228
Invalidate embedded objects in optimized code if it was marked for deoptimization.
...
It avoids having dead pointers in code from the time it was marked for deoptimization until it is deoptimized.
BUG=320532,v8:2996
TEST=mjsunit/regress/regress-320532.js
LOG=Y
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/61213012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 13:10:31 +00:00
rossberg@chromium.org
6aec0d39ae
Minor clean-up of Type::Print
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/75423002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 12:38:49 +00:00
jochen@chromium.org
709010dead
Remove usage of deprecated APIs from d8
...
Also turn on deprecation warnings
BUG=v8:3023
R=svenpanne@chromium.org , dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/83333002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 12:35:39 +00:00
jochen@chromium.org
a294defe9b
Remove usage of deprecated APIs from v8 itself
...
Also turn on depreaction warnings
BUG=v8:3023
R=svenpanne@chromium.org , dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/83323003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 12:28:58 +00:00
bmeurer@chromium.org
7158b51125
Fix combined string length computation.
...
For 31-bit smis, we don't need to explicitly check whether the
combined string length exceeds the max supported string length,
since the value must be converted to a smi at some point (i.e.
when it is stored into the string length field of the resulting
string), which will emit an overflow check.
For 32-bit smis, we insert an explicit check that the combined
string length does not exceed String::kMaxLength.
This also enables to get rid of the JoinContinuation() usage in
BuildUncheckedStringAdd().
BUG=v8:2990
LOG=n
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/82733003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 12:03:01 +00:00
bmeurer@chromium.org
08df395f4e
Get rid of the binop_stub parameter to BuildBinaryOperation().
...
Just ask the graph builder whether we are compiling a stub.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/83073003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18004 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 11:49:04 +00:00
svenpanne@chromium.org
b6b84c02b2
Reland "Implement Math.random() purely in JavaScript" plus fixes.
...
The main change is that a bit has been added to array buffers to
signal that the backing store has to be freed when the buffer dies.
BUG=316359
LOG=Y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/82763005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 11:35:39 +00:00
jochen@chromium.org
4452341b55
Clean up incorrect V8_DEPRECATION macro usage and enable deprecatitions
...
We turn the default for standalone builds on, however, I added overrides
to all targets to turn it locally off again. In follow up CLs, I'll
clean up one target at a time.
BUG=v8:3023
R=dcarney@chromium.org , machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/82763004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 10:57:55 +00:00
yangguo@chromium.org
3acd5dcdce
Dispose external string resource on heap teardown.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/83253002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 10:52:15 +00:00
ulan@chromium.org
21fb1401bd
Restore saved caller FP registers on stub failure
...
and preserve FP registers on NotifyStubFailure.
In debug mode, clobber FP registers on each runtime call to increase
chances of catching such bugs.
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/78283002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 10:21:47 +00:00
machenbach@chromium.org
988eb40d70
Prepare push to trunk. Now working on version 3.23.11.
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/83173002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 10:04:04 +00:00
yangguo@chromium.org
a7d38f7a41
Reland: Embed trigonometric lookup table.
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/78263005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 08:25:50 +00:00
mvstanton@chromium.org
3c95790f32
Pretenuring calculation fields in AllocationSite.
...
AllocationSite-based pretenuring needs additional fields to carry out
calculations.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/43603002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 07:34:21 +00:00
bmeurer@chromium.org
da87c188ad
Rework BuildCheckString() to be compatible with the other BuildCheck*() methods.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/79343009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 07:27:26 +00:00
yangguo@chromium.org
f822855258
Revert "Use %_IsSmi instead of %MaxSmi."
...
This reverts r17983.
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/79263005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 18:47:51 +00:00
yangguo@chromium.org
166b0c83e4
Use %_IsSmi instead of %MaxSmi.
...
ToPositiveInteger already makes sure that if l can be represented as a
smi, it will be represented as a smi. This way we can avoid doing a
runtime call to retrieve a constant.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/81063002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 17:55:03 +00:00
danno@chromium.org
8e266c2244
Revert 17963, 17962 and 17955: Random number generator in JS changes
...
Revert 17966, 17965 also as collateral damage: Embed trigonometric lookup table.
Due to Heapcheck and valgrind failures that are not yet fixed.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/80513004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 17:21:00 +00:00
ishell@chromium.org
8537e167f2
Code object now prints its major_key when applicable.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/81043002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 16:55:16 +00:00
plind44@gmail.com
b624fc4e56
MIPS: Optimize AccessArgumentsAt.
...
Port r17923 (837f909)
Original commit message:
Optimize register constraints and code generated for AccessArgumentsAt Lithium instruction.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/79143007
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 15:15:50 +00:00
jochen@chromium.org
a9af0948cf
Reland r17877 - Introduce a v8::Platform class that bundles embedder callbacks
...
Over the initial commit, this CL moves the lifetime management of the default
platform to v8.cc from api.cc
R=bmeurer@chromium.org , svenpanne@chromium.org
BUG=v8:3015
LOG=n
Review URL: https://codereview.chromium.org/78453003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 14:07:06 +00:00
jochen@chromium.org
662dd44875
Remove preemption thread and API
...
BUG=v8:3004
R=svenpanne@chromium.org , yangguo@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/62283010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 13:47:37 +00:00
yangguo@chromium.org
7c67e74b48
Embed trigonometric lookup table.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/78873006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 12:57:23 +00:00
svenpanne@chromium.org
8a89306785
Use Marsaglia's original random number generator.
...
BUG=316359
LOG=Y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/80743002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 12:34:34 +00:00
svenpanne@chromium.org
bef1cb43f9
Build fix.
...
We should better initialize the random state even for non-snapshot
builds...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/77773004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 12:07:17 +00:00
svenpanne@chromium.org
2b1da67263
Implement Math.random() purely in JavaScript.
...
This removes tons of architecture-specific code and makes it easy to
experiment with other pseudo-RNG algorithms. The crankshafted code is
extremely good, keeping all things unboxed and doing only minimal
checks, so it is basically equivalent to the handwritten code.
When benchmarks are run without parallel recompilation, we get a few
percent regression on SunSpider's string-validate-input and
string-base64, but these benchmarks run so fast that the overall
SunSpider score is hardly affected and within the usual jitter. Note
that these benchmarks actually run even faster when we don't
crankshaft at all on the main thread (the regression is not caused by
bad code, it is caused by Crankshaft needing a few hundred microsecond
for compilation of a trivial function). Luckily, when parallel
recompilation is enabled, i.e. in the browser, we see no regression at
all!
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/68723002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 09:55:15 +00:00
machenbach@chromium.org
4270a0f2a8
Prepare push to trunk. Now working on version 3.23.10.
...
R=jkummerow@chromium.org , danno@chromium.org
Review URL: https://codereview.chromium.org/77243006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 09:47:23 +00:00
hpayer@chromium.org
df35c0e4d3
Do deferred migration of maps after deoptimizing once.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/50213003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 09:16:34 +00:00
jkummerow@chromium.org
293b8f7325
Fix Windows build
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/79963003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 08:38:51 +00:00
jkummerow@chromium.org
9318e1cc4a
API: Change AdjustAmountOfExternalAllocatedMemory calls to use int64_t instead
...
of intptr_t
This prevents an overflow in FreeArrayBuffer, which in turn caused needless GCs
as well as crashes on isolate teardown.
LOG=Y
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/70233010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 08:06:02 +00:00
svenpanne@chromium.org
617c2dd714
Removed dead stack printing code.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/77723007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 07:08:24 +00:00
plind44@gmail.com
c41ca55f72
MIPS: Improvement of “MIPS: Fixed crashes exposed though fuzzing.” (r17886).
...
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/78423002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 19:33:50 +00:00
plind44@gmail.com
391f05aece
MIPS: Use SmiTst and TrySmiTag MacroAssembler instructions.
...
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/78403002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 19:01:33 +00:00
plind44@gmail.com
c33cbd9f37
MIPS: Replace hard-coded stack frame size literals with StandardFrameConstants::kFixedFrameSizeFromFp.
...
Port r17925 (0b95731)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/77763006
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 18:22:18 +00:00
plind44@gmail.com
29e47d1f43
MIPS: Remove the first_right_arg hack for HMod.
...
Port r17919 (23e9644)
Original commit message:
Generate a proper subgraph in BuildBinaryOperation instead.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/78663002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 17:02:12 +00:00
jochen@chromium.org
840bc42de0
Reland r17907 - Make it possible to add more than one piece of embedder data to isolates"
...
This will allow for using gin and blink bindings in the same
process.
Over r17907, I changed the order of fields in Isolate to be stable across different platforms, since the ABI defined packing is not the same on
all targets, and I initialize the embedder data field in Isolate.
BUG=317398
R=svenpanne@chromium.org , dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/78453002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 15:16:18 +00:00
yangguo@chromium.org
2c7ebfa7f0
Increase precision when finding the remainder after division by pi/2.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/66703005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 15:04:37 +00:00
yurys@chromium.org
e7511b6234
Do not recompile existing functions when enabling allocation tracking
...
Now that we don't have special hooks for the allocations in the generated code there is no need to recompile existing functions when enabling allocation tracking.
BUG=chromium:27798
LOG=N
R=loislo@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/67743006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 14:57:39 +00:00
mvstanton@chromium.org
b90d87c382
MaterializedLiteral expressions need to cache expression depth.
...
A problem arises in recursive literal expressions due to recent
changes that defer allocation of constant literal properties
from parse time. We were calculating expression depth as a
side-effect of a lazy constant property build, but subsequent
calls for the depth always returned 1. Cache the correct depth
in the MaterializedLiteral instead.
(Related-to/very-partial-revert-of
https://codereview.chromium.org/61873003 )
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/78493002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 14:17:47 +00:00
rmcilroy@chromium.org
df38e6f9a6
Replace hard-coded stack frame size literals with StandardFrameConstants::kFixedFrameSizeFromFp
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/60763006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 13:44:24 +00:00
m.m.capewell@googlemail.com
2b1aeec591
ARM: Optimize AccessArgumentsAt
...
Optimize register constraints and code generated for AccessArgumentsAt
Lithium instruction.
TEST=none
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/78093004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 13:28:19 +00:00
verwaest@chromium.org
6557c85ff4
Use SimpleLoadField for JSObjectFieldAccessors, rather than compiling a new stub.
...
R=dslomov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/76403002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 13:25:40 +00:00
danno@chromium.org
adb39abd6d
Activate Hydrogen-generated KeyedLoadDictionary ICs
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/59813011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 12:58:10 +00:00
bmeurer@chromium.org
d38abc3bba
Remove the first_right_arg hack for HMod.
...
Generate a proper subgraph in BuildBinaryOperation instead.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/77053003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 12:43:33 +00:00
svenpanne@chromium.org
8f88467bf6
Removed unused --preallocate-message-memory flag.
...
It results in a lot of dead code, and Isolate::PrintStack itself
crashes most of the time when something went wrong earlier.
Furthermore, we have plans do get better information into the
minidump, anyway.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/78003002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 12:35:58 +00:00
bmeurer@chromium.org
4c4d911cde
Convert constant numbers at compile time.
...
TEST=mjsunit/number-tostring
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/77553005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 12:35:21 +00:00
jochen@chromium.org
bd09937300
Revert r17907 - Make it possible to add more than one piece of embedder data to isolates
...
> This will allow for using gin and blink bindings in the same process
>
> BUG=317398
> R=svenpanne@chromium.org , dcarney@chromium.org
> LOG=y
>
> Review URL: https://codereview.chromium.org/77913003
BUG=none
R=svenpanne@chromium.org
TBR=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/78093005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 12:05:44 +00:00
bmeurer@chromium.org
defee14d76
Make BuildBinaryOperation use ReturnValue instead of ReturnInstruction.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/78183002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 12:00:57 +00:00
bmeurer@chromium.org
6826b74708
Replace unsafe uses of Add<> with AddUncasted<>.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/78213002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 11:57:49 +00:00
bmeurer@chromium.org
da6d5586f9
Don't generate useless string checks for string adds.
...
If we know that one side of a string add is definitely a string
(i.e. if it's a string constant), then we don't need to emit a
string check for the argument.
This adds a new BuildCheckString() method to the graph builder,
which does "the right thing".
TEST=mjsunit/string-add
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/78063002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17912 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 11:53:09 +00:00
rmcilroy@chromium.org
782040d275
Remove deprecated v8::SetResourceConstraints without Isolate parameter
...
LOG=Y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/62193003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 11:21:51 +00:00
rmcilroy@chromium.org
57dc3139cb
Remove deprecated v8-defaults.h and defaults.cc.
...
BUG=312241
LOG=Y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/59823008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 11:20:01 +00:00
jochen@chromium.org
4515fb5c4f
Make it possible to add more than one piece of embedder data to isolates
...
This will allow for using gin and blink bindings in the same process
BUG=317398
R=svenpanne@chromium.org , dcarney@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/77913003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 10:59:13 +00:00
dcarney@chromium.org
c595853bb5
faster stack frame generation for accessor property ics
...
this is implemented for intel platforms only, as they are the only ones which show speed up with this change
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/48303002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 10:11:56 +00:00
bmeurer@chromium.org
54dc61a504
Reset overwrite mode for BinaryOpStub unless we can actually make use of it.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/77943002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 09:30:46 +00:00
machenbach@chromium.org
15582e2467
Prepare push to trunk. Now working on version 3.23.9.
...
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/77673004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 09:25:38 +00:00
plind44@gmail.com
79de22a56a
MIPS: Fixed crashes exposed though fuzzing.
...
Port r17886 (e2fb3ed)
Original commit message:
The %_OneByteSeqStringSetChar intrinsic expects its arguments to be checked before being called for efficiency reasons, but the fuzzer provided no such checks. Now the intrinsic is robust to bad input if FLAG_debug_code is set.
R=plind44@gmail.com , yangguo@chromium.org
TEST=test/mjsunit/regress/regress-320948.js
BUG=chromium:320948
LOG=Y
Review URL: https://codereview.chromium.org/68793008
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 22:23:41 +00:00
danno@chromium.org
06c7620302
Fixed crashes exposed though fuzzing.
...
The %_OneByteSeqStringSetChar intrinsic expects its arguments to be checked before being called for efficiency reasons, but the fuzzer provided no such checks. Now the intrinsic is robust to bad input if FLAG_debug_code is set.
R=yangguo@chromium.org
TEST=test/mjsunit/regress/regress-320948.js
BUG=chromium:320948
LOG=Y
Review URL: https://codereview.chromium.org/72813004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 16:41:07 +00:00
plind44@gmail.com
1cfcf25efe
MIPS: Remove unused StubType's, freeing 2 bits in Code objects.
...
Port r17867 (a305bd3)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/60763005
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 16:06:11 +00:00
plind44@gmail.com
44f3f410f4
MIPS: Properly initialize desc->origin in the MIPS assembler.
...
Port r17865 (5b2e594)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/76163003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 15:58:10 +00:00
jochen@chromium.org
e744b82fae
Revert 17877 - Introduce a v8::Platform class that bundles embedder callbacks
...
This also reverts 17879 and 17880.
BUG=v8:3015
TBR=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/76323002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 14:28:07 +00:00
jochen@chromium.org
28b807597a
Remove faulty CHECK() statement.
...
TBR=svenpanne@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/67463003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 14:15:12 +00:00
jochen@chromium.org
c24ce076e9
Introduce a v8::Platform class that bundles embedder callbacks
...
Also provide a default implementation to use in cctests.
For now, there are just two thread releated callbacks. In future CLs, I will
move callbacks registered e.g. via V8::SetFooCallback over.
BUG=v8:3015
R=svenpanne@chromium.org , danno@chromium.org
LOG=no
Review URL: https://codereview.chromium.org/75283002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 13:44:36 +00:00
verwaest@chromium.org
40d255ec82
Move template instance check from Object to FunctionTemplateInfo::IsTemplateFor
...
BUG=
R=dcarney@chromium.org
Review URL: https://chromiumcodereview.appspot.com/67613005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 13:38:15 +00:00
yangguo@chromium.org
9b6151946d
Fix debugger wrt concurrent recompilation flag.
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/76293003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 13:19:51 +00:00
jochen@chromium.org
34b534c906
Add a proper way to pass the number of processors to V8
...
BUG=321060
LOG=n
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/73463004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 13:08:37 +00:00
jkummerow@chromium.org
37443768bf
Fix register trashing in Emit*ByteSeqStringSetChar
...
This is currently not observable without --allow-natives-syntax because all internal usages are safe, but it deserves to be fixed nonetheless.
BUG=chromium:320922
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/67103003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 12:59:09 +00:00
yangguo@chromium.org
baf0f96d0b
Fix compilation.
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/61163007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 12:14:22 +00:00
bmeurer@chromium.org
b39db7bbf3
Remove unused StubType's, freeing 2 bits in Code objects.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/75973005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 12:04:54 +00:00
yangguo@chromium.org
e2563d7a8e
Make number of available threads isolate-dependent and expose it to ResourceConstraints.
...
R=svenpanne@chromium.org
BUG=v8:2991
LOG=Y
Review URL: https://codereview.chromium.org/68203029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 11:52:47 +00:00
bmeurer@chromium.org
3d2f9cf3cf
Properly initialize desc->origin in the ARM assembler.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/76073003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 11:52:38 +00:00
ishell@chromium.org
53bd540ee0
Constant-folding through HForceRepresentation fix.
...
Reverts changes in HValue::IsInteger32Constant() made in https://code.google.com/p/v8/source/detail?r=17787
R=bmeurer@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/68493005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 11:41:04 +00:00
machenbach@chromium.org
0767ee86d8
Prepare push to trunk. Now working on version 3.23.8.
...
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/59243004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 11:04:54 +00:00
mvstanton@chromium.org
bff41483dc
Bugfix: dependent code field in AllocationSite was keeping code objects alive even after context death.
...
BUG=320532
LOG=Y
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/62803008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 10:17:33 +00:00
bmeurer@chromium.org
e2613ce7ba
ARM: use vstm/vldm when possible.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/74193004
Patch from Rodolph Perfetta <rodolph.perfetta@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 06:39:36 +00:00
palfia@homejinni.com
ca5265d9c7
MIPS: Convert PatchCache (and related methods) to use types rather than objects/maps.
...
Port r17847 (67c371a4)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/75953002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 02:26:42 +00:00
palfia@homejinni.com
0817235218
MIPS: Make HTypeofIsAndBranch accept any representation input
...
Port r17834 (cf97fcb6)
Original commit message:
Make HTypeofIsAndBranch accept any representation input
when the input is known unbox number value, eliminate the dynamic check
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/75943002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17852 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 02:26:10 +00:00
plind44@gmail.com
5274b0806a
MIPS: Match max property descriptor length to corresponding bit fields.
...
Port r17823 (b1b8ae0)
BUG=v8:3010
LOG=N
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/62833011
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 20:51:30 +00:00
vegorov@chromium.org
0ec0d5fc32
Reapply r11765
...
Add static_cast<int> in HPositionInfo::position to please Win64 build.
Improvements in positions handling in optimizing compiler.
- When building binary arithmetic op and comparison restore source position of the operation itself before building operation itself after it was changed by building operands. This ensures that position recorded for operation points to the operation token instead of pointing to the rightmost operand;
- Add support for recording operands' positions and use these positions when inserting HChange instructions;
- When generating hydrogen.cfg emit H-instruction position as BCI (previously 0 was emitted), additionally on every lithium instruction emit annotation pointing to corresponding hydrogen-instruction. This allows to easily reach from deopt_id to lithium instruction and from it to hydrogen instruction and source position.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/59703011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 17:24:00 +00:00
verwaest@chromium.org
38630a765f
Convert PatchCache (and related methods) to use types rather than objects/maps.
...
R=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/75413002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 17:18:14 +00:00
dslomov@chromium.org
6c72c29506
Fix build on arm/x64 after r17840.
...
TBR=jkummerow@chromium.org
BUG=v8:3013
LOG=N
Review URL: https://codereview.chromium.org/75353002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 15:27:14 +00:00
svenpanne@chromium.org
c524efd759
Introduce addps/subps/mulps/divps for IA32/X64
...
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/60093005
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 15:24:41 +00:00
dslomov@chromium.org
6749e57f47
Fix data view accessors to throw execptions on offsets bigger than size_t.
...
R=jkummerow@chromium.org
BUG=v8:3013
LOG=Y
Review URL: https://codereview.chromium.org/74583003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 15:16:22 +00:00
dslomov@chromium.org
cb6e8b334d
Revert "Fix data view accessors to throw execptions on offsets bigger than size_t."
...
This reverts commit r17838 for breaking arm build.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/75213005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 15:05:05 +00:00
dslomov@chromium.org
dd5c7ec89e
Fix data view accessors to throw execptions on offsets bigger than size_t.
...
R=jkummerow@chromium.org
BUG=v8:3013
LOG=Y
Review URL: https://codereview.chromium.org/74583003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 14:58:16 +00:00
dslomov@chromium.org
4228132e74
Use mock ArrayBuffer allocator to avoid really allocating 1Gb.
...
R=jkummerow@chromium.org
BUG=v8:3014
LOG=N
Review URL: https://codereview.chromium.org/61623009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 14:50:45 +00:00
jkummerow@chromium.org
0ca68f712e
Make HTypeofIsAndBranch accept any representation input
...
when the input is known unbox number value, eliminate the dynamic check
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/58923004
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 14:17:33 +00:00
dslomov@chromium.org
f5c632b5e1
Ensure that ToPositiveInteger is optimizable.
...
'throw %NAME(..)' cause hydrogen optimizations to be disabled for
surrounding function. This patch rectifies.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/71153004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 14:07:24 +00:00
dslomov@chromium.org
99133912bd
Generate DataViewInitialize built-in in hydrogen.
...
R=bmeurer@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/66843011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 13:57:49 +00:00
verwaest@chromium.org
74c7fda915
Remove keyed load "force generic" miss case.
...
BUG=
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/68213024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 13:07:44 +00:00
verwaest@chromium.org
a957c323d4
Remove unused keyed store "force generic".
...
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/73893003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 13:04:48 +00:00
danno@chromium.org
f27f2fa420
Match max property descriptor length to corresponding bit fields
...
BUG=v8:3010
R=verwaest@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/72333004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 11:44:06 +00:00
machenbach@chromium.org
c16a7bb1ed
Prepare push to trunk. Now working on version 3.23.7.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/74753004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 08:51:22 +00:00
machenbach@chromium.org
1d4fd4e1e6
[Sheriff] Revert "MIPS: Ensure double aligned allocations through runtime routines."
...
This reverts commit r17809 for breaking the build.
TBR=plind44@gmail.com ,
BUG=
Review URL: https://codereview.chromium.org/74803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-17 20:53:11 +00:00
plind44@gmail.com
4e7084ebcf
MIPS: Ensure double aligned allocations through runtime routines.
...
3rd (of 3) CLs to ensure complete alignment of FixedDoubleArrays.
TEST=
BUG=
R=mstarzinger@chromium.org , plind44@gmail.com
Review URL: https://codereview.chromium.org/35313002
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-17 17:23:58 +00:00
danno@chromium.org
b2ff7a09b5
Correct r17804 to match latest version of uploaded CL
...
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/73923004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-16 15:22:09 +00:00
palfia@homejinni.com
3ba75a2dc3
MIPS: Generate KeyedLoadDictionaryElementStub with Hydrogen
...
Port r17804 (15aa3804)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/74363002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-15 21:12:51 +00:00
mstarzinger@chromium.org
ed034b39e5
Fix bogus allocation limit in allocation folding.
...
R=ishell@chromium.org
TEST=mjsunit/allocation-folding
Review URL: https://codereview.chromium.org/73563004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-15 18:44:59 +00:00
danno@chromium.org
4ed2538262
Generate KeyedLoadDictionaryElementStub with Hydrogen
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/19492007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17804 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-15 17:53:35 +00:00
plind44@gmail.com
e9bfe9bc72
MIPS: Reland and fix "Add support for keyed-call on arrays of fast elements”.
...
Port r17782 (32e3232)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/74013002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-15 17:34:34 +00:00
jkummerow@chromium.org
c9b41c6995
Limit size of dehoistable array indices
...
LOG=Y
BUG=chromium:319835,chromium:319860
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/74113002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-15 17:24:10 +00:00
dslomov@chromium.org
7936ca39be
Limit the size for typed arrays to MaxSmi.
...
R=jkummerow@chromium.org
LOG=Y
BUG=319722
Review URL: https://codereview.chromium.org/73943004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-15 16:37:15 +00:00
dslomov@chromium.org
c01aa1fc1f
Revert "Limit the size for typed arrays to MaxSmi."
...
This reverts commit r17798 for allocating too much memroy in tests.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/74093002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-15 16:25:51 +00:00
dslomov@chromium.org
09ca1318ab
Limit the size for typed arrays to MaxSmi.
...
R=jkummerow@chromium.org
LOG=Y
BUG=319722
Review URL: https://codereview.chromium.org/73943004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-15 16:09:56 +00:00
rossberg@chromium.org
edb648277a
Provide Type::Of and Type::CurrentOf operators
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/73193004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-15 15:14:09 +00:00
mstarzinger@chromium.org
7758713a8a
Allow passing flags to Runtime_AllocateInTargetSpace.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/73973002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-15 13:49:41 +00:00
mstarzinger@chromium.org
6e66fae4cf
Make some internal Heap helpers private.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/66993006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-15 13:31:13 +00:00
bmeurer@chromium.org
c54d65523c
ARM: Merge redundant entries in literal pool.
...
This patch also clean up 64-bits literals handling.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/61763025
Patch from Rodolph Perfetta <rodolph.perfetta@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-15 12:24:10 +00:00
mvstanton@chromium.org
5b9569b574
Regression fix: HForceRepresentation shouldn't be an idef.
...
Instead, code sites that are interested in underlying constant integer values
should use HValue::IsInteger32Constant(). The issue is that the infer representation phase shouldn't "see through" HForceRepresentation nodes to an underlying, and less specific representation.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/65643003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-15 12:10:59 +00:00
verwaest@chromium.org
341d405301
Reland and fix "Add support for keyed-call on arrays of fast elements"
...
BUG=
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/71783003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-15 10:52:05 +00:00
danno@chromium.org
d62337e127
Add ability to do "else-if" clauses in IfBuilder
...
- In an Else block it's possible to add more If<>'s in the same builder that are
treated as an else if.
- Simplified and cleaned-up some of the IfBuilder's internals.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/66983002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-15 10:36:02 +00:00
machenbach@chromium.org
a6ba455b59
Prepare push to trunk. Now working on version 3.23.6.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/63643004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-15 10:32:18 +00:00
verwaest@chromium.org
c3270daae6
Replace miss_mode flag with explicit Load/Store Force Generic methods.
...
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/70233009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-15 09:34:44 +00:00
bmeurer@chromium.org
2ee5aa951c
Fix missing type feedback check for Generic*String addition.
...
TEST=mjsunit/regress/regress-crbug-318671
BUG=318671
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/67473007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-15 09:13:36 +00:00
rafaelw@chromium.org
bdf78a7ad3
Reland [Object.observe] Don't force normalization of elements for observed objects
...
Original Issue: https://codereview.chromium.org/29353003/
Note that this version of the patch includes logic for bailing out of compiled ArrayPush/ArrayPop calls if the array is observed (see stub-cache-*)
R=danno@chromium.org
BUG=v8:2946
LOG=N
Review URL: https://codereview.chromium.org/68343016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 21:47:39 +00:00
rafaelw@chromium.org
25b450b2b7
Revert "Improvements in positions handling in optimizing compiler." (r17765)
...
Original issue: https://codereview.chromium.org/49203002/
TBR=vegorov
Review URL: https://codereview.chromium.org/63343003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 21:45:01 +00:00
plind44@gmail.com
f923ff3cab
MIPS: Also support smi in load-ICs.
...
Port r17756 (12e5896)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/72603006
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 21:12:22 +00:00
vegorov@chromium.org
9d440ac4c0
Improvements in positions handling in optimizing compiler.
...
- When building binary arithmetic op and comparison restore source position of the operation itself before building operation itself after it was changed by building operands. This ensures that position recorded for operation points to the operation token instead of pointing to the rightmost operand;
- Add support for recording operands' positions and use these positions when inserting HChange instructions;
- When generating hydrogen.cfg emit H-instruction position as BCI (previously 0 was emitted), additionally on every lithium instruction emit annotation pointing to corresponding hydrogen-instruction. This allows to easily reach from deopt_id to lithium instruction and from it to hydrogen instruction and source position.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/49203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 21:00:27 +00:00
rafaelw@chromium.org
5e8e9cd408
Fix GCMole warning
...
R=adamk@chromium.org
TBR=mstarzinger@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/73123002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 20:51:18 +00:00
plind44@gmail.com
ee575e8f88
MIPS: Handle all object types (minus smi) in load/store ICs.
...
Port r17755 (bfef904)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/72983002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 20:35:12 +00:00
plind44@gmail.com
488a0be3ad
MIPS: Remove unused LoadNumber* from macro assembler.
...
Port r17748 (595bed6)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/70233011
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 18:48:54 +00:00
plind44@gmail.com
166799c2c4
MIPS: Inline zero argument array constructor.
...
Port r17741 (fe14ef8)
Original commit message:
patch from issue 54583003 (dependent code).
Zero arguments - very easy
1 argument - three special cases:
a) If length is a constant in valid array length range,
no need to check it at runtime.
b) respect DoNotInline feedback on the AllocationSite for
cases that the argument is not a smi or is an integer
with a length that should create a dictionary.
c) if kind feedback is non-holey, and length is non-constant,
we'd have to generate a lot of code to be correct.
Don't inline this case.
N arguments - one special case:
a) If a deopt ever occurs because an input argument isn't
compatible with the elements kind, then set the
DoNotInline flag.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/72893003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17759 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 18:44:05 +00:00
rafaelw@chromium.org
161cc3cd2a
Handlify JSObject::SetElement & brethren
...
Because SetElement & co are interdependent, this patch handlfies all of JSObject::
-SetElement
-SetFastElement
-SetDictionaryElement
-SetFastDoubleElement
-SetElementWithInterceptor
-SetElementWithoutInterceptor
-SetElementWithCallbackSetterInPrototype
R=mstarzinger@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/66803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 17:30:48 +00:00
verwaest@chromium.org
6befb8d5cd
Also support smi in load-ICs.
...
BUG=
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/68523009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 16:37:36 +00:00
verwaest@chromium.org
93f2ed48d9
Handle all object types (minus smi) in load/store ICs
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/62953007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 16:25:31 +00:00
mstarzinger@chromium.org
883a5c803c
Remove obsolete distance switch in SubStringStub::Generate.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/72073004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 16:03:55 +00:00
ulan@chromium.org
31493412c4
Do not update survival rate if the new space size is zero.
...
BUG=v8:2333
LOG=N
R=hpayer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/48443002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 15:25:21 +00:00
mstarzinger@chromium.org
9f4591c368
Add ability to disable inline bump-pointer allocation.
...
R=ulan@chromium.org , yurys@chromium.org
TEST=cctest/test-heap/DisableInlineAllocation
Review URL: https://codereview.chromium.org/69953023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 15:14:37 +00:00
machenbach@chromium.org
eef8694a7e
[Sheriff] Revert "Add support for keyed-call on arrays of fast elements"
...
This reverts commit r17746 for breaking layout tests.
TBR=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/72753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 15:00:13 +00:00
yangguo@chromium.org
fe0987c98d
Remove unused LoadNumber* from ARM macro assembler.
...
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/70093002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 14:15:52 +00:00
yangguo@chromium.org
34c830c086
Fix duplicate check in DependentCode::Insert.
...
R=ulan@chromium.org
BUG=318454
Review URL: https://codereview.chromium.org/71653008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17747 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 14:14:11 +00:00
verwaest@chromium.org
607a175cbc
Add support for keyed-call on arrays of fast elements
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23537067
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 13:46:18 +00:00
yurys@chromium.org
c7b1b79e4d
This is the exact copy of r17365 which was reverted in r17488 due to memory corruption. The root cause for the memory corruption - missing check for bump pointer limit before storing filler map must be addressed in r17626 where allocation hooks were removed from the generated code and left only in the runtime.
...
This is initial implementation of allocation profiler.
Whenever new object allocation is reported to the HeapProfiler and allocation tracking is on we will capture current stack trace, add it to the collection of the allocation traces (a tree) and attribute the allocated size to the top JS function on the stack.
Format of serialized heap snapshot is extended to include information about recorded allocation stack traces.
This patch is r17301 plus a fix for the test crash in debug mode. The test crashed because we were traversing stack trace when just allocated object wasn't completely configured, in particular the map pointer was incorrect. Invalid Map pointer broke heap iteration required to find Code object for a given pc during stack traversal. The solution is to insert free space filler in the newly allocated block just before collecting stack trace.
BUG=chromium:277984,v8:2949
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/61893031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 12:13:26 +00:00
mvstanton@chromium.org
3cf157b43b
Inline zero argument array constructor.
...
patch from issue 54583003 (dependent code).
Zero arguments - very easy
1 argument - three special cases:
a) If length is a constant in valid array length range,
no need to check it at runtime.
b) respect DoNotInline feedback on the AllocationSite for
cases that the argument is not a smi or is an integer
with a length that should create a dictionary.
c) if kind feedback is non-holey, and length is non-constant,
we'd have to generate a lot of code to be correct.
Don't inline this case.
N arguments - one special case:
a) If a deopt ever occurs because an input argument isn't
compatible with the elements kind, then set the
DoNotInline flag.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/55933002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 12:05:09 +00:00
verwaest@chromium.org
f6af4e19f5
Avoid integer overflow in CopyMap.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/63173023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 11:56:03 +00:00
dslomov@chromium.org
230d5bf3af
Runtime CHECK for overflow in NewTypedArray.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/62713006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 11:52:24 +00:00
dslomov@chromium.org
aefa2a2161
Reland "Harden NumberToSize against overflows."
...
The callers to NumberToSize are supposed to validate the number, but
this adds a last line of defense.
TBR=jkummerow@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/61733021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 11:40:32 +00:00
dslomov@chromium.org
fe70e2d694
Revert "Harden NumberToSize against overflows."
...
This reverts commit r17733 for breaking Linux build.
TBR=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/69243005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 11:19:30 +00:00
dslomov@chromium.org
10138add57
Harden NumberToSize against overflows.
...
The callers to NumberToSize are supposed to validate the number, but
this adds a last line of defense.
R=jkummerow@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/72323003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 11:14:06 +00:00
machenbach@chromium.org
37dcc41d29
Prepare push to trunk. Now working on version 3.23.5.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/72623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 10:54:36 +00:00
yangguo@chromium.org
b1fd56dd7c
Magic fix for Math.sin/cos.
...
It turns out that Sunspider 1.0's 3d-morph verifies that the floating
point error must start with 6.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/61593008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 10:11:06 +00:00
danno@chromium.org
28ed69b8fb
Fix overflow in TypedArray initialization function
...
BUG=chromium:319120
TEST=test/mjsunit/regress/regress-319120.js
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/61753013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17711 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 06:20:48 +00:00
plind44@gmail.com
cd7a1c740a
MIPS: Simplify behavior of code stubs that accept a variable number of stack arguments in addition to their parameters.
...
Port r17680 (cc0b972)
Original commit message:
Before, we'd add a special
variable to the environment with the value of a register with the
number of arguments. Now, that register just appears as a parameter to
the code stub.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/70163006
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 18:23:42 +00:00
mvstanton@chromium.org
026c5507bd
Make HForceRepresentation an idef.
...
An optimization in the array constructor wasn't firing because the code
would check for constant values, failing to find them through
intervening HForceRepresentation instructions. Repaired this site. A
follow-on CL will provide a better way of making decisions based on
constant HValues.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/59623009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 17:03:11 +00:00
dslomov@chromium.org
e4ddf3ca48
Remove boilerplate code in DataView getter/setter implementations
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/68503006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 16:11:36 +00:00
yangguo@chromium.org
8769c92bc9
Slight change to Math.sin approximation.
...
This is again to make sunspider's weird result verification happy.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/61753011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 16:10:03 +00:00
rmcilroy@chromium.org
82d7855748
Fix shared library build after r17696
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/71573002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 15:32:02 +00:00
rmcilroy@chromium.org
96b18590fd
Enable physical memory argument to be passed as an argument to ConfigureResourceConstraintsForPlatform.
...
BUG=312241
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/68203003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 14:05:06 +00:00
machenbach@chromium.org
f903c0fc9a
Prepare push to trunk. Now working on version 3.23.4.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/71443002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 12:19:42 +00:00
rossberg@chromium.org
67edfbaef8
Fix warnings
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/71373003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 12:18:52 +00:00
yangguo@chromium.org
7206330260
Change table size for trigonometric functions.
...
Sunspider verifies floating point results to the last bit, so this is to
make sure that we return the expected result.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/71123003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 10:44:28 +00:00
rossberg@chromium.org
cec8383cff
Provide private symbols through internal APIs
...
Adds a notion of private symbols, mainly intended for internal use, especially, self-hosting of built-in types that would otherwise require new C++ classes.
On the JS side (i.e., in built-ins), private properties can be created and accessed through a set of macros:
NEW_PRIVATE(print_name)
HAS_PRIVATE(obj, sym)
GET_PRIVATE(obj, sym)
SET_PRIVATE(obj, sym, val)
DELETE_PRIVATE(obj, sym)
In the V8 API, they are accessible via a new class Private, and respective HasPrivate/Get/Private/SetPrivate/DeletePrivate methods on calss Object.
These APIs are designed and restricted such that their implementation can later be replaced by whatever ES7+ will officially provide.
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/48923002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 10:34:06 +00:00
mvstanton@chromium.org
9d6dddb9ae
Simplify behavior of code stubs that accept a variable number of stack
...
arguments in addition to their parameters. Before, we'd add a special
variable to the environment with the value of a register with the
number of arguments. Now, that register just appears as a parameter to
the code stub.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/70203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17680 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 10:07:04 +00:00
palfia@homejinni.com
93c6ba639b
MIPS: Fix usage of EmitBranch in compare-minus-zero-and-branch.
...
Port r17669 (132efad)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/71003003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 02:56:30 +00:00
plind44@gmail.com
6b461c7f15
MIPS: Fix build after r17654.
...
FullCodeGenerator::EmitMathFloor(CallRuntime* expr) function is not used anywhere and breaks the build.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/69293010
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 19:40:56 +00:00
plind44@gmail.com
e23ac61f60
MIPS: Introduce %_IsMinusZero.
...
Port r17639 (45b8a52)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/61203006
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17671 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 19:05:38 +00:00
yangguo@chromium.org
108538f151
Fix usage of EmitBranch in compare-minus-zero-and-branch.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/68933009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 17:18:05 +00:00
jkummerow@chromium.org
cbdd896345
Revert "linux: use CLOCK_{REALTIME,MONOTONIC}_COARSE"
...
This reverts r17642 (and follow-up fix r17644) for crashing the Chrome sandbox.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/69933005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17668 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 17:10:30 +00:00
mstarzinger@chromium.org
102950d7a3
Remove dead FixedSpace class from the spaces hierarchy.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/66003003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17667 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 16:36:14 +00:00
plind44@gmail.com
33f6db6a98
MIPS: Add initial hydrogenized NewStringAddStub.
...
Port r17635 (14180b1)
Original commit message:
The new stub is enabled via the --new-string-add flag, which is
disabled by default. For now, it's only a stripped down version
of the native StringAddStub, it's still work-in-progress.
BUG=v8:2990
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/69953005
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 16:24:13 +00:00
yangguo@chromium.org
41db9af665
Fix implementation of compare-minus-zero-and-branch on ia32 and x64.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/63573004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 15:11:06 +00:00
yangguo@chromium.org
e83fd01ce6
Reland "Implement Math.sin, cos and tan using table lookup and spline interpolation."
...
This relands r17594 with necessary fixes.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/70003004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17654 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 14:43:18 +00:00
yangguo@chromium.org
b2df9bca3f
Use %_IsMinusZero where applicable to replace hackery.
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/68453005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 14:20:53 +00:00
mstarzinger@chromium.org
d8e85bf0e0
Remove dead Space::ReserveSpace implementations.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/67813009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 14:15:29 +00:00
bmeurer@chromium.org
0f5a524bcf
CLOCK_REALTIME is 0 on Linux, use -1 for invalid clock id.
...
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/70133003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 12:30:59 +00:00
bmeurer@chromium.org
a20330e846
linux: use CLOCK_{REALTIME,MONOTONIC}_COARSE
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/68203004
Patch from Ben Noordhuis <info@bnoordhuis.nl>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17642 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 12:18:35 +00:00
jkummerow@chromium.org
6aad7fb992
Fix compilation with GCC 4.8
...
BUG=v8:2767,v8:2149
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/69413002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 12:09:38 +00:00
yangguo@chromium.org
df9665032e
Introduce %_IsMinusZero.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/63423004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 11:53:13 +00:00
jochen@chromium.org
7df10557a5
Add explicit Isolate parameter to External::New
...
We can't deprecate the non-Isolate version yet but soon will.
R=svenpanne@chromium.org , svenpanne@google.com
BUG=266838
Review URL: https://codereview.chromium.org/70163002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 11:44:58 +00:00
bmeurer@chromium.org
6f75e92902
Add initial hydrogenized NewStringAddStub.
...
The new stub is enabled via the --new-string-add flag, which is
disabled by default. For now, it's only a stripped down version
of the native StringAddStub, it's still work-in-progress.
BUG=v8:2990
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/61893009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17635 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 10:21:08 +00:00
svenpanne@chromium.org
51d637a073
Refine CopyBytes macro instruction in IA32/X64
...
Use DWORD/QWORD copy for more short cases
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/66073003
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 09:08:51 +00:00
machenbach@chromium.org
5fcc956a98
Prepare push to trunk. Now working on version 3.23.3.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/68413006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 09:03:08 +00:00
svenpanne@chromium.org
22b9adce49
Have mercy and don't kill the Context::Scope immediately after birth.
...
BUG=v8::2994
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/68693003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 07:03:59 +00:00
mstarzinger@chromium.org
8f611593a4
Simplify current inline allocation tracking mechanism.
...
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/65043006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-11 18:00:52 +00:00
mstarzinger@chromium.org
a6795ea92e
Move old-space allocation tracking into Heap::AllocateRaw.
...
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/68663002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-11 17:46:08 +00:00
mstarzinger@chromium.org
d5cb83f4aa
Fix invalid reuse of weak global handle in GetScriptWrapper.
...
This fixes a direct usage of a weak global handle in GetScriptWrapper
that just casted it to a strong local handle, while a subsequent GC
might clear it. Handlepocalypse anyone?
R=machenbach@chromium.org
BUG=v8:2988
TEST=mjsunit/regress/regress-2988
Review URL: https://codereview.chromium.org/67273004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-11 16:27:36 +00:00
yangguo@chromium.org
7fd7bbdcad
Fix potential assertion failure.
...
R=mvstanton@chromium.org
BUG=
Review URL: https://codereview.chromium.org/68913002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-11 15:28:47 +00:00
yangguo@chromium.org
c304afe54d
Fix potential assertion failure in ConvertCase.
...
IsOneByteRepresentationUnderneath requires the string to be flat, which is not
guaranteed in this case. Using IsOneByteRepresentation is sufficient here.
R=mvstanton@chromium.org
BUG=
Review URL: https://codereview.chromium.org/62493007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17620 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-11 14:51:56 +00:00
bmeurer@chromium.org
f681608d32
Revert "Use CLOCK_MONOTONIC_COARSE and CLOCK_REALTIME_COARSE on Linux if available."
...
This reverts commit r17611 for breaking the host toolchain build
for Android (missing clock_gettime() and clock_getres() functions).
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/68513002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17614 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-11 08:46:45 +00:00
bmeurer@chromium.org
a1d339a389
Remove unused ParserMessage class.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/52093007
Patch from Adrian Perez de Castro <aperez@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17613 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-11 08:07:37 +00:00
bmeurer@chromium.org
e2f552c342
Use CLOCK_MONOTONIC_COARSE and CLOCK_REALTIME_COARSE on Linux if available.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/51333007
Patch from Ben Noordhuis <info@bnoordhuis.nl>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-11 07:49:18 +00:00
palfia@homejinni.com
b9ce668437
Set at least PTHREAD_STACK_MIN stack size when creating threads.
...
This patch makes sure, that the stack size of the new threads are never
less than PTHREAD_STACK_MIN, otherwise the pthread_attr_setstacksize()
function sets the default stack size (8MB), which leads to failure
in the BootUpMemoryUse test.
TEST=cctest/test-mark-compact/BootUpMemoryUse
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/63183003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17610 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-09 00:14:21 +00:00
plind44@gmail.com
c4a4c95e32
MIPS: Reland 17588: Add signed/unsigned 8-bit and 16-bit Representations to Crankshaft.
...
Port r17606 (bc5ef55)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/66163007
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 19:35:37 +00:00
rafaelw@chromium.org
4bc568b77a
Revert "Reland [Object.observe] Don't force normalization of elements for observed objects"
...
TBR=danno
BUG=
Review URL: https://codereview.chromium.org/67233002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 19:33:05 +00:00
rafaelw@chromium.org
ca8f947664
Reland [Object.observe] Don't force normalization of elements for observed objects
...
Original Issue: https://codereview.chromium.org/29353003/
TBR=danno
BUG=v8:2946
Review URL: https://codereview.chromium.org/66933003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17607 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 19:12:43 +00:00
danno@chromium.org
6fdec542bb
Reland 17588: Add signed/unsigned 8-bit and 16-bit Representations to Crankshaft
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/66193004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 17:35:58 +00:00
mstarzinger@chromium.org
8830bba1ef
Move new-space allocation tracking into Heap::AllocateRaw.
...
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/66683004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 17:23:25 +00:00
mstarzinger@chromium.org
9babb0a7e7
Make runtime new-space allocations go through Heap::AllocateRaw.
...
R=ulan@chromium.org , ishell@chromium.org
Review URL: https://codereview.chromium.org/66723003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17603 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 17:09:14 +00:00
rafaelw@chromium.org
c824bfb44a
Revert "[Object.observe] Don't force normalization of elements for observed objects"
...
Broke ARM build
TBR=danno
BUG=
Review URL: https://codereview.chromium.org/66603004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 15:36:22 +00:00
rafaelw@chromium.org
d462dca64a
[Object.observe] Don't force normalization of elements for observed objects
...
BUG=v8:2946
R=danno@chromium.org
Review URL: https://codereview.chromium.org/29353003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 14:55:13 +00:00
ulan@chromium.org
bc4ad49b25
Do not add values to HGraph in Lithium.
...
Lithium uses indexes after the maximium value ID in the HGraph as indexes
of virtual registers and assumes that the maximum value ID does not change.
The IsStandardConstant and GetConstantXX functions could add constants to
HGraph, which aliased virtual registers with real values. This could confuse
the register allocator to think that a value in a virtual register is tagged
and to incorrectly set it in the pointer map.
BUG=298269
TEST=mjsunit/regress/regress-298269.js
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/66693002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 14:16:34 +00:00
verwaest@chromium.org
af66a0b300
Revert "Add signed/unsigned 8-bit and 16-bit Representations to Crankshaft"
...
Revert "Fix ARM build"
Revert "Fix ARM build (again)"
TBR=danno@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/66553004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 13:54:34 +00:00
yangguo@chromium.org
9f104a1a3e
Revert "Implement Math.sin, cos and tan using table lookup and spline interpolation."
...
This reverts commit r17594.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/59153007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 13:44:27 +00:00
yangguo@chromium.org
063b7c4ebb
Implement Math.sin, cos and tan using table lookup and spline interpolation.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/50563003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 13:10:39 +00:00
danno@chromium.org
1222255b9c
Add signed/unsigned 8-bit and 16-bit Representations to Crankshaft
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/61623004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 11:50:23 +00:00
yangguo@chromium.org
94eb5904a6
Fix error message wording when instanceof throws.
...
R=bmeurer@chromium.org
BUG=82797, v8:1593
Review URL: https://codereview.chromium.org/66463002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 11:45:56 +00:00
yangguo@chromium.org
fc1dadce9b
Use register allocator for context on x64.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/50863002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 10:58:51 +00:00
svenpanne@chromium.org
ba24c3a79f
Removed dead function V8::FillHeapNumberWithRandom.
...
Removed a useless test case along the way.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/65143007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 10:55:01 +00:00
jkummerow@chromium.org
a556b7c99b
Use nearlabel AFAP in lithium codegen
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/47533002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 10:52:07 +00:00
machenbach@chromium.org
ed0d2c5cd2
Prepare push to trunk. Now working on version 3.23.2.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/59933005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 09:10:19 +00:00
bmeurer@chromium.org
3f1fc2385a
Remove unused ValueInfo struct
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/46673004
Patch from Adrian Perez de Castro <aperez@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 07:45:15 +00:00
palfia@homejinni.com
dc8eb9a0c8
MIPS: Proper support for deopt_every_n_times option on the x64 and ARM architectures.
...
Port r17564 (b928ddeb)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/65903002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 00:47:34 +00:00
palfia@homejinni.com
56ca009108
MIPS: Add new HSeqStringGetChar instruction.
...
Port r17565 (dce7927c)
Original commit message:
This instruction is required for copying characters from sequential
strings in the hydrogenized StringAddStub.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/65483002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 21:59:45 +00:00
plind44@gmail.com
eec6ed57fb
MIPS: Turn Load/StoreGlobal into a handler.
...
Port r17550 (3e0015e)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/60733010
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 20:11:18 +00:00
plind44@gmail.com
bd146ae499
MIPS: Refine CountOperation of FullCodeGen.
...
Port r17547 (a4b59e4)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/64893002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 19:28:58 +00:00
vegorov@chromium.org
adae3f77ec
Allow redirecting disassembly and deoptimization traces into a file.
...
This is controlled by two flags:
--redirect_code_traces
--redirect_code_traces_to=<filename>
When redirection is enabled but --redirect_code_traces_to is not specified traces are written to a file code-<pid>-<isolate>.asm. This mangling scheme matches hydrogen.cfg and allows easy discovery of compilation artifacts in a multi-V8 environment (e.g. when compilation is traced from inside Chromium).
D8 defines --redirect_code_traces_to=code.asm similar to hydrogen.cfg redirection.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/43273004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 16:35:27 +00:00
yangguo@chromium.org
d538ff90b5
Disable concurrent osr when concurrent recompilation is disabled.
...
Also introduce a flag for a quick check that concurrency is on.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/64543004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 16:25:20 +00:00
mstarzinger@chromium.org
59536de77d
Make HCapturedObjects non-deletable for DCE.
...
R=jkummerow@chromium.org
BUG=v8:2987
TEST=mjsunit/regress/regress-2987
Review URL: https://codereview.chromium.org/64433002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 16:07:19 +00:00
dslomov@chromium.org
f3acd446ad
Speed up typed array constructors.
...
- Avoid calls into ToPositiveInteger for valid cases of 'undefined' arguments.
(Otherwise it calls into runtime).
- Reduce the checks performed in case offset for TypedArrayFromArrayBuffer
constructor is called with no offset argument.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/59763010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 14:56:40 +00:00
yangguo@chromium.org
233b8b4f96
Fix clang debug build.
...
BUG=
R=rafaelw@chromium.org
Review URL: https://codereview.chromium.org/64243003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 14:45:17 +00:00
bmeurer@chromium.org
0990f44f00
Add new HSeqStringGetChar instruction.
...
This instruction is required for copying characters from sequential
strings in the hydrogenized StringAddStub.
BUG=v8:2990
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/63863005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 13:43:03 +00:00
jarin@chromium.org
363659d7e6
Proper support for deopt_every_n_times option on the x64 and ARM architectures.
...
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/62293002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 13:09:48 +00:00
bmeurer@chromium.org
cc5c9e9ae8
Revert "Add new HSeqStringGetChar instruction."
...
This reverts commit r17562 for invalid usage of movw to load string
characters. Will reland with fix.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/64333002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 13:03:03 +00:00
bmeurer@chromium.org
e2c8e45402
Add new HSeqStringGetChar instruction.
...
This instruction is required for copying characters from sequential
strings in the hydrogenized StringAddStub.
BUG=v8:2990
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/63863005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 12:59:35 +00:00
rafaelw@chromium.org
ef0c647c49
Handlify Runtime::SetObjectProperty
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/62333002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 12:35:57 +00:00
mstarzinger@chromium.org
acac89008d
Defer allocation of constant literal properties.
...
This moves building of constant properties and elements arrays for all
materialized literals into the compiler. The parser no longer allocates
while parsing ObjectLiteral and ArrayLiteral expressions.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/61873003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 12:08:37 +00:00
verwaest@chromium.org
1813231c97
Cleanup stub-cache's obsolete ComputeLoad/Store interface.
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/64023003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 10:52:41 +00:00
verwaest@chromium.org
ff60216196
Remove DisallowHeapAllocation requirement now that the target() is cached on the IC.
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/61773004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 10:18:56 +00:00
verwaest@chromium.org
442e77d536
Turn Load/StoreGlobal into a handler.
...
BUG=
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/26968004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 10:17:13 +00:00
haitao.feng@intel.com
e7ef18110d
Refine CountOperation of FullCodeGen
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/42973002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 09:34:52 +00:00
yangguo@chromium.org
eb550c6da4
Fix y-umlaut to uppercase.
...
R=dcarney@chromium.org
BUG=v8:2984
Review URL: https://codereview.chromium.org/59853006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 09:08:34 +00:00
svenpanne@chromium.org
c44a4d383c
Removed useless getter/setter.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/64013002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 08:23:09 +00:00
haitao.feng@intel.com
6e0ccacc7a
Refactor loading a pointer and loading an integer64 into a register instructions for X64
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/39543003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 08:14:27 +00:00
svenpanne@chromium.org
4ac37914ec
Refactored ObjectSerializer::VisitFoo functions.
...
Tiny superficial cleanup to make the similarities more visible.
Removed a few useless assertions on the way.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/60363006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17539 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 07:37:28 +00:00
svenpanne@chromium.org
4efb05dfe4
Fix WIN64 build
...
Review URL: https://codereview.chromium.org/63703002
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 07:17:57 +00:00
haitao.feng@intel.com
d3c6c4ce0c
Move movq(Register, ExternalReference) into X64 MacroAssembler
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/43333003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 02:08:53 +00:00
plind44@gmail.com
64250b8117
MIPS: Improve implementation of HSeqStringSetChar.
...
Port r17521 (c51c75e)
Original commit message:
This improves the generated code for HSeqStringSetChar across
all platforms, taking advantage of constant operands whenever
possible. It also drops the unused DefineSameAsFirst constraint
for the register allocator on x64 and ia32, where it caused
unnecessary spills when the string operand was live across the
HSeqStringSetChar instruction.
A new GVN flag StringChars is introduced to express dependencies
between HSeqStringSetChar, HStringCharCodeAt and the upcoming
HSeqStringGetChar (the GVNFlags type is now 64bit in size).
Also improves the test case.
TEST=mjsunit/string-natives
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/61893003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 23:52:37 +00:00
plind44@gmail.com
60067c9a33
MIPS: Correct handling of arrays with callbacks in the prototype chain.
...
Port r17525 (55b95f3)
Original commit message:
Our generic KeyedStoreIC doesn't handle the case when a callback is
set on array elements in the prototype chain of the object, nor do
we recognize that we need to avoid the monomorphic case if these
callbacks exist.
This CL addresses the issue by looking for dictionary elements in
the prototype chain on IC misses and crankshaft element store
instructions. When found, the generic IC is used. The generic IC is
changed to go to the runtime in this case too.
In general, keyed loads are immune from this problem because they
won't return the hole: discovery of the hole goes to the runtime where
the callback will be found in the prototype chain. Double array loads
in crankshaft can return the hole but only if the prototype chain is
unaltered (we will catch such alterations).
Includes the following patch as well (already reviewed by bmeurer):
Performance regression found in test regress-2185-2.js. The problem was
that the bailout method for TransitionAndStoreStub was not performing
the appropriate transition.
(Review URL for the ElementsTransitionAndStoreIC_Miss change:
https://codereview.chromium.org/26911007 )
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/63083002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 21:22:41 +00:00
verwaest@chromium.org
c809433941
Revert "Landing https://codereview.chromium.org/40133004 for mnita@google.com." due to test failures.
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/62563002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 18:19:26 +00:00
cira@chromium.org
ef05eef033
Landing https://codereview.chromium.org/40133004 for mnita@google.com.
...
Implements ES6 String.prototype.normalize method.
BUG=v8:2943
TEST=Unit tests for "real life" use cases, edge cases, various types of normalization.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/60013010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 17:27:31 +00:00
mstarzinger@chromium.org
3e9786ef24
Add three string constants from parser to the root-set.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/62143002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 17:05:50 +00:00
rafaelw@chromium.org
1a74e27994
Handlify ForceSetObjectProperty
...
Note that I've left the layering as is to make the diffs clear. Is it worth moving ForceSetObjectProperty to objects.cc? This code is clearly implementing part of the DefineOrRedefine steps from the spec, but it's still odd that it lives in Runtime. Note that handles.cc exposes a ForceSetProperty which just performs a CALL_HEAP_FUNCTION on the Runtime::ForceSetObjectProperty -- which is exposed to the api as v8::Object::ForceSet
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/61883002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 16:32:47 +00:00
dslomov@chromium.org
9ae4f9c2ca
Ensure that typed array constructors are crankshaftable.
...
Also, do not allocate sub-closures for every call to typed array constructor.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/59913003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 16:28:38 +00:00
yangguo@chromium.org
b8a77348b2
Age ICs on context dispose notification.
...
R=ulan@chromium.org
BUG=309723
Review URL: https://codereview.chromium.org/59383012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 15:47:05 +00:00
mvstanton@chromium.org
cec8548d0e
Correct handling of arrays with callbacks in the prototype chain.
...
Our generic KeyedStoreIC doesn't handle the case when a callback is
set on array elements in the prototype chain of the object, nor do
we recognize that we need to avoid the monomorphic case if these
callbacks exist.
This CL addresses the issue by looking for dictionary elements in
the prototype chain on IC misses and crankshaft element store
instructions. When found, the generic IC is used. The generic IC is
changed to go to the runtime in this case too.
In general, keyed loads are immune from this problem because they
won't return the hole: discovery of the hole goes to the runtime where
the callback will be found in the prototype chain. Double array loads
in crankshaft can return the hole but only if the prototype chain is
unaltered (we will catch such alterations).
Includes the following patch as well (already reviewed by bmeurer):
Performance regression found in test regress-2185-2.js. The problem was
that the bailout method for TransitionAndStoreStub was not performing
the appropriate transition.
(Review URL for the ElementsTransitionAndStoreIC_Miss change:
https://codereview.chromium.org/26911007 )
R=danno@chromium.org
Review URL: https://codereview.chromium.org/35413006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 15:45:43 +00:00
bmeurer@chromium.org
0112cb28e7
Another fix for windows breakage after r17521.
...
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/61953002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 13:42:00 +00:00
bmeurer@chromium.org
80728e6f40
Fix windows build after r17521.
...
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/61943002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 13:20:14 +00:00
bmeurer@chromium.org
980739a29c
Improve implementation of HSeqStringSetChar.
...
This improves the generated code for HSeqStringSetChar across
all platforms, taking advantage of constant operands whenever
possible. It also drops the unused DefineSameAsFirst constraint
for the register allocator on x64 and ia32, where it caused
unnecessary spills when the string operand was live across the
HSeqStringSetChar instruction.
A new GVN flag StringChars is introduced to express dependencies
between HSeqStringSetChar, HStringCharCodeAt and the upcoming
HSeqStringGetChar (the GVNFlags type is now 64bit in size).
Also improves the test case.
TEST=mjsunit/string-natives
R=mstarzinger@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/57383004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 13:09:22 +00:00
rafaelw@chromium.org
13f722cae4
[Object.observe] rename intrinsic change record types for consitency.
...
Note the spec now reflects the updated naming:
http://wiki.ecmascript.org/doku.php?id=harmony:observe_spec_changes
R=rossberg@chromium.org , rossberg
BUG=v8:2940
Review URL: https://codereview.chromium.org/46043020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 12:14:24 +00:00
verwaest@chromium.org
69ad98223a
Prepare push to trunk. Now working on version 3.23.1.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/60513010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 12:01:03 +00:00
mstarzinger@chromium.org
88be0606cf
Add support for tracking NotExectuted/ExecutedOnceCodeAge's when --track_gc_object_stats flag is set.
...
BUG=None
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/40003002
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 09:29:09 +00:00
bmeurer@chromium.org
3c8cee2f8d
Add isolate parameter to SetResourceConstraints, and deprecate version which depends on current isolate.
...
BUG=None
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/38993005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 06:59:32 +00:00
plind44@gmail.com
b45bb17547
MIPS: Avoid using dd() in Prologue when --optimize-for-size.
...
Port: r17485 (0d82025)
Original commit message:
When --optimize-for-size is true, the prologue generation outputs the
pre-aging code stub address directly to the instruction stream. Previously
this was done using dd() which failed if there was any pending constant
pool entries left to be written. This CL introduces an emit_code_stub_address()
for this purpose instead.
BUG=v8:2968
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 20:48:35 +00:00
plind44@gmail.com
4e4169d599
MIPS: Try to use Push instead of push sequences whenever possible.
...
Port r17466 (e519285)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/58853003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 19:56:40 +00:00
plind44@gmail.com
ebc5445912
MIPS: Use loop to initialize locals when optimizing for size.
...
Port r17465 (9f3f3d1)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/59853002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 17:52:47 +00:00
rafaelw@chromium.org
9f80c8d72e
Remove unused IdempotentPointerToHandleCodeTrampoline
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/59973006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 17:45:42 +00:00
yangguo@chromium.org
371265eec4
Revert "Handlify concat string and substring."
...
This reverts r17490.
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/59973004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 15:36:15 +00:00
rafaelw@chromium.org
b9883beaba
Remove SetLocalPropertiesIgnoreAttributesTrampoline
...
BUG=v8:2877
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/59343003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 15:33:14 +00:00
svenpanne@chromium.org
c9f55136ad
Add back assertion SetResourceConstraints.
...
This reverts commit f7f04272208d565020b528145ce6cef0f89c7079.
BUG=312233
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/59133003
Patch from Ross Mcilroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 14:24:57 +00:00
svenpanne@chromium.org
43eb7076a1
Simplified Assembler::target_pointer_address_at.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/59913002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 14:22:12 +00:00
dslomov@chromium.org
6179ebbf42
Add simple inline macros to js2c and use that for typed array constructors.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/44173003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 14:08:03 +00:00
yangguo@chromium.org
23d085c691
Handlify concat string and substring.
...
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/50073005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 14:07:07 +00:00
rafaelw@chromium.org
841dd1cbe2
Remove calls to SetLocalPropertyIgnoreAttributesTrampoline from accessors.cc
...
BUG=v8:2877
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/59773002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 13:47:51 +00:00
bmeurer@chromium.org
b8660f2091
Revert "Record allocation stack traces".
...
This reverts commit r17365 for memory corruption. The issues
are most probably related to storing a filler map without
checking the bump pointer first, and traversing the stack
when called from within a stub (or builtin), while the code
assumes that it's called from a JS function.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/59583003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 13:46:11 +00:00
mstarzinger@chromium.org
ae8824e5de
Handlify Heap::AllocateFunctionPrototype method.
...
R=rossberg@chromium.org
BUG=v8:2877
Review URL: https://codereview.chromium.org/37463002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 13:34:14 +00:00
loislo@chromium.org
a4b4cfdc58
HeapProfiler: provide human readable names for code objects.
...
It is very hard to understand the structure of the heap even for about:blank page
because code objects in the heap have no names. This patch propagates the names
for Code::STUB and Code::BUILTIN code objects.
Also it assign function names from SharedFunctionInfo to the code objects.
BUG=
R=alph@chromium.org , svenpanne@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/52643002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 13:23:03 +00:00
machenbach@chromium.org
6069b062ae
Avoid using dd() in Prologue when --optimize-for-size.
...
When --optimize-for-size is true, the prologue generation outputs the
pre-aging code stub address directly to the instruction stream. Previously
this was done using dd() which failed if there was any pending constant
pool entries left to be written. This CL introduces an emit_code_stub_address()
for this purpose instead.
BUG=v8:2968
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/47743007
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 13:19:14 +00:00
yangguo@chromium.org
a5ed9a71c8
Correctly load message from an Error object.
...
R=mstarzinger@chromium.org
BUG=306220
Review URL: https://codereview.chromium.org/46593010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 13:04:51 +00:00
mstarzinger@chromium.org
ea89d6bd29
Handlify Heap::AllocateInitialMap method.
...
R=rossberg@chromium.org
BUG=v8:2877
Review URL: https://codereview.chromium.org/32003006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 12:32:03 +00:00
rafaelw@chromium.org
e78081ca1c
Make Object.freeze/seal/preventExtensions observable
...
Note: spec has been updated here: http://wiki.ecmascript.org/doku.php?id=harmony:observe_spec_changes .
R=rossberg@chromium.org , rossberg
BUG=v8:2975,v8:2941
Review URL: https://codereview.chromium.org/47703003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 12:25:32 +00:00
mstarzinger@chromium.org
5267d7b884
Introduce JSFunction::EnsureHasInitialMap method.
...
This change enforces explicit allocation of the initial map for each
JSFunction to introduce a proper layering between the JSFunction class
and the Heap class. A follow-up change will then handlify the two
functions AllocateInitialMap and AllocateFunctionPrototype.
R=rossberg@chromium.org
BUG=v8:2877
Review URL: https://codereview.chromium.org/32323013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 12:11:27 +00:00
svenpanne@chromium.org
74ad230a8e
Introduce orps for IA32/X64
...
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/53573004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 12:04:46 +00:00
ulan@chromium.org
0fd7c2a78a
Add counters to track the maximum amount of memory committed by the heap.
...
BUG=None
R=bmeurer@chromium.org , ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/29203003
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 11:59:42 +00:00
rafaelw@chromium.org
ada13dfc3f
Remove calls to JSObject::SetLocalPropertyIgnoreAttributesTrampoline within objects.cc
...
This includes handlifing:
-SetHiddenPropertiesHashTable
-ObjectHashSet::Add/Remove
-ObjectHashTable::Put
And splitting the following methods which previously took "allow creation" enum arguments to into side-effect-free getters and GetOrCreate*-handlfied getters.
-GetHash (now GetHash & handlified GetOrCreateHash)
-GetIdentityHash (now GetIdentityHash & handlified GetOrCreateIdentityHash)
-GetHiddenPropertiesHashTable (now GetHiddenPropertiesHashTable & handlified GetOrCreateaHiddenPropertiesHashTable)
BUG=v8:2877
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/48913008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 11:47:11 +00:00
rafaelw@chromium.org
4a8319c7c6
[Object.observe] Implement implicit notification from performChange
...
R=arv@chromium.org , rossberg@chromium.org , rossberg
BUG=v8:2942
Review URL: https://codereview.chromium.org/36313002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 11:23:08 +00:00
jkummerow@chromium.org
d0c5614f9d
Proper fix for the issue exposed by r17459
...
This reverts r17462 and instead fixes StubCache::ComputeLoadNonexistent by replacing s/IsGlobalObject/IsJSGlobalObject/ there.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/59103005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 11:01:31 +00:00
svenpanne@chromium.org
dc8c314084
Make snapshots reproducible.
...
To keep the structure of the serializer more or less untouched, we use
some ingenious Corry-approved(TM) 3-step technology (a.k.a. "hack"):
* Create copies of code objects.
* Wipe out all absolute addresses in these copies.
* Write out the cleaned copies instead of the originals.
In conjunction with --random-seed, our snapshots are reproducible now.
BUG=v8:2885
R=bmeurer@chromium.org , erik.corry@gmail.com
Review URL: https://codereview.chromium.org/54823002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 10:14:48 +00:00
svenpanne@chromium.org
82b8e23bc1
Introduce raw accessors for type_feedback_info.
...
This pure refactoring is needed for another upcoming CL.
Note that the actual names are still a bit confusing, because this is
still a kind of swiss-army-knife-field. :-/
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/52633003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 10:05:03 +00:00
mstarzinger@chromium.org
5fce5dc124
Bump iteration count for escape analysis.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/43653005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 09:58:49 +00:00
mvstanton@chromium.org
ee6e52f292
Remove CreateArrayLiteralShallow, as it's fundamentally the same now as
...
CreateArrayLiteral.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/54333003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 09:54:59 +00:00
svenpanne@chromium.org
bb010f8ad0
Removed RelocInfo::target_object_address() and reconstructed_obj_ptr_.
...
Depends on https://codereview.chromium.org/46583006/ and has similar reasoning behind it.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/50413004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 09:40:36 +00:00
mstarzinger@chromium.org
8a1d92f5c2
Fix double-boxing issue when materializing captured objects.
...
R=verwaest@chromium.org
TEST=mjsunit/compiler/escape-analysis-representation
Review URL: https://codereview.chromium.org/57783003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 09:32:39 +00:00
svenpanne@chromium.org
d1de1f9808
Refactored EXTERNAL_REFERENCE handling.
...
Previously, the result of target_reference_address() could only be
read, writing to it would have had an architecture-dependent effect,
e.g. writing into the code on ia32, a no-op on arm, etc.
This refactoring-only CL turns this into a simple getter, making it
impossible to use incorrectly.
More to come...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/46583006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 09:22:35 +00:00
bmeurer@chromium.org
d3ad5be781
Try to use STMDB/LDMIA instead of LDR/STR sequences whenever possible.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/44313002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 09:00:00 +00:00
bmeurer@chromium.org
011ca83783
ARM: Use loop to initialize locals when optimizing for size.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/52163002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 08:58:34 +00:00
bmeurer@chromium.org
537100336c
Do Else() first for JoinContinuation() in IfBuilder.
...
This is required to make sure that environments are correct
for joined continuations.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/52593008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 08:56:48 +00:00
plind44@gmail.com
b9b2c456b7
MIPS: Handle constants in new space by making macro-assembler smarter.
...
Port r17376 (9af4f51)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/57873004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 01:31:22 +00:00
jkummerow@chromium.org
0400bc45d9
Restore intended LoadIC behavior for JSBuiltinsObject
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/48343004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-04 16:39:58 +00:00
jkummerow@chromium.org
2ebfd6e90e
Add missing negative dictionary lookup to NonexistentHandlerFrontend
...
BUG=v8:2980
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/57433003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-04 14:14:09 +00:00
mstarzinger@chromium.org
4fbc96ff78
Remove dead return path from JSObject::GetHiddenPropertiesHashTable.
...
R=verwaest@chromium.org , rafaelw@chromium.org
TEST=cctest/test-api
Review URL: https://codereview.chromium.org/57783002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-04 12:00:39 +00:00
plind44@gmail.com
010d68cfd3
MIPS: Fix uint32-to-smi conversion in Lithium.
...
Port r17441 (f1968f4)
BUG=chromium:309623
TEST=mjsunit/regress/regress-crbug-309623
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/49783010
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-31 14:32:08 +00:00
machenbach@chromium.org
342305d1da
Prepare push to trunk. Now working on version 3.23.0.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/50943003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-31 13:29:35 +00:00
jkummerow@chromium.org
6f27e4b377
Avoid pre-aging when debugger is active
...
BUG=None
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/47023003
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-31 11:43:23 +00:00
jkummerow@chromium.org
316271fc35
Fix uint32-to-smi conversion in Lithium
...
BUG=chromium:309623
R=vegorov@google.com , yangguo@chromium.org
Review URL: https://codereview.chromium.org/54393002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-31 10:18:51 +00:00
yangguo@chromium.org
3f1a833524
Do not remove HAdd with zero if the other operand is a double.
...
The other operand might be minus zero, and -0 + 0 = +0
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/52173003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-30 10:22:52 +00:00
jkummerow@chromium.org
9e88c23cbf
ia32: Fix comparisons of two constant double operands when exactly one of them is in new space.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/46883008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-29 14:34:07 +00:00
jkummerow@chromium.org
e8a3044f2d
Temporarily allow HistogramTimerScopes to be nested
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/47513015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-29 11:44:04 +00:00
mvstanton@chromium.org
31865699ac
Function ElementsAreSafeToExamine was undefined in release heap verify.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/48963006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-29 07:56:47 +00:00
jkummerow@chromium.org
c377cfaa8e
Prepare push to trunk. Now working on version 3.22.24.
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/49263003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-28 17:59:13 +00:00
jkummerow@chromium.org
ec50a6f33c
Work around two ASSERTs that we're hitting now that DEBUG is #defined again
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/49433002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17418 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-28 17:54:43 +00:00
jkummerow@chromium.org
5b5f2e59dc
Return early from BinaryOpIC::Transition when the JS call failed
...
This avoids an ASSERT failure in Chromium net_unittests.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/49103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-28 16:32:56 +00:00
titzer@chromium.org
eb34e1397a
Remove assertion in SetResourceConstraints.
...
BUG=312233
R=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/48303004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-28 16:17:43 +00:00
titzer@chromium.org
3399bdd289
Temporarily disable calls to OS::TotalPhysicalMemory to avoid ASSERT when running under the Chrome Sandbox.
...
This CL reverts the behaviour added in r16983 to avoid calling OS::TotalPhysicalMemory
which fails an assert in the Chrome Sandbox. It reverts the default
ResourceConstraints behaviour to that of V8 before r16983 (i.e., baseing these
values purely on hard-coded checks against 64bit/32bit and Android/non-Android.
This will be reverted once http://crbug.com/312241 has been resolved.
BUG=312241
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/48463002
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-28 14:54:26 +00:00
svenpanne@chromium.org
19a2e803bb
Introduce andps for IA32/X64
...
replace andpd and pand in Math.abs
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/44153002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17413 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-28 10:38:40 +00:00
bmeurer@chromium.org
3e7a1c0455
ARM: Replace branch with conditional store in function prologue.
...
Use conditional store to replace the receiver with undefined for
strict mode functions and builtins instead of branching code. This
has similar performance characteristics but saves one branch
instruction per strict mode function.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/48473002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-28 10:29:57 +00:00
bmeurer@chromium.org
38e198109f
Remove unused function MoveBytes().
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/24584004
Patch from Bangfu Tao <bangfu.tao@samsung.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-28 09:59:15 +00:00
jkummerow@chromium.org
7856f37259
Rename deprecated __attribute__((no_address_safety_analysis)) to __attribute__((no_sanitize_address))
...
BUG=chromium:311283
R=glider@chromium.org
Review URL: https://codereview.chromium.org/48413002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-28 09:57:15 +00:00
bmeurer@chromium.org
4c49e4e2b5
Cast const char * to const uint8_t *, which removed a unnecessary version of InternalStringToDouble template.
...
Code size (android arm build for d8):
old d8: 17,479,047 bytes
new d8: 17,445,492 bytes
Total code size saved: 33,555 bytes
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/36903002
Patch from Bangfu Tao <bangfu.tao@samsung.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-28 09:39:00 +00:00
mvstanton@chromium.org
93fa1939ce
Generalize AllocationSite field access in HObjectAccess.
...
There are simply becoming too many individual field accessors, and
more are coming.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/43563002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-28 09:36:49 +00:00
yangguo@chromium.org
6c2233fbaa
Fix --hydrogen-filter="-".
...
SubVector asserts that the vector length is not 0 and fails.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/43873002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-28 09:01:33 +00:00
rafaelw@chromium.org
523851b337
Handlify JSObject::PrepareElementsForSort
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/32523008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 20:42:51 +00:00
mvstanton@chromium.org
a85c825bb9
The Elements pointer in a JSObject can have a filler map instead of a
...
valid fixed array, iff a gc occurred while allocating a fixed array as
part of array construction. Heap verification needs protection against
examining the elements object in this case.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/43383004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 12:26:47 +00:00
yangguo@chromium.org
7dd2d6c590
Reland "Make Array.prototype.pop throw if the last element is not configurable."
...
This relands r17346.
R=machenbach@chromium.org
BUG=311164
Review URL: https://codereview.chromium.org/43923002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 11:55:56 +00:00
danno@chromium.org
b7577174b3
Fix release build failures due to --enable-slow-asserts
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/43943002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 11:25:27 +00:00
danno@chromium.org
7339d45a9f
Define DEBUG for v8_optimized_debug=2
...
Thereby ensuring there is only a minimal performance regression vs. NDEBUG (now it's only about 10% slower rather than ~2x).
R=jkummerow@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/39183004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 11:10:28 +00:00
hpayer@chromium.org
f8a4bd7c4e
Make top and limit field in AllocationInfo private, assert on non-aligned setting of these fields, and eliminate indirect access over top address on top pointer.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/40083002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 09:58:21 +00:00
bmeurer@chromium.org
266dfe7819
Prepare push to trunk. Now working on version 3.22.23.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/43663002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 09:22:12 +00:00
haitao.feng@intel.com
4ea4cb9462
Introduce MoveDouble to the X64 MacroAssembler
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/26216008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 02:12:17 +00:00
plind44@gmail.com
c042ef360d
Enable double alignment for constructed arrays.
...
2nd (of 3) CL's to ensure complete alignment of FixedDoubleArrays.
TEST=
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/35133002
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 19:01:30 +00:00
mstarzinger@chromium.org
b5627c9ac6
Remove specialized raw Cell and Map allocators.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/30023003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 16:38:26 +00:00
titzer@chromium.org
517e15b014
Handle constants in new space on arm by making macro-assembler smarter.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/30023005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 12:40:34 +00:00
bmeurer@chromium.org
56a46e591b
Add performance.now() to the d8 shell.
...
TEST=mjsunit/d8-performance-now
R=hpayer@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=17366
Committed: https://code.google.com/p/v8/source/detail?r=17368
Review URL: https://codereview.chromium.org/32433010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 12:25:40 +00:00
bmeurer@chromium.org
bef9819190
Revert "Fix shared library build after r17368." and "Add performance.now() to the d8 shell.".
...
This reverts commit r17372 and r17368 for breaking the shared
library build.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/40043002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 12:16:00 +00:00
bmeurer@chromium.org
93376d8b62
Get rid of unused STRING_ADD_ERECT_FRAME flag.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/39803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17373 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 12:08:58 +00:00
bmeurer@chromium.org
008b871162
Fix shared library build after r17368.
...
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/40033002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 11:59:09 +00:00
hpayer@chromium.org
2dfaf2aab5
Add code age subtype tracking to --track-gc-object-stats
...
Adds counters which track the age of code in the heap during a gc if
--track-gc-object-stats is enabled.
- Splits RecordObjectStats into RecordObjectStats, RecordCodeSubTypeStats and
RecordFixedArraySubTypeStats.
- Renames kNoAge to kNoAgeCodeAge to follow other code age enums and enable
the name to be used in Macro based initialization of the counters.
BUG=None
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/26179004
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 10:50:35 +00:00
bmeurer@chromium.org
0a90cab56a
Add performance.now() to the d8 shell.
...
TEST=mjsunit/d8-performance-now
R=hpayer@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=17366
Review URL: https://codereview.chromium.org/32433010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 10:48:18 +00:00
bmeurer@chromium.org
67b4eb9ac1
Revert "Add window.performance.now() to the d8 shell."
...
This reverts commit r17366 for breaking the mozilla tests.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/38753006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 10:42:02 +00:00
bmeurer@chromium.org
d07231021e
Add window.performance.now() to the d8 shell.
...
TEST=mjsunit/d8-performance-now
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/32433010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 09:27:17 +00:00
yurys@chromium.org
a083601e73
Record allocation stack traces
...
This is initial implementation of allocation profiler.
Whenever new object allocation is reported to the HeapProfiler and allocation tracking is on we will capture current stack trace, add it to the collection of the allocation traces (a tree) and attribute the allocated size to the top JS function on the stack.
Format of serialized heap snapshot is extended to include information about recorded allocation stack traces.
This patch is r17301 plus a fix for the test crash in debug mode. The test crashed because we were traversing stack trace when just allocated object wasn't completely configured, in particular the map pointer was incorrect. Invalid Map pointer broke heap iteration required to find Code object for a given pc during stack traversal. The solution is to insert free space filler in the newly allocated block just before collecting stack trace.
BUG=chromium:277984,v8:2949
R=hpayer@chromium.org , loislo@chromium.org
Review URL: https://codereview.chromium.org/34733004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 09:26:55 +00:00
bmeurer@chromium.org
9b7a5f20a6
Prepare push to trunk. Now working on version 3.22.22.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/39393005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 09:23:32 +00:00
yangguo@chromium.org
0f564cb1b0
Revert "Make Array.prototype.pop throw if the last element is not configurable."
...
This reverts commit r17346.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/39593002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 07:48:23 +00:00
plind44@gmail.com
930b8b25bd
MIPS: Increase code space first page size due to r17334.
...
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/39363004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 07:42:29 +00:00
marja@chromium.org
3f81a55096
Fix r17253.
...
There's no reason why the setObjectGroupIde / setReferenceFromGroups funcs should've been called twice.
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/39573002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 07:40:31 +00:00
haitao.feng@intel.com
82d28ad2a4
Use PopReturnAddressTo and PushReturnAddressFrom in Generate_MarkCodeAsExecutedOnce builtin function for X64
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/38613003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 07:38:50 +00:00
plind44@gmail.com
2f67645fcc
Fix ARM build on mac.
...
Remove a couple unused vars left behind after r16676. Clang on mac
is pickier than gcc on linux, specifically gcc does not complain about
unused class member variables.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/39193003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 07:03:52 +00:00
bmeurer@chromium.org
75e6803ddc
Prepare push to trunk. Now working on version 3.22.21.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/39483002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 06:31:18 +00:00
haitao.feng@intel.com
29bb076770
Introduce xchgl, orl, roll, subl, testl and xorl into X64 assembler
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/26780004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 02:12:51 +00:00
haitao.feng@intel.com
bb202665ba
Use the correct version of movq for ExternalReference in X64
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/26410004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 01:27:47 +00:00
rafaelw@chromium.org
f719a45f18
Handlify Map::CopyInstallDescriptors
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/34603008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 22:02:14 +00:00
rafaelw@chromium.org
91fa96bf6b
Handlify Map::CopyNormalized
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/32483006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 19:47:38 +00:00
hpayer@chromium.org
69896e4395
Removed redundant definition of new space top in serializer.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/30403003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 18:05:27 +00:00
titzer@chromium.org
478aa96d6f
Handle new space constants on ia32 by using in a register in Lithium.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/35413008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 16:57:57 +00:00
yangguo@chromium.org
e25920da19
Make Array.prototype.pop throw if the last element is not configurable.
...
Popping an element from an array should call [[Delete]] internal method
and pass true as the second argument (ECMA-262/5.1/#sec-15.4.4.6).
When the last element can't be deleted, throw a Type Error.
Not throwing the error would result in endless loop in the following test.
TEST=var a=[];Object.defineProperty(a,0,{});while(a.length)a.pop();
By the way fix another bug, or else i can't post any issues.
"presubmit.py" throw a "missing a correct copyright header" on windows.
Both the slash and the backslash are valid path separator on windows.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/29513004
Patch from Yanagi <admin@web-tinker.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 16:19:24 +00:00
jkummerow@chromium.org
8259439ae8
Fix HObjectAccess for loads from migrating prototypes
...
BUG=chromium:305309
R=danno@chromium.org
Review URL: https://codereview.chromium.org/35173005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 15:15:15 +00:00
danno@chromium.org
2208338b6e
Fix MEMORY_SANITIZER macro redefinition error.
...
MEMORY_SANITIZER is defined by default in certain compiler environments (when
MemorySanitizer is enabled, of course). Do not redefine it in that case.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/34503012
Patch from Evgeniy Stepanov <eugenis@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 13:50:01 +00:00
danno@chromium.org
bdeaf7514a
Enable preaging of code objects when --optimize-for-size.
...
This change means that code which is never executed is garbage collected immediately, and code which is only executed once is collected more quickly (limiting heap growth), however, code which is re-executed is reset to the young age, thus being kept around for the same number of GC generations as currently.
BUG=280984
R=danno@chromium.org , hpayer@chromium.org
Review URL: https://codereview.chromium.org/23480031
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 13:48:04 +00:00