Commit Graph

12549 Commits

Author SHA1 Message Date
bmeurer@chromium.org
770e6ee8b8 Fix/unify root handling in code generation.
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16132 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 13:43:46 +00:00
mvstanton@chromium.org
201c512dc7 Deoptimization is easier to diagnose when there is a text reason.
BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16131 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 12:50:42 +00:00
verwaest@chromium.org
5f9ff709f0 Reduce some code duplication
R=svenpanne@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22732006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 12:33:06 +00:00
verwaest@chromium.org
d435819e36 Replace MathFloor/Round by HChange if the input representation does not match the output representation
R=svenpanne@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22398009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 12:03:40 +00:00
verwaest@chromium.org
19659646ca Fix smi-based math floor.
BUG=chromium:270268
R=svenpanne@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22623007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 11:21:03 +00:00
bmeurer@chromium.org
aca068462f Fix -Wconversion warnings in external V8 headers.
BUG=v8:2830
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 10:33:08 +00:00
jochen@chromium.org
ebadc421e4 Move i18n collator code to runtime.
BUG=v8:2745
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 09:51:09 +00:00
mstarzinger@chromium.org
899e80130e Fix handle unsafety in Deoptimizer::MaterializeNextHeapObject.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 09:49:15 +00:00
bmeurer@chromium.org
1086e02fef openbsd: fix platform build
R=bmeurer@chromium.org

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

Patch from Ben Noordhuis <info@bnoordhuis.nl>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 09:07:46 +00:00
mvstanton@chromium.org
ab066fae6f Add flag trap_on_stub_deopt. We want to be able to trap on hydrogen stub bailouts.
BUG=
R=svenpanne@chromium.org, verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 08:24:29 +00:00
svenpanne@chromium.org
f0305bd83e Instance-type-related fixes and cleanup.
Things got quite a bit out of sync (don't we all love copy-n-paste?):

   * TypeToString didn't handle SLICED_STRING_TYPE,
     SLICED_ASCII_STRING_TYPE, FIXED_DOUBLE_ARRAY_TYPE,
     JS_FUNCTION_PROXY_TYPE and JS_DATE_TYPE.

   * INSTANCE_TYPE_LIST was missing entries for
     SLICED_ASCII_STRING_TYPE, JS_SET_TYPE, and JS_MAP_TYPE.

To improve this maintenance nightmare a little bit, the missing
instance types were added to the INSTANCE_TYPE_LIST macro and this
list is now used via our beloved 2nd order macro technique in
TypeToString. As a side-effect, the strings returned by TypeToString
have a "_TYPE" suffix now, but this doesn't really matter and is a
small price to pay for consistency.

Removed INVALID_TYPE on the way, it had no real use.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 08:22:46 +00:00
yurys@chromium.org
85d8178d87 Deprecate self and total time getters and total sample count getter on CpuProfileNode
All of these values are derived from the self samples count and there is no need to evaluate them in v8 when clients can do that when needed on their side.

Also added unsigned GetHitCount() which should be used instead of double GetSelfSamplesCount(). I'm going to deprecate the latter one once Blink has switched to GetHitCount.

BUG=267595
TBR=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 07:38:26 +00:00
palfia@homejinni.com
e3f1ec4b1a MIPS: Patch to enhance the source code line information for profiler.
Port r16114 (2d1bf399)

Original commit message:
This patch is to enhance the source code line information for profiler.

For the Hydrogen compilation, most of the source code line information
is not copied from the HInstruction the to corresponding LInstruction.

This patch defines one PositionBits field for LInstruction and copies the
sorce code position value from the HInstruction.

When Generating the native code, we use RecordPosition(..) function to
write LInstruction's position value to position recorder.

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-08 18:36:25 +00:00
yurys@chromium.org
4f56107e2f Revert "Deprecate self and total time getters and total sample count getter on CpuProfileNode"
This reverts commit r16116 due to WebKit compilation breakage. Will reland it once Blink r155755 is rolled into Chromium.

TBR=svenpanne@chromium.org
BUG=None

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-08 14:43:44 +00:00
yurys@chromium.org
122327d1c6 Deprecate self and total time getters and total sample count getter on CpuProfileNode
All of these values are derived from the self samples count and there is no need to evaluate them in v8 when clients can do that when needed on their side.

Also added unsigned GetHitCount() which should be used instead of double GetSelfSamplesCount(). I'm going to deprecate the latter one once Blink has switched to GetHitCount.

BUG=267595
R=loislo@chromium.org, svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-08 13:39:57 +00:00
plind44@gmail.com
ca09758499 MIPS: Optimize DoCheckMaps.
This simple change moves the Deoptimize call into the Deopt table
where it belongs, and shortens the inline map-check.

Gives a surprisingly large performance gain, around 4% on Octane.

BUG=
R=gergely@homejinni.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-08 05:04:42 +00:00
haitao.feng@intel.com
fb5857ceb8 Patch to enhance the source code line information for profiler.
This patch is to enhance the source code line information for profiler.

For the Hydrogen compilation, most of the source code line information
is not copied from the HInstruction the to corresponding LInstruction.

This patch defines one PositionBits field for LInstruction and copies the
sorce code position value from the HInstruction.

When Generating the native code, we use RecordPosition(..) function to
write LInstruction's position value to position recorder.

For the MIPS platform, I did not touch because I have no devices
to verify the modification on it.

R=danno@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-08 02:16:12 +00:00
haitao.feng@intel.com
f54aa8b6ad tweak of Math.abs in its x64 stub
R=jkummerow@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-08 01:29:33 +00:00
plind44@gmail.com
bbbf78e78c MIPS: Refactor and improve inlined double-aligned allocations
Additionally, fix object size register clobbering in Allocate routine.

Based on 13284 (d42bf80).

BUG=
R=plind44@gmail.com

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

Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 21:54:03 +00:00
verwaest@chromium.org
e5afd32129 Fix Object.freeze, Object.observe wrt CountOperation and CompoundAssignment.
BUG=2774,2779
R=adamk@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22562004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 18:45:41 +00:00
verwaest@chromium.org
56ca64e98c Revert "mod does not rely on a fixed register anymore, the arguments are passed via the stack."
Due to buildbot failures.

BUG=
R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22474007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 17:22:17 +00:00
yurys@chromium.org
707fdd4c6a Support idle time in CPU profiler
This change provides an API for the embedder to tell CPU profiler if it is idle or busy with some task. This way we can discriminate between idle time and some native code execution.

BUG=268947
R=alph@chromium.org, yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 17:04:27 +00:00
olivf@chromium.org
ca4457e8ed mod does not rely on a fixed register anymore, the arguments are passed via the stack.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16108 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 16:47:24 +00:00
palfia@homejinni.com
5021e72675 MIPS: First implementation of allocation elimination in Hydrogen.
Port r16098 (328ff5f7)

Original commit message:
This change implements a simple data-flow analysis pass over captured
objects to the existing escape analysis. It tracks the state of values
in the Hydrogen graph through CapturedObject marker instructions that
are used to construct an appropriate translation for the deoptimizer to
be able to materialize these objects again.

This can be considered a combination of scalar replacement of loads and
stores on captured objects and sinking of unused allocations.

TEST=mjsunit/compiler/escape-analysis

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 16:34:20 +00:00
jkummerow@chromium.org
371ac893f9 Check for empty handle in JSON stringifier
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 16:34:13 +00:00
svenpanne@chromium.org
f3a36593be Removed wrong ASSERTs on MIPS.
R=palfia@homejinni.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16102 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 13:42:46 +00:00
svenpanne@chromium.org
a8e12c5a02 Handle Symbols in the LBranch instruction on x64.
This was an omission in https://code.google.com/p/v8/source/detail?r=14051.

R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16101 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 13:33:41 +00:00
prybin@chromium.org
29bb553b1d Fix step in positions (include various calls and exclude current pc point), add a test
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 12:27:22 +00:00
jochen@chromium.org
5a92a95676 Move i18n's number-format C++ code to runtime
BUG=v8:2745
R=dcarney@chromium.org, mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16099 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 12:14:50 +00:00
mstarzinger@chromium.org
63defee477 First implementation of allocation elimination in Hydrogen.
This change implements a simple data-flow analysis pass over captured
objects to the existing escape analysis. It tracks the state of values
in the Hydrogen graph through CapturedObject marker instructions that
are used to construct an appropriate translation for the deoptimizer to
be able to materialize these objects again.

This can be considered a combination of scalar replacement of loads and
stores on captured objects and sinking of unused allocations.

R=titzer@chromium.org
TEST=mjsunit/compiler/escape-analysis

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 11:24:14 +00:00
yangguo@chromium.org
ef8d394f12 Re-reland "Flush parallel recompilation queues on context dispose notification"
BUG=
R=hpayer@chromium.org, mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 09:33:09 +00:00
yangguo@chromium.org
5818d831c5 Make JSON::Parse return Local<Value>
It should be able to return Smi, etc. Not only JSObject.

BUG=v8:2821
TEST=cctest/test-api/JSONParseNumber
R=yangguo@chromium.org

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

Patch from Takeshi Yoshino <tyoshino@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 09:11:39 +00:00
dslomov@chromium.org
5ad4a8458a Prepare push to trunk. Now working on version 3.20.15.
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 09:05:59 +00:00
mstarzinger@chromium.org
fde19b3f39 Add frame pointer markup to grokdump.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16090 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 08:57:25 +00:00
dcarney@chromium.org
cd74a09886 expose eternal handle api
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 08:26:23 +00:00
jkummerow@chromium.org
a9efd655a5 Pacify Win7 builders
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 08:25:44 +00:00
bmeurer@chromium.org
db1436ab65 Handle external reference values properly in HConstant::ImmortalImmovable().
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 07:08:50 +00:00
jochen@chromium.org
02914097b2 Move i18n extension's date-format C++ code to runtime
BUG=v8:2745
R=dcarney@chromium.org, mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 03:40:44 +00:00
palfia@homejinni.com
213fd4b678 MIPS: Fix Sunspider 1.0/crypto-aes.
* This makes sure that DoModI calculates correct result even when
  the left register is the same as the result register.
* Microoptmization: it generates smaller code when left and result
  are different registers.

TEST=benchmarks/sunspider/crypto-aes.js

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16085 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 00:39:49 +00:00
dslomov@chromium.org
03172d9da8 Handlify factory methods for typed array, ArrayBuffer and DataView.
These factory methods used pointers for constructor fucntions, therefore
those pointers could corrupt if allocation triggered gc.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-06 19:14:51 +00:00
dslomov@chromium.org
d0adaefc55 Fix Win64 build after r16079.
TBR=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-06 19:13:15 +00:00
ulan@chromium.org
3511f7a428 Fix Array index dehoisting.
BUG=264203
TEST=test/mjsunit/regress/regress-264203
R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22314012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-06 16:38:39 +00:00
jkummerow@chromium.org
25ffcc3407 ARM/MIPS: Fix Constant-to-DoubleRegister moves in LGapResolver
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-06 14:46:50 +00:00
machenbach@chromium.org
e7585af65b Add flaky test classification feature to test suites.
Test expectations can now include outcome: FLAKY.

The test runner can now run a class of tests (flaky|non-flaky|all). All tests are in the non-flaky class that are not marked as FLAKY.

The slash correction for windows is now pulled into the test name method. Currently the progress output on windows contains a mixture of / and \.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-06 14:39:39 +00:00
yangguo@chromium.org
fa2381eb75 Wrap back edge table in an iterator.
R=titzer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-06 14:38:30 +00:00
yurys@chromium.org
2144dc2d0f Define V8EXPORT only in v8.h and use it in the other headers
V8EXPORT is defined in each header of V8 public API and the definitions already have some slight discrepancies. This CL makes all headers use the same definition in v8.h

BUG=None
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-06 14:37:35 +00:00
rossberg@chromium.org
5e121882c6 Remove test that causes illegal access now
TBR=mstarzinger@chromium.org
BUG=265369

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-06 14:34:25 +00:00
rossberg@chromium.org
f56ad9cab7 Turn assert into runtime assertion to make fuzzer happy
R=mstarzinger@chromium.org
BUG=265369

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-06 14:19:13 +00:00
yangguo@chromium.org
8fb95efdda Improve internal stringifcation for custom Error objects.
If an developer attempts to "subclass" Error by running
`MyError.prototype = new Error();`, then the internal v8::Message object
that's produced and handed off to `window.onerror` handlers is poorly
stringified as "[object Object]".

This patch adjusts the stringification process for these objects to
include not only native Error objects, but also objects that have Error
in their prototype chain, and haven't overwritten Error.toString with
some custom variant.

BUG=2822
R=mstarzinger@chromium.org, yangguo@chromium.org

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

Patch from Mike West <mkwst@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-06 13:58:21 +00:00
rossberg@chromium.org
92bd4d1f2d I found this working on
https://codereview.chromium.org/19541010/

The main problem is that if you called Object.getNotifier(obj) on an object, %SetObserved(object) would never get called on it, and thus it would be unobservable (new test added for this).

Additionally, Runtime::SetObserved was asserting obj->IsJSObject() which would fail if called on a proxy.

It just happens that our existing test always called getNotifier() before Object.observe on proxies, and thus we never previously attempted to transition the map of a proxy.

Both issues are now fixed and properly tested.

R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-06 13:49:10 +00:00