Commit Graph

17200 Commits

Author SHA1 Message Date
yangguo@chromium.org
1aede5f400 Introduce code serializer/deserializer.
R=vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 09:04:08 +00:00
jkummerow@chromium.org
54b294a418 Use hydrogenized KeyedLoadGeneric stub for generic named loads too (with --compiled-keyed-generic-loads).
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 08:46:33 +00:00
hpayer@chromium.org
ac8b636756 Reland "Precisely sweep scan on scavenge pages and use heap iterator to iterate over them."
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 08:44:45 +00:00
jkummerow@chromium.org
d7ecf0e428 Fix build (solve OBJECT_PRINT dependency)
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 08:43:20 +00:00
jkummerow@chromium.org
3b9da14adf --trace-ic: much faster and available in Release mode.
Also add IC tracing to a path where it was missing.

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 08:28:08 +00:00
hpayer@chromium.org
a0dadc8b0d Avoid scan-on-scavenge pages during full collection.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 08:20:22 +00:00
marja@chromium.org
c393b9a576 Revert "Implement handling of arrow functions in the parser"
This reverts r22265.

Reason: ASAN tests fail.

BUG=
TBR=marja@chromium.org,aperez@igalia.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 07:48:22 +00:00
marja@chromium.org
7367720daa Implement handling of arrow functions in the parser
Arrow functions are parsed from ParseAssignmentExpression. Handling the
parameter list is done by letting ParseConditionalExpression() parse
a comma-separated list of identifiers, and it returns a tree of
BinaryOperation nodes with VariableProxy leaves, or a single
VariableProxy if there is only one parameter. When the arrow token "=>"
is found, the VariableProxy nodes are passed to ParseFunctionLiteral(),
which will then skip parsing the paramaeter list. This avoids having
to rewind when the arrow is found and restart parsing the parameter
list. Note that ParseExpression() expects parenthesized expressions
to not be empty, so checking for a closing parenthesis is added in
handling the empty parameter list "()" will accept a right-paren and
return an empty expression, which means that the parameter list is
empty.

Additionally, this adds the following machinery:

 - A runtime flag "harmony_arrow_functions" (disabled by default).
   Enabling "harmony" will enable it as well.
 - An IsArrow bit in SharedFunctionInfo, and accessors for it.
 - An IsArrow bit in FunctionLiteral, accessorts for it, and
   a constructor parameter to set its value.
 - In ParserBase: allow_arrow_functions() and set_allow_arrow_functions()
 - A V8 native %FunctionIsArrow(), which is used to skip adding the
   "function " prefix when getting the source code for an arrow
   function.

R=marja@chromium.org

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

Patch from Adrián Pérez de Castro <aperez@igalia.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 07:11:13 +00:00
yangguo@chromium.org
72441a1123 Reland "Postpone termination exceptions in debug scope."
BUG=v8:3408
LOG=Y
R=yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 06:57:17 +00:00
weiliang.lin@intel.com
d837dd7eb4 X87: Fix computed properties on object literals with a double as propertyname.
port r22255.

original commit message:

  Fix computed properties on object literals with a double as propertyname.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 05:48:37 +00:00
weiliang.lin@intel.com
393ccfb5a8 X87: Only create arguments-maps in the bootstrapper, remove now obsolete ValueType flag.
port r22245.

orginal commit message:

  Only create arguments-maps in the bootstrapper, remove now obsolete ValueType flag.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 05:40:59 +00:00
weiliang.lin@intel.com
31134fafef X87: More OStreamsUse OStreams more often
port r22232

original commit message:

This is a mostly mechanical CL (more than 90% Emacs macros and
query-replace-regexp) moving FILE*/StringStream*-based APIs to
OStream-based APIs. There are a few places where this had to stop,
otherwise the CL would be even bigger, but this can easily and
incrementally cleaned up later.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 05:24:52 +00:00
palfia@homejinni.com
9440ed3e98 MIPS: Fix computed properties on object literals with a double as propertyname.
Port r22255 (cf84805)

BUG=390732
LOG=y
R=palfia@homejinni.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22256 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 20:28:05 +00:00
verwaest@chromium.org
ad6202d989 Fix computed properties on object literals with a double as propertyname.
BUG=390732
LOG=y
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 17:08:54 +00:00
jkummerow@chromium.org
8ec78178cd Hydrogenized KeyedLoadGeneric stub: when probing the KeyedLookupCache fails, call the runtime, don't stub-fail.
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 16:24:51 +00:00
kilvadyb@homejinni.com
b9a0cf1925 MIPS: Only create arguments-maps in the bootstrapper, remove now obsolete ValueType flag.
Port r22245 (1471c64)

BUG=
R=palfia@homejinni.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 16:23:28 +00:00
jkummerow@chromium.org
34e09e5644 Add gdbinit to tools/ directory.
Suggested usage: echo "source /path/to/v8/tools/gdbinit" >> ~/.gdbinit

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 16:21:29 +00:00
verwaest@chromium.org
168523b542 Revert "Treat ExecutableAccessorInfo as regular data properties."
Temporarily revert since blink has some properties like this on the
prototype chain where it expects accessorpair-behavior (e.g.,
window.onload).

TBR=dslomov@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 16:18:15 +00:00
kilvadyb@homejinni.com
ad2e1750fa MIPS: More OStreamsUse OStreams more often.
Port r22232 (f837b91)

Original commit message:
This is a mostly mechanical CL (more than 90% Emacs macros and
query-replace-regexp) moving FILE*/StringStream*-based APIs to
OStream-based APIs. There are a few places where this had to stop,
otherwise the CL would be even bigger, but this can easily and
incrementally cleaned up later.

BUG=
R=palfia@homejinni.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 16:01:09 +00:00
dslomov@chromium.org
3f46e4b046 Revert "ARM64: Use UntagSmi helpers and clean up assertions."
This reverts commit r22247 for breaking Linux arm64 build.

TBR=Jacob.Bramley@arm.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22249 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 14:29:07 +00:00
yurys@chromium.org
6302fc6771 Add ScriptID field into ScriptOrigin class.
Anonymous script has empty resource name. To identify this script we need its id.

R=ulan@chromium.org, yangguo@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 14:03:20 +00:00
Jacob.Bramley@arm.com
2dd6e2af2e ARM64: Use UntagSmi helpers and clean up assertions.
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 13:58:21 +00:00
m.m.capewell@googlemail.com
45e451183e ARM64: Generate better immediates for shifted ops
Improve code generated for immediate data processing operations where the shift
on the operation can be exploited to use fewer instructions for the immediate.

For example, Add(x0, x0, 0x1f7de) used to generate:
  movz x16, 0xf7de
  movk x16, 0x1, lsl #16
  add x0, x0, x16

now generates:
  movz x16, 0xfbef
  add x0, x0, x16, lsl #1

BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 13:31:22 +00:00
verwaest@chromium.org
cef7b20ec0 Only create arguments-maps in the bootstrapper, remove now obsolete ValueType flag.
TBR=dslomov@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 13:27:37 +00:00
dslomov@chromium.org
7050e6fa06 Revert "Only create arguments-maps in the bootstrapper, remove now obsolete ValueType flag."
This reverts commit r22240 for breaking tests on Linux.

Revert "Remove SetOwnPropertyIgnoreAttribute uses from the bootstrapper"

This reverts commit r22241 for breaking tests on Linux.

TBR=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 13:12:29 +00:00
verwaest@chromium.org
d400bed3e8 Remove SetOwnPropertyIgnoreAttribute uses from the bootstrapper
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 12:31:25 +00:00
verwaest@chromium.org
1ef7582e7e Only create arguments-maps in the bootstrapper, remove now obsolete ValueType flag.
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 12:21:01 +00:00
jkummerow@chromium.org
7cc7cd0dd1 Hydrogenized KeyedLoadGeneric stub: exhaustively search dictionary properties.
And call the runtime instead of stub-failing when the property isn't found.

R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 11:43:02 +00:00
jkummerow@chromium.org
9d52c40932 Hydrogenized KeyedLoadGeneric stub: Fix FieldIndex::GetLoadByFieldIndex()
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 11:35:17 +00:00
svenpanne@chromium.org
031526c58e Another round of MSVC fixes.
TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 11:00:53 +00:00
verwaest@chromium.org
251ae22156 Treat ExecutableAccessorInfo as regular data properties.
BUG=
R=dcarney@chromium.org, mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 11:00:44 +00:00
jochen@chromium.org
9230c1f3ca Reland^3 r22105 "Remove static initializer from isolate"
This time:
When accessing the isolate from the sampler signal handler, don't try
to take the global lock. A sampler should only be active if there is
already an isolate on that thread, so we don't need to check whether
the TLS key is already created.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 10:56:36 +00:00
svenpanne@chromium.org
d6c61b8c53 Make MSVC happy again.
TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22234 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 10:36:47 +00:00
jochen@chromium.org
ee9a95b3bb Fix compilation with clang after r22208
R=verwaest@chromium.org
LOG=n
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 10:00:21 +00:00
svenpanne@chromium.org
018ef484b9 More OStreamsUse OStreams more often.
This is a mostly mechanical CL (more than 90% Emacs macros and
query-replace-regexp) moving FILE*/StringStream*-based APIs to
OStream-based APIs. There are a few places where this had to stop,
otherwise the CL would be even bigger, but this can easily and
incrementally cleaned up later.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 09:57:29 +00:00
rossberg@chromium.org
7aff3023ae Avoid brittle use of .bind in Promise.all
R=yangguo@chromium.org
BUG=v8:3420
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 09:47:43 +00:00
m.m.capewell@googlemail.com
87e0a6721c ARM64: optimize fullcodegen pushes
R=bmeurer@chromium.org, ulan@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 09:41:04 +00:00
marja@chromium.org
c30c229898 Parser cleanup: Cached data cannot contain errors (removed dead code)
We no longer store the errors in cached data (see Parser::ParseProgram()) and
storing them is an unnecessary optimization. In addition, the code which
extracts errors from cached data is wrong, since it stores the result of
BuildArgs (in ReportMessageAt) and then deletes it.

R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 09:31:58 +00:00
m.m.capewell@googlemail.com
fec1dd125a Add missing include to timers
Library function close() needs unistd.h header included.

BUG=
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 09:29:25 +00:00
yangguo@chromium.org
a6fd4ba0b4 Wrap captureStackTrace in a try-catch when constructing an error.
TBR=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 07:23:41 +00:00
jochen@chromium.org
60af0a25c7 Availability of sprintf_s is a C standard library thing, not a compiler thing.
Our clang/win build currently uses MSVS's C library, so it doesn't have
snprintf but it does have sprintf_s.

BUG=chromium:82385
LOG=n
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 07:21:10 +00:00
jochen@chromium.org
6d5d4b44b5 Remove a bunch of Isolate::UncheckedCurrent calls
The callbacks are per isolate, so we shouldn't get the isolate implicitly
from TLS. Also, we shouldn't allow calls to these methods prior to
initializing the respective isolate (and silently ignore them).

Esp. add a per-isolate API to set the stats counter callbacks and
make it possible to set the stats counter callback after the isolate
was touched.

Embedders should use e.g. isolate->SetCounterFunction(callback) instead
of v8::V8::SetCounterFunction(callback).

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 07:19:46 +00:00
bmeurer@chromium.org
29667ff172 Properly seed the RNG for cctest/test-types.
This was broken since r21879, as the RandomNumberGenerator constructor
does no longer look at FLAG_random_seed implicitly.

TEST=cctest/test-types
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 07:04:16 +00:00
weiliang.lin@intel.com
7fe8e6ec90 X87: Error in CallFunctionNoFeedback ia32 made less efficient code
port r22191.

original commit message:
  Error in CallFunctionNoFeedback ia32 made less efficient code

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-04 07:30:45 +00:00
weiliang.lin@intel.com
598e2f9fc0 X87: Start using OStreams.
port r22179

original commit message:

Note that until everything is OStream-based, there are a few places
where we have to do some impedance matching. A few accessors had to be
const-corrected on the way.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-04 07:00:01 +00:00
yangguo@chromium.org
29b59adbf6 Revert "Remove unnecessary check in RegExpExecStub."
This reverts r22203 and r22205.

TBR=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 20:21:00 +00:00
jarin@chromium.org
cfccf7938e Reland "Linux perf tool support update + refactoring." (r22146, fifth attempt)
Bringing the offending timer functions to the platform dependent files.

BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 19:18:26 +00:00
rmcilroy@chromium.org
40af47d46a [Arm]: Enable use of extended out-of-line constant pool for Arm.
- Adds support to the Arm assembler to use extended constant pools.
 - Update (set_)target_address_at to support extended constant pool load
   updates.
 - Replace Operand::is_single_instruction with Operand::instructions_required
   Due to the fact that different constant pool load types require different
   numbers of instructions.
 - Various cleanups of ConstantPoolBuilder to cleaner integration of the
   extended constant pool building.
 - Update GetRelocatedValue such that offsets to both map_check and bool_load
   are explicitly provided, rather than location of bool_load being inferred
   based on map_check, since the code inbetween is no longer of a predictable
   size.
 - Update MacroAssembler::GetRelocatedValueLocation() to add support for
   getting a value from an extended constant pool entry.
 - Update Debug::SetAfterBreakTarget() to use target_address_from_return_address
   when checking for debug breaks at constant pool load points.
 - Change ConstantPoolIterateBody to iterate over both heap and code pointer in
   the small section before moving onto the extended section, to work around the
   requirement of the serializer that pointers are iterated in-order.
 - Increase old_pointer_space SizeOfFirstPage() to offset the fact that constant
   pools are now in the old pointer space (rather than code).

R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22209 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 17:01:14 +00:00
verwaest@chromium.org
5baaf3c981 Use the HeapObjectIterator to scan-on-scavenge map pages.
Deserializing the partial snapshot may prematurely stop using a map page, adding a free-space filler at the end. Scan-on-scavenge of map-space did not expect anything but maps, and would interpret the uninitialized memory as pointers. Using the heap iterator we can skip over free space and only visit maps.

BUG=390732
LOG=y
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 16:55:17 +00:00
jkummerow@chromium.org
5c6d414fbc Hydrogen LoopBuilder: add support for "while(true) {...}" loops
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 16:33:42 +00:00