Commit Graph

15171 Commits

Author SHA1 Message Date
mstarzinger@chromium.org
bc6ed15a5a Fix HSourcePosition when --hydrogen-track-positions is used.
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 13:09:11 +00:00
machenbach@chromium.org
853c8bb58a [Auto-roll] Bump up version to 3.28.31.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 12:14:36 +00:00
mvstanton@chromium.org
6d3fc8a322 Introduce FLAG_vector_ics.
When FLAG_vector_ics is true, then AST nodes that use Load and KeyedLoad ICs
will allocate a type vector slot to store feedback information. Full codegen
will emit a load of the slot into a register if the flag is on.

Support is incomplete, right now the IC doesn't know how to use the feedback
slot.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 11:19:56 +00:00
hpayer@chromium.org
81bc2f95e7 Always sweep precisely.
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 10:39:10 +00:00
Jacob.Bramley@arm.com
0e41b8661f ARM64: never record safepoint with doubles
R=bmeurer@chromium.org, ulan@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22498 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 10:31:23 +00:00
rossberg@chromium.org
2dc3d0bdc6 Remove harmony-typeof
This was an early experiment in the Harmony era that turned out to
not be compatible with the web.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 10:20:54 +00:00
Jacob.Bramley@arm.com
e4d4f1d5d2 ARM: never record safepoint with doubles
R=bmeurer@chromium.org, ulan@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 10:15:08 +00:00
rossberg@chromium.org
8023c9f564 Implement basic code generation for arrow functions
Implements code generation for arrow functions by desugaring them into
a FunctionLiteral. For the moment, a normal FUNCTION_SCOPE is used, so
"this" and "arguments" behave as in normal functions. Implementing the
correct scoping rules is to be done later on.

BUG=v8:2700
LOG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 09:58:01 +00:00
jkummerow@chromium.org
78c639cd7b Fix off-by-one error in Array.concat slow mode check
BUG=chromium:395499
LOG=n
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 09:42:21 +00:00
yangguo@chromium.org
1eacdd55a0 Implement String.prototype.codePointAt and String.fromCodePoint.
Contributed by Mathias Bynens <mathiasb@opera.com>.

TBR=mathiasb@opera.com, rossberg@chromium.org
BUG=v8:2840
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 08:45:32 +00:00
yangguo@chromium.org
219e763155 Expose the content of Maps and WeakMaps through MapMirror.
BUG=v8:3291
LOG=N
R=aandrey@chromium.org, yangguo@chromium.org

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

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 08:07:04 +00:00
paul.lind@imgtec.com
c18a36fd96 MIPS64: Correct register use.
TEST: mozilla/js1_5/Regress/regress-366601.
TEST: mozilla/ecma_3/ExecutionContexts/10.1.3-1

BUG=
R=paul.lind@imgtec.com

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

Patch from Yu Yin <xwafish@gmail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 03:09:19 +00:00
weiliang.lin@intel.com
02247b18c0 X87: Cache IC handlers on the prototype's map if possible
port r22483

original commit message:

  Cache IC handlers on the prototype's map if possible

  instead of on the receiver's map. Lazily overwrite cached handler if it is
  identical to the handler that just missed.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 02:57:42 +00:00
verwaest@chromium.org
907086597e Migrate to current map if deprecated in SetProperty
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-19 12:00:20 +00:00
balazs.kilvady@imgtec.com
6e824b6003 MIPS: Cache IC handlers on the prototype's map if possible.
Port r22483 (6dd09cb)

Original commit message:
Instead of on the receiver's map. Lazily overwrite cached handler if it is
identical to the handler that just missed.

BUG=
R=akos.palfi@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 17:11:52 +00:00
jkummerow@chromium.org
1211f606ae Cache IC handlers on the prototype's map if possible
instead of on the receiver's map. Lazily overwrite cached handler if it is
identical to the handler that just missed.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 13:50:21 +00:00
verwaest@chromium.org
7e29b64e27 Reimplement SetProperty using the LookupIterator
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 13:47:25 +00:00
mstarzinger@chromium.org
9d2609fe98 Reland "Make v8::TryCatch able to consume natively thrown exceptions."
R=svenpanne@chromium.org
BUG=chromium:362388
TEST=cctest/test-api/TryCatchNative
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 13:28:12 +00:00
hpayer@chromium.org
56fcbc4d65 Always sweep precisely off.
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 12:51:21 +00:00
hpayer@chromium.org
4c136e0baa Always sweep precisely.
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 12:04:48 +00:00
hpayer@chromium.org
cb52b98637 Wait for sweeper threads when verifying the heap.
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 12:00:11 +00:00
dcarney@chromium.org
353ab8e1be Revert "Bootstrapper::DetachGlobal also need to unset global_proxy's constructor to remove all refs to context"
This reverts r22460 for potentially breaking the mac webkit build.

TBR=titzer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 11:47:35 +00:00
hpayer@chromium.org
1afdbb396c Fix 64-bit compile.
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 11:30:50 +00:00
hpayer@chromium.org
6067ca6a62 Concurrent/parallel precise sweeping.
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 11:04:20 +00:00
Jacob.Bramley@arm.com
38cb7830aa Unravel kHeapObjectTagSize from the stub cache.
The stub cache used kHeapObjectTagSize to scale indices, but there
doesn't appear to be a direct need for this. Instead, the stub cache has
its own kCacheIndexShift quantity.

BUG=
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 09:57:39 +00:00
ernstm@chromium.org
de8cac4450 Make GCTracer persistent.
This is essentially https://codereview.chromium.org/390823003/. It turns
out that it's safe to use a persistent GCTracer instead
of creating and destroying GCTracers for each GC, because
Scavenge and Mark-Sweep steps never overlap, and the tracking of
incremental marking also happens separately for the two types of GC.
Tracking of incremental marking will be moved into the GCTracer in a
follow-up patch.

R=hpayer@chromium.org, mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 08:55:40 +00:00
machenbach@chromium.org
c4bee92ff1 [Auto-roll] Bump up version to 3.28.29.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 08:43:49 +00:00
jochen@chromium.org
4e94ae8ab4 Add histograms for idle notification and incremental marking steps
BUG=381820
LOG=n
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 08:25:41 +00:00
jochen@chromium.org
1fd566cb24 Fix compilation after r22461: removed now unused var
BUG=none
LOG=n
TBR=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 08:00:51 +00:00
danno@chromium.org
1d2a4b8333 Remove experimental flags that are now required
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 07:17:21 +00:00
dcarney@chromium.org
c0849f8b5a Bootstrapper::DetachGlobal also need to unset global_proxy's constructor to remove all refs to context
DetachGlobal detaches original context of a global proxy object.

Before this patch, the constructor JSFunction still carried a reference to the old context after |Bootstrapper::DetachGlobal| call.
This patch removes the reference by setting the constructor null.

TEST=http/tests/security/isolatedWorld w/ --enable-leak-detection
LOG=N
BUG=364377
R=dcarney@chromium.org

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

Patch from Kouhei Ueno <kouhei@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 06:05:59 +00:00
weiliang.lin@intel.com
2bb3f96570 X87: StubCallInterfaceDescriptor takes a context register.
port r22448

original commit message:
  StubCallInterfaceDescriptor and CallInterfaceDescriptor are unified under a base class InterfaceDescriptor.

  Handling of the context register had to be massaged to effect the unification. This will make it easier
  to call hydrogen code stubs directly from crankshaft.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 03:15:48 +00:00
balazs.kilvady@imgtec.com
6f23f4fe3b MIPS: StubCallInterfaceDescriptor and CallInterfaceDescriptor are unified under a base class InterfaceDescriptor.
Port r22448 (a9e0b0e)

Original commit message:
Handling of the context register had to be massaged to effect the unification. This will make it easier to call hydrogen code stubs directly from crankshaft.

BUG=
R=mvstanton@chromium.org, paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 18:24:59 +00:00
yangguo@chromium.org
e3d9037121 Revert "Expose the content of Maps and WeakMaps through MapMirror."
This reverts r22452.

TBR=amikhaylova@google.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 16:43:52 +00:00
yangguo@chromium.org
4116944ced Expose the content of Maps and WeakMaps through MapMirror.
BUG=v8:3291
LOG=N
R=aandrey@chromium.org, yangguo@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 15:07:59 +00:00
ernstm@chromium.org
8451b97b8e Move node statistics from GCTracer to Heap.
R=hpayer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 13:00:46 +00:00
machenbach@chromium.org
43c3390eb2 [Auto-roll] Bump up version to 3.28.27.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 11:57:09 +00:00
mvstanton@chromium.org
54636ae4e2 StubCallInterfaceDescriptor and CallInterfaceDescriptor are unified under a base class InterfaceDescriptor.
Handling of the context register had to be massaged to effect the unification. This will make it easier to call hydrogen code stubs directly from crankshaft.

R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 11:50:04 +00:00
yangguo@chromium.org
f58318ef16 Change String.prototype.concat to be more like similar functions.
This is just cosmetic: We usually avoid using %FunctionSetLength.

R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22447 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 10:54:25 +00:00
rmcilroy@chromium.org
51a6b0fd9d Add back a static_cast<int32_t> to assembler-arm.cc to fix WebView build.
The WebView Mac builder is having trouble with resolving set_at_offset with an
intptr_t argument to the correct overload. Add back the static_cast which
was present before r22293 to resolve this.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22446 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 10:34:59 +00:00
rmcilroy@chromium.org
1b5848c210 Some fixes to avoid breakages when enabling out-of-line constant pools.
Three fixes which are required to pass all the tests when  out-of-line constant
pools are enabled for Arm:

 - Invalidate embedded objects in optimized code when it is deoptimized such
   that the weak pointers in the constant pool array are cleared.  This prevents
   a CHECK(heap_->mark_compact_collector()->IsMarked(object)) error when a
   verifying weak pointers in a deoptimized code object's constant pool.
 - Modify LargeObjectSpace::Verify to allow constant pool arrays in the
   large object space.
 - Increase the 32bit stack size limit, since the constant pool pointer
   is now on every stack frame, causing the size of each stack frame to
   increase by one word, and causing deep-recursion-test to fail.

R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 10:03:30 +00:00
rodolph.perfetta@arm.com
56ec59bd26 ARM64: always restore regexp register cache after a C function call.
BUG=v8:3444
TEST=mjsunit/regress/regress-regexp-nocase.js
LOG=N
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 09:55:48 +00:00
jochen@chromium.org
fe558594b9 Remove JSReceiver::GetPrototype and replace it with PrototypeIterator calls
BUG=none
R=verwaest@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 09:44:37 +00:00
verwaest@chromium.org
e36f1dde46 Remove hole handling since holes cannot occur in JSObjects anymore.
The only case in which the hole can still occur, is in a pre-allocated PropertyCell in a GlobalObject. In that case it indicates that the property is absent.

BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 09:06:49 +00:00
yangguo@chromium.org
ce5e9b0261 Go to slow path when JSON.stringifying the global proxy.
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 08:35:36 +00:00
ernstm@chromium.org
509faa8545 v8: GCTracer clean-up part 1.
- Split GCTracer::~GCTracer into printing functions and update of variables
tracked on Heap.
- Clean-up recording of time, object size and memory size at the beginning and
end of GC.
- Consistently use enum notation in ScopeId.
- Disallow copy and assign for Scope and GCTracer.
- Remove unused stats on GCTracer.

R=hpayer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22439 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 07:50:55 +00:00
yangguo@chromium.org
d1333142e2 Ship ES6 Math functions.
R=rossberg@chromium.org
BUG=v8:2938
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 14:00:15 +00:00
yangguo@chromium.org
fea1d2b145 Fix PagedSpace size accounting.
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 13:36:46 +00:00
ernstm@chromium.org
f3c83ebe0e v8: fix tracking of longest_step in IncrementalMarking.
longest_step is only output at the end of a mark-compact. We shouldn't
reset it after a Scavenge.

R=hpayer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 13:19:31 +00:00
vogelheim@chromium.org
a42612b4a7 Change ScriptCompiler::CompileOptions to allow for two 'cache' modes
(parser or code) and to be explicit about cache consumption or production
(rather than making presence of cached_data imply one or the other.)

Also add a --cache flag to d8, to allow testing the functionality.

-----------------------------
API change

Reason: Currently, V8 supports a 'parser cache' for repeatedly executing the same script. We'd like to add a 2nd mode that would cache code, and would like to let the embedder decide which mode they chose (if any).

Note: Previously, the 'use cached data' property was implied by the presence of the cached data itself. (That is, kNoCompileOptions and source->cached_data != NULL.) That is no longer sufficient, since the presence of data is no longer sufficient to determine /which kind/ of data is present.

Changes from old behaviour:

- If you previously didn't use caching, nothing changes.
Example:
  v8::CompileUnbound(isolate, source, kNoCompileOptions);

- If you previously used caching, it worked like this:

  - 1st run:
  v8::CompileUnbound(isolate, source, kProduceToCache);
  Then, source->cached_data would contain the
  data-to-be cached. This remains the same, except you
  need to tell V8 which type of data you want.
  v8::CompileUnbound(isolate, source, kProduceParserCache);

  - 2nd run:
  v8::CompileUnbound(isolate, source, kNoCompileOptions);
  with source->cached_data set to the data you received in
  the first run. This will now ignore the cached data, and
  you need to explicitly tell V8 to use it:
  v8::CompileUnbound(isolate, source, kConsumeParserCache);
-----------------------------

BUG=
R=marja@chromium.org, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 12:18:33 +00:00
mstarzinger@chromium.org
5963ae48a8 Rename [Load/Delete]ContextSlot for consistency after r22379.
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 12:03:33 +00:00
yangguo@chromium.org
a211a52a6e Store builtin index on the builtin code object.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 09:55:34 +00:00
rossberg@chromium.org
96dd1c7831 Make ToPrimitive throw on symbol wrappers
R=mstarzinger@chromium.org
BUG=v8:3442
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 09:26:11 +00:00
machenbach@chromium.org
f89f5f134a [Auto-roll] Bump up version to 3.28.26.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 08:42:52 +00:00
yangguo@chromium.org
21a2f36b25 Do not expose all timer events to the API callback.
R=fmeawad@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 08:14:50 +00:00
yangguo@chromium.org
49ae3081d2 Error.captureStackTrace should define "stack" property as configurable.
R=verwaest@chromium.org
BUG=393988
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 07:55:05 +00:00
yangguo@chromium.org
ef734e2686 Verify that source string matches serialized code.
R=mvstanton@chromium.org, vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 06:59:14 +00:00
weiliang.lin@intel.com
3150bf3870 X87: Drop unnecessary receiver validity checks from {Load,Store}IC_Normal
port r22391

original commit message:
   Drop unnecessary receiver validity checks from {Load,Store}IC_Normal.

   Since these builtins are used as handlers after a map check/dispatch, they don't need to check the receiver again.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 03:12:29 +00:00
akos.palfi@imgtec.com
f7df8a41bb MIPS: Minor fixes to r22396
BUG=
R=akos.palfi@imgtec.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22413 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 19:03:13 +00:00
akos.palfi@imgtec.com
71bfbf490d MIPS: Fix r19500 register usage to match to ASSERT.
BUG=
R=akos.palfi@imgtec.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 19:01:31 +00:00
akos.palfi@imgtec.com
1578cfee1d MIPS: Drop unnecessary receiver validity checks from {Load,Store}IC_Normal.
Port r22391 (fe86010)

Original commit message:
Since these builtins are used as handlers after a map check/dispatch, they don't need to check the receiver again.

BUG=
R=akos.palfi@imgtec.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 19:00:02 +00:00
dusan.milosavljevic@rt-rk.com
db477d7f49 MIPS64: Reland r22082 "Replace HeapNumber as doublebox with an explicit MutableHeapNumber.
Port r22129 (676bb14).

TEST=
BUG=
R=balazs.kilvady@imgtec.com, paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 16:57:04 +00:00
hpayer@chromium.org
8e1ece2573 Revert "Remove failure tag.".
TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 12:22:38 +00:00
hpayer@chromium.org
46135f289e Remove failure tag.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 11:11:15 +00:00
yangguo@chromium.org
23eebeedbe Fix assertion failure. Use Vector instead of List in code deserializer.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 11:01:03 +00:00
mstarzinger@chromium.org
5874bd08c0 Allow embedding of ConsString objects into code.
R=yangguo@chromium.org
BUG=v8:2803
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 10:51:12 +00:00
weiliang.lin@intel.com
1ca4454aeb X87: Use the same registers for StoreIC and KeyedStoreIC.
port r22387

original commit message:
  Use the same registers for StoreIC and KeyedStoreIC.

  Based on https://codereview.chromium.org/389283002 ("Use register parameters in ElementsTransitionGenerator") which must land first.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 10:41:23 +00:00
mvstanton@chromium.org
0827316df5 Enum RegisterInfo renamed to ParameterIndices.
"Info" is information-poor.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 10:19:30 +00:00
yangguo@chromium.org
ed744ffa17 Do not dump user source code in the code serializer.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 10:17:22 +00:00
weiliang.lin@intel.com
2aad6f0024 X87: Use register parameters in ElementsTransitionGenerator
port r22384

original commit message:
 Use register parameters in ElementsTransitionGenerator
x

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 09:46:10 +00:00
mstarzinger@chromium.org
ee51510674 Unify the IsShortcutCandidate predicate.
R=yangguo@chromium.org
BUG=v8:2803
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 09:19:22 +00:00
yangguo@chromium.org
fd57811644 Fix up internalized strings after deserializing user code.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:46:47 +00:00
akos.palfi@imgtec.com
fb812df512 MIPS: Use the same registers for StoreIC and KeyedStoreIC.
Port r22387 (ff76c666)

BUG=
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:40:26 +00:00
akos.palfi@imgtec.com
d6fcb81a61 MIPS: Use register parameters in ElementsTransitionGenerator.
Port r22384 (52caca20)

BUG=
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:38:16 +00:00
weiliang.lin@intel.com
23887bf978 X87: Clean up and update const / var
port r22379

original commit message:
This CL simplifies var / const by ensuring the behavior is consistent in itself,
and with regular JS semantics; between regular var/const and eval-ed var/const.

Legacy const is changed so that a declaration declares a configurable, but non-writable, slot,
 and the initializer reconfigures it (when possible) to non-configurable non-writable. This
 avoids the need for "the hole" as marker value in JSContextExtensionObjects and GlobalObjects.
Undefined is used instead.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:37:37 +00:00
hpayer@chromium.org
9180b1a319 Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active.
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:24:44 +00:00
danno@chromium.org
319e5226e9 fix the vtune support bug.
During https://code.google.com/p/v8/source/detail?r=19925 checkin context bound scripts (Script)
and context unbound scripts (UnboundScript) are Distinguished.

And then Sven Panne helped to fix the vtune support compilation
error in https://code.google.com/p/v8/source/detail?r=20955.

The problem is that there is runtime error for vtune
support.
In our original implementation, we encapsulated and passed v8::internal::Script
to V8 API. It will leads to type check error for current V8::Script definition.

So I changed the Handle<Script> definition in JitCodeEvent
to Handle<UnboundScript>
 and add the corresponding change in log.cc.

If you do NOT prefer to change in include/v8.h. I think I can change the definition of
CodeEventLogger::LogRecordedBuffer(...) so that the we can pass the correct
type (JSFunction) as V8::Script to V8 API.

BUG=
R=danno@chromium.org, svenpanne@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:13:42 +00:00
jkummerow@chromium.org
23cf62232f Drop unnecessary receiver validity checks from {Load,Store}IC_Normal.
Since these builtins are used as handlers after a map check/dispatch, they don't need to check the receiver again.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:07:25 +00:00
svenpanne@chromium.org
cd0980059d Removed some copy-n-paste from StackFrame::Foo API entries.
BUG=v8:3436
LOG=y
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 06:59:42 +00:00
mvstanton@chromium.org
086290baf0 Use the same registers for StoreIC and KeyedStoreIC.
Based on https://codereview.chromium.org/389283002 ("Use register parameters in ElementsTransitionGenerator") which must land first.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 20:43:41 +00:00
kilvadyb@homejinni.com
acffe8c7cd MIPS: Remove ASSERT since there are tons of different ASSIGN variants
Port r22382 (84a841f)

BUG=
R=akos.palfi@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 18:53:49 +00:00
kilvadyb@homejinni.com
ea1d4db878 MIPS: This CL simplifies var / const by ensuring the behavior is consistent in itself, and with regular JS semantics; between regular var/const and eval-ed var/const.
Port r22379 (fb62653)

Original commit message:
Legacy const is changed so that a declaration declares a configurable, but non-writable, slot, and the initializer reconfigures it (when possible) to non-configurable non-writable. This avoids the need for "the hole" as marker value in JSContextExtensionObjects and GlobalObjects. Undefined is used instead.

BUG=
R=akos.palfi@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 18:22:34 +00:00
mvstanton@chromium.org
490c6171ed Use register parameters in ElementsTransitionGenerator.
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 15:03:38 +00:00
verwaest@chromium.org
6466ff39fb Remove PropertyAttributes from SetProperty
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:52:24 +00:00
verwaest@chromium.org
e3a269b77f Remove ASSERT since there are tons of different ASSIGN variants
BUG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:42:33 +00:00
verwaest@chromium.org
1d55a634a9 Replace AddProperty by AddNamedProperty to speed up the common case
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:05:30 +00:00
rossberg@chromium.org
3fade8e4af Fix d8 object printing (symbols, accessors)
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:01:30 +00:00
verwaest@chromium.org
aa7198dfdd This CL simplifies var / const by ensuring the behavior is consistent in itself, and with regular JS semantics; between regular var/const and eval-ed var/const.
Legacy const is changed so that a declaration declares a configurable, but non-writable, slot, and the initializer reconfigures it (when possible) to non-configurable non-writable. This avoids the need for "the hole" as marker value in JSContextExtensionObjects and GlobalObjects. Undefined is used instead.

BUG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:01:04 +00:00
rossberg@chromium.org
942fe1914f Reland "Include symbol properties in Object.{create,defineProperties}"
Second try; implementation that doesn't rely on external arrays.

R=mstarzinger@chromium.org
BUG=v8:3440

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:00:33 +00:00
mstarzinger@chromium.org
cb3e2beba3 Fix error message about read-only symbol properties.
R=rossberg@chromium.org
BUG=v8:3441
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 13:57:10 +00:00
titzer@chromium.org
f28f6102f8 Revert "Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active."
Reason: broke win64 build

This reverts commit 221bfdd2da2b6f3c1cbe77c5d197f1ea626b0bd2.

TBR=hpayer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 13:02:36 +00:00
rossberg@chromium.org
f2536bf7af Revert "Include symbol properties in Object.{create,defineProperties}"
TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22373 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 12:27:08 +00:00
hpayer@chromium.org
030df48ced Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active.
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 11:31:22 +00:00
yangguo@chromium.org
ba8bbee634 Serialize builtins by referencing canonical ones.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 11:22:03 +00:00
rossberg@chromium.org
5c8d0d18f0 Include symbol properties in Object.{create,defineProperties}
R=mstarzinger@chromium.org
BUG=v8:3440
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 10:59:29 +00:00
jochen@chromium.org
712957548d Unify LookupIterator::GetRoot and Objects::GetRootMap
BUG=none
R=verwaest@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 10:54:24 +00:00
yangguo@chromium.org
cc9a9f4191 Ensure that each profiling entry ends with a new line.
Currently this does not happen if the message builder buffer is full.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 10:47:40 +00:00
marja@chromium.org
70da8959bc 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 ParseArrowFunctionLiteral(), 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 the empty parameter list "()" is handled directly in
ParsePrimaryExpression(): after is has consumed the opening parenthesis,
if a closing parenthesis follows, then the only valid input is an arrow
function. In this case, ParsePrimaryExpression() directly calls
ParseArrowFunctionLiteral(), to avoid needing to return a sentinel value
to signal the empty parameter list. Because it will consume the body of
the arrow function, ParseAssignmentExpression() will not see the arrow
"=>" token as next, and return the already-parser expression.

The implementation is done in ParserBase, so it was needed to do some
additions to ParserBase, ParserTraits and PreParserTraits. Some of the
glue code can be removed later on when more more functionality is moved
to ParserBase.

Additionally, this adds a runtime flag "harmony_arrow_functions"
(disabled by default); enabling "harmony" will enable it as well.

BUG=v8:2700
LOG=N
R=marja@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 07:55:45 +00:00
jochen@chromium.org
168742b81a Introduce a PrototypeIterator class and use it for prototype access
The new pattern is that we first get the map of the root of the
prototype chain using Object::GetMapRoot() and then walk up the
prototype chain using Map::prototype().

BUG=???
R=verwaest@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 07:19:49 +00:00
jarin@chromium.org
457de26330 Fix arm64 deoptimization from double registers (reverts r20613).
This reverts "ARM64: Use pair memory access in deoptimizer entry", r20613. It does not really make sense to micro-optimize the deoptimizer as it is the ultra-slow path. Moreover, the original code was easier to read (in addition to being correct).

BUG=391313
LOG=N
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 19:30:09 +00:00
mvstanton@chromium.org
18961d7c03 Revert "Use the same registers for StoreIC and KeyedStoreIC."
This reverts commit r22358 due to release mode arm64 test failures.

TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 14:50:59 +00:00
mvstanton@chromium.org
8a0267f96e Use the same registers for StoreIC and KeyedStoreIC.
The x64 and ia32 platforms already did this, port to arm and arm64.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 13:53:19 +00:00
kilvadyb@homejinni.com
8efe72df31 MIPS: slightly reduce deopt tables size.
Port r22305 (00a3740)

BUG=
R=dusan.milosavljevic@rt-rk.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 13:49:33 +00:00
svenpanne@chromium.org
4e69166807 Unbreak build by making old MSVC happy (hopefully).
TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 12:55:56 +00:00
svenpanne@chromium.org
99d3c3b1c4 Made printing of special FP values portable.
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 12:42:37 +00:00
svenpanne@chromium.org
1e2d3ecb35 Make UBSan happy.
This involves avoiding signed multiplication overflow, shifting too
far and overflow during negation.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 12:12:58 +00:00
dslomov@chromium.org
1b5958382a Revert "Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active."
This reverts commit r22346 for breaking GC stress tests.

TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 11:33:57 +00:00
akos.palfi@imgtec.com
aba630f104 MIPS: update owners.
BUG=
R=danno@chromium.org, plind44@gmail.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 10:02:48 +00:00
hpayer@chromium.org
6d022494ec Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active.
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 09:51:34 +00:00
alph@chromium.org
e64230c1f9 Unflake and speedup JsNative*Sample cpu profile tests
Instead of running cpu profiler for a hundred milliseconds,
collecting samples distributed in a non-deterministic way all along
the code, make the tests rely on a single sample we collect on
the profiler start.

R=bmeurer@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 09:06:12 +00:00
mstarzinger@chromium.org
4468f441b0 Remove AddCode and RemoveCode GDB JIT entry hooks.
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 07:51:25 +00:00
weiliang.lin@intel.com
9d047839b5 X87: Use a register spec for StoreIC and KeyedStoreIC.
port r22328

original commit message:

  Use a register spec for StoreIC and KeyedStoreIC.

  This continues refactoring already applied for LoadIC in r22035 (https://code.google.com/p/v8/source/detail?r=22035).

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 07:47:58 +00:00
yangguo@chromium.org
fe072007d7 Change ASSERTs in serializer macro to STATIC_ASSERTs.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 07:04:51 +00:00
yangguo@chromium.org
ada872481f Fix assertion in ScriptData.
R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 06:58:25 +00:00
yangguo@chromium.org
11dbc40cf3 Temporarily remove newly introduced assertion.
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 06:46:24 +00:00
marja@chromium.org
938b57f75b Revert "Implement handling of arrow functions in the parser"
This reverts revision 22320.

Reason: ASAN still detects leaks!

Conflicts:
	src/preparser.h

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 06:39:31 +00:00
akos.palfi@imgtec.com
e97ea23fa8 MIPS: Use a register spec for StoreIC and KeyedStoreIC.
Port r22328 (92275b7a)

Original commit message:
This continues refactoring already applied for LoadIC in r22035 (https://code.google.com/p/v8/source/detail?r=22035).

BUG=
R=gergely@homejinni.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 01:50:12 +00:00
rmcilroy@chromium.org
d6e2065910 Revert "Enable out-of-line constant pool on Arm"
This reverts r22332 due to Arm breakages.

TBR=dslomov

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 22:39:10 +00:00
verwaest@chromium.org
42276f2467 Ensure we update attributes in CopyGeneralizeFieldRepresentation
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 18:30:19 +00:00
rmcilroy@chromium.org
648e570a0e Enable out-of-line constant pool on Arm
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 18:06:39 +00:00
hpayer@chromium.org
cff790d0b3 Fix windows compile, again.
BUG=
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 17:13:27 +00:00
mstarzinger@chromium.org
d0667e9755 Only install JitCodeEventHandler for GDB JIT if requested.
TBR=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 16:31:57 +00:00
mstarzinger@chromium.org
be3fa945c5 Fix compilation with shared library.
TBR=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 15:19:29 +00:00
mvstanton@chromium.org
3d880be540 Use a register spec for StoreIC and KeyedStoreIC.
This continues refactoring already applied for LoadIC in r22035 (https://code.google.com/p/v8/source/detail?r=22035).

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 14:59:47 +00:00
rossberg@chromium.org
da5bc8d517 Stray assertion
TBR=marja@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 14:54:35 +00:00
hpayer@chromium.org
634b90eb0e Fix Windows compile error.
BUG=
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 14:50:32 +00:00
mstarzinger@chromium.org
5e938f9976 Remove GDB JIT hooks from the position recorder.
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 14:41:06 +00:00
rossberg@chromium.org
1d7cd30677 Parser sync tests for let identifiers
R=marja@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 14:39:35 +00:00
rossberg@chromium.org
e274edc8b8 Make let usable as an identifier in ES6 sloppy mode.
All of our mjsunit suite now runs through with --harmony-scoping enabled, up to expected failures (tests checking syntax errors for const/function in strict mode).

R=marja@chromium.org, ulan@chromium.org
BUG=v8:2198
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 14:06:37 +00:00
hpayer@chromium.org
a087f30500 Fix Windows compile error.
BUG=
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 13:57:07 +00:00
mstarzinger@chromium.org
2269da5287 Switch type of the-hole to be internal.
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 12:37:08 +00:00
marja@chromium.org
e5991fc373 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 ParseArrowFunctionLiteral(), 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 the empty parameter list "()" is handled directly in
ParsePrimaryExpression(): after is has consumed the opening parenthesis,
if a closing parenthesis follows, then the only valid input is an arrow
function. In this case, ParsePrimaryExpression() directly calls
ParseArrowFunctionLiteral(), to avoid needing to return a sentinel value
to signal the empty parameter list. Because it will consume the body of
the arrow function, ParseAssignmentExpression() will not see the arrow
"=>" token as next, and return the already-parser expression.

The implementation is done in ParserBase, so it was needed to do some
additions to ParserBase, ParserTraits and PreParserTraits. Some of the
glue code can be removed later on when more more functionality is moved
to ParserBase.

Additionally, this adds a runtime flag "harmony_arrow_functions"
(disabled by default); enabling "harmony" will enable it as well.

BUG=v8:2700
LOG=N
R=marja@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 12:27:07 +00:00
hpayer@chromium.org
0b38ffaca8 Revert "Precisely sweeping of scan-on-scavenge pages."
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 12:22:01 +00:00
hpayer@chromium.org
ce916ff99a Allow main thread to contribute to the sweeping phase.
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 12:07:28 +00:00
yangguo@chromium.org
4057ed91af Fix memory leak in Parser after r22314.
R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 11:34:14 +00:00
yurys@chromium.org
3994880715 Support ES6 Map and Set in heap profiler
Added special handling for Map and Set in the heap snapshot generator.

Extracted common base type from JSMap/JSSet similar to JSWeakMap/JSWeakSet.

After handling collection specific properties all collections are processed as regular JSObject to make sure all regular properties set on them are present in the heap snapshot.

BUG=v8:3368
LOG=Y
R=alph@chromium.org, rossberg@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 10:54:47 +00:00
yangguo@chromium.org
339bc81390 Refactor ScriptData class for cached compile data.
R=marja@chromium.org, vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 10:28:05 +00:00
yurys@chromium.org
3b2511ed4a Revert "Support ES6 Map and Set in heap profiler"
This reverts commit 47f86e067f due to some weird (likely unrelated) compilation errors.

BUG=v8:3368
TBR=rossberg

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 08:45:45 +00:00
yurys@chromium.org
47f86e067f Support ES6 Map and Set in heap profiler
Added special handling for Map and Set in the heap snapshot generator.

Extracted common base type from JSMap/JSSet similar to JSWeakMap/JSWeakSet.

After handling collection specific properties all collections are processed as regular JSObject to make sure all regular properties set on them are present in the heap snapshot.

BUG=v8:3368
LOG=Y
R=alph@chromium.org, rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 07:24:52 +00:00
adamk@chromium.org
05463c4906 Avoid unnecessary hashing in OrderedHashTable
Add an overload of OrderedHashTable::FindEntry that takes
a hash along with the key to allow callsites which need to
re-use the hash (such as Add()) to avoid recomputing it.

On my Macbook this results in improvements on the Collections
microbenchmarks:
  Map-Collections: +4%
  Set-Collections: +5%

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 16:19:53 +00:00
marja@chromium.org
79ddf746d9 Parser / Scanner: Minor refactorings to make streaming scripts work easier.
1) Call DeserializeScopeChain only if it's going to do something
non-trivial. And we only need to internalize the AstValueFactory in those cases.

2) BufferedUtf16CharacterStream::FillBuffer doesn't need the length
argument. The length is always kBufferSize and the subclasses can just read it
(it's protected).

R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 14:50:23 +00:00
m.m.capewell@googlemail.com
577984b3d6 ARM: sligthly reduce deopt tables size
BUG=
R=ulan@chromium.org, bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22305 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 14:08:13 +00:00
jochen@chromium.org
c1f6a0306e Remove deprecate counter/histogram methods
Callers should use the methods with the same name on Isolate instead.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22304 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 14:03:05 +00:00
svenpanne@chromium.org
4533294e98 Fixed printing of external references.
Previously we relied on undefined behavior (printf("%s", NULL)), now
we explicitly emit "<unknown>" when we hit an external reference with
an unknown name.

BUG=392068
LOG=y
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 12:12:21 +00:00
rossberg@chromium.org
23753270ba Fix several issues with ES6 redeclaration checks
R=ulan@chromium.org
BUG=v8:3426
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 11:35:05 +00:00
dusan.milosavljevic@rt-rk.com
a0f6878a06 Add mips64 port.
Summary:

- Changes in common code are mainly boilerplate changes,
gyp and test status files updates.

- On mips64 simulator all tests pass from all test units.

- Current issues: mjsunit JS debugger tests fail randomly on HW in release mode.
Corresponding tests are skipped on HW.

- Skipped tests on mips64: test-heap/ReleaseOverReservedPages, mjsunit/debug-*

TEST=
BUG=
R=danno@chromium.org, plind44@gmail.com, ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 11:08:26 +00:00
jochen@chromium.org
2200522271 Add a check that we make progress during incremental marking
BUG=381820
R=hpayer@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 09:16:54 +00:00
rmcilroy@chromium.org
ae6496e6ea [Arm]: Optimize ConstantPoolBuilder::Populate code by minimizing calls to OffsetOfElementAt
Calling OffsetOfElementAt becomes expensive when compiling functions with many
constant pool entries.  This was causing a regression in MandreelLatency due
to the time spent populating the constant pool array for large compiled
functions.

This change avoids calling OffsetOfElementAt for each entry, and instead keeps
track of the current offsets in ConstantPoolBuilder::Populate.  This gives the
following improvements on a Nexus 5:

                     Inline CP  |  OOL CP (before CL)  |  OOL CP (after CL)
Mandreel:               4305    |        3961          |       4120
MandreelLatency:        2298    |        1198          |       1994
Octane Score:           5197    |        4982          |       5152

R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 09:08:37 +00:00
ulan@chromium.org
68036255ea Fix for-loop with const/let and empty condition/iteration statements.
BUG=v8:3425, v8:3424
LOG=N
TEST=mjsunit/harmony/empty-for.js
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 07:50:11 +00:00
yangguo@chromium.org
8a2a4bf983 Flush ICache after deserializing code.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 07:32:55 +00:00
aandrey@chromium.org
6872ad5c46 Change some names in Promise instrumentation events.
TBR=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 14:45:57 +00:00
Jacob.Bramley@arm.com
2e257d6cff Reland r22247 "ARM64: Use UntagSmi helpers and clean up assertions."
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 14:14:25 +00:00
yangguo@chromium.org
41b74fd26f Fix issues with code serializer.
- code pre-aging does not work with serializing.
- compilation info needs to remember that we compile for serializing.
- test case leaks memory.

R=vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 14:13:50 +00:00
hpayer@chromium.org
1435d0d7aa We can iterate a scan on scavange page if it was precisely swept or just added to the old generation.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 12:29:15 +00:00
hpayer@chromium.org
2cf9fc19f2 Make sure that the overflow store buffer size is always larger or equals than the regular store buffer size.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 11:22:51 +00:00
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
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
jkummerow@chromium.org
70811b5d7b HGraphBuilder::BuildJSObjectCheck: Tighten instance type comparison
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22206 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 16:32:23 +00:00
kilvadyb@homejinni.com
cff28953aa MIPS: Remove unnecessary check in RegExpExecStub.
Port r22202 (cd07587)

BUG=v8:592
LOG=N
R=palfia@homejinni.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 16:22:34 +00:00
aandrey@chromium.org
952a986dd1 Introduce debug events for Microtask queue.
R=yangguo@chromium.org, adamk@chromium.org, rafaelw@chromium.org, rossberg@chromium.org
BUG=chromium:272416
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 15:56:01 +00:00
yangguo@chromium.org
87dfaa8951 Remove unnecessary check in RegExpExecStub.
R=ulan@chromium.org
BUG=v8:592
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 14:03:10 +00:00
m.m.capewell@googlemail.com
32ce17d644 ARM64: use direct conditional branches for regexp
R=ulan@chromium.org, bmeurer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 13:16:51 +00:00
m.m.capewell@googlemail.com
144c172205 ARM64: improve Adr patching
R=ulan@chromium.org, bmeurer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 13:08:15 +00:00
yangguo@chromium.org
f3b9ece6a4 Revert "Reland^2 r22105 "Remove static initializer from isolate""
This reverts r22167.

BUG=v8:3421
LOG=N
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 12:33:16 +00:00
kilvadyb@homejinni.com
f9a0e2eb2f MIPS: Start using OStreams.
Port r22179 (01402bc)

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=palfia@homejinni.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 12:27:23 +00:00
yangguo@chromium.org
a0c10d119a Revert "Turn old space cons strings into regular external strings (not short)."
This reverts commits r22192 and r22194.

TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 12:24:41 +00:00
yangguo@chromium.org
a97789d65a Fix changed expectation in Heap::AllowToBeMigrated.
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 12:01:34 +00:00
jkummerow@chromium.org
dfa8df2fdd Fix deopt reason printing to print stub failure reason with --trace-stub-failures --code-comments
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 11:47:31 +00:00
yangguo@chromium.org
6574f33d2a Turn old space cons strings into regular external strings (not short).
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22192 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 11:46:31 +00:00
mvstanton@chromium.org
bed0877111 Error in CallFunctionNoFeedback ia32 made less efficient code.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22191 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 11:11:39 +00:00
dcarney@chromium.org
1859b04071 add GetOwnPropertyDescriptor to api
R=verwaest@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 10:04:57 +00:00
jochen@chromium.org
c1231d426f Add an API to pump the message loop to libplatform
BUG=none
LOG=n
R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 09:33:36 +00:00
jkummerow@chromium.org
34eb0262a9 Hydrogenized KeyedLoadGeneric stub: Fix BuildDecodeField
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 08:58:03 +00:00
jkummerow@chromium.org
aca5038b3d Hydrogenized KeyedLoadGeneric stub: Fix string hash retrieval
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 08:55:42 +00:00
ishell@chromium.org
ff134a1939 Stack overflow checkers are now compatible with ASAN's detect_stack_use_after_return mode.
BUG=chromium:376287
BUG=chromium:376262
BUG=chromium:369962
LOG=N
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 08:52:28 +00:00
jochen@chromium.org
7b94143287 Don't even include v8.h from libbase or libplatform
BUG=none
R=yangguo@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 08:50:52 +00:00
jochen@chromium.org
abb0ff205c Buildfix for windows after r22180
TBR=yangguo@chromium.org
LOG=n
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 07:57:29 +00:00
jochen@chromium.org
ca16bb7ae2 Split out libplatform into a separate libary
Also remove the "use default platform" compile flag. Instead, the embedder
has to provide the platform.

Change all binaries to use the default platfrom from libplatform.

Unless --job-based-sweeping is passed, nothing uses the platform yet, so
nothing will break for embedders (yet).

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 07:37:27 +00:00
svenpanne@chromium.org
d7934d1fbe Start using OStreams.
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.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 07:18:30 +00:00
ishell@chromium.org
2fba190240 One of the fast cases in JSObject::MigrateFastToFast() should not be taken if the number of fields did not change.
BUG=chromium:390918
LOG=N
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 19:10:19 +00:00
verwaest@chromium.org
a1dd1a262c Revert "Remove special ExecutableAccessorInfo handling based on flag"
Temporarily reverting until we figure out how to handle the API cases that use accessors to lazily compute values.
dataAttributeGetterCustom in V8MessageEventCustom (at least) overwrites itself with the computed value using ForceSet. We can either force such clients to first use ForceDelete before caching, use some other caching mechanism; or provide an API for lazily computed properties.

TBR=dcarney@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 16:59:04 +00:00
verwaest@chromium.org
2350d46146 Remove special ExecutableAccessorInfo handling based on flag
This additionally removes special "prototype" handling for O.o, since it's broken; and added test.

BUG=
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 15:28:29 +00:00
kilvadyb@homejinni.com
ec349cbfed MIPS: Clean up the global object naming madness.
Port r22117 (e9244d6)

BUG=
R=palfia@homejinni.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 15:21:28 +00:00
yangguo@chromium.org
f353ff668a Harden Runtime_LiveEditCheckAndDropActivations against unsafe args.
R=jarin@chromium.org
BUG=390925
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22169 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 15:09:44 +00:00
kilvadyb@homejinni.com
7a8a44aaf6 MIPS: KeyedLoadIC should have same register spec as LoadIC.
Port r22103 (2c36867)

Original commit message:
On arm, arm64 and x64 there is a different register specification between LoadIC and KeyedLoadIC.

It would be nicer if these are the same, allowing some key optimizations.

BUG=
R=palfia@homejinni.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22168 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 15:09:14 +00:00
jochen@chromium.org
d8aefde617 Reland^2 r22105 "Remove static initializer from isolate"
Make Isolate::UncheckedCurrent() return NULL if Isolate wasn't yet initialized
to avoid reentrancy when running with the profiler

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 14:43:54 +00:00
yangguo@chromium.org
44d6ef37ab Reland "Fix stack trace accessor behavior."
BUG=v8:3404
LOG=N
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 14:18:10 +00:00
jochen@chromium.org
df6e1ac69e Make flag definition macros style guide compliant and clang-format it.
coding style wants macros to be all upper case, and so clang-format only
detects those as macros.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 14:00:16 +00:00
wingo@igalia.com
341d61867c Allow yield expressions without a RHS.
R=marja@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 13:48:28 +00:00
yangguo@chromium.org
a481d753d0 Stack traces exposed to Javascript should omit extensions.
R=marja@chromium.org
BUG=v8:311
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 13:36:29 +00:00
yangguo@chromium.org
1c6f0fa6c7 Revert "Precisely sweep scan on scavenge pages and use heap iterator to iterate over them."
This reverts r22154.

TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 13:00:36 +00:00
hpayer@chromium.org
d4c07acd66 Wait for sweeper threads only if we have to, i.e. if we globally have to finish sweeping or if we have to allocate from a certain space.
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 12:33:12 +00:00
hpayer@chromium.org
4793ec3b7e Precisely sweep scan on scavenge pages and use heap iterator to iterate over them.
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 12:19:03 +00:00
marja@chromium.org
be0d2fbe1f Fix: Parser::HandleSourceURLComments was making gcmole unhappy (rightfully).
R=yangguo@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 12:01:56 +00:00
jochen@chromium.org
128086642b Fix platform-cygwin.cc to really not use an Isolate
BUG=none
R=jkummerow@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 11:22:54 +00:00
yangguo@chromium.org
b6fcac16a3 Revert "Reland "Linux perf tool support update + refactoring." (r22118)"
This reverts r22146.

TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 10:19:35 +00:00
m.m.capewell@googlemail.com
91ba01532f ARM64: Reland faster immediate check
Improve the code used to check for encodable logical immediates, fix some corner
cases associated with moving kWMinInt into W registers, and add tests.

BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 09:52:23 +00:00
jarin@chromium.org
1dbeb822bd Reland "Linux perf tool support update + refactoring." (r22118)
This disables the perf support in Android because of build problems with librt (should be fixable with a bit of effort, but priority is low).

BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 08:38:52 +00:00
yangguo@chromium.org
20b9b454b1 Revert "Postpone termination exceptions in debug scope."
This reverts r22144.

TBR=yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 08:27:31 +00:00
yangguo@chromium.org
ed693ecae3 Postpone termination exceptions in debug scope.
R=yurys@chromium.org
BUG=v8:3408
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 08:15:52 +00:00
yangguo@chromium.org
2adbfced35 Reland "Add mechanism to postpone interrupts selectively."
BUG=v8:3408
LOG=N
R=yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 08:05:40 +00:00
jochen@chromium.org
539c6183e3 Revert "Reland 22105 "Remove static initializer from isolate""
BUG=none
TBR=yangguo@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 07:44:02 +00:00
weiliang.lin@intel.com
537b7fa325 X87: Clean up the global object naming madness.
port r22117

original message:

  Clean up the global object naming madness.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 07:07:22 +00:00