platform/upstream/v8.git
13 years agoSet optimizable to false on code object if shared function info says so.
ricow@chromium.org [Mon, 28 Mar 2011 05:57:27 +0000 (05:57 +0000)]
Set optimizable to false on code object if shared function info says so.

Because we might throw away code when doing code flushing we need to
set the optimizable flag to false in CompileLaze if this has been set
on the shared function info. This is the only place where this can
happen, since we always exchange the code with the laze compile stub
when doing code flushing.

The comment in AbortAndDisable actually states that this is already
the case (and that comment should now be ok).

Review URL: http://codereview.chromium.org/6685044

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFast TLS support on mac.
vitalyr@chromium.org [Sun, 27 Mar 2011 18:40:48 +0000 (18:40 +0000)]
Fast TLS support on mac.

Review URL: http://codereview.chromium.org/6724028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAdd files missing from last commit.
vitalyr@chromium.org [Sun, 27 Mar 2011 16:18:34 +0000 (16:18 +0000)]
Add files missing from last commit.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFast TLS support.
vitalyr@chromium.org [Sun, 27 Mar 2011 16:14:20 +0000 (16:14 +0000)]
Fast TLS support.

This patch adds common infrastructure for fast TLS support and
implementation on win32. More implementations will be added soon.

Fast TLS is controlled by V8_FAST_TLS define which is enabled by
default in our gyp and scons builds. The scons build has
fasttls={on,off} option so that we can see the effects of slow TLS
when needed.

Review URL: http://codereview.chromium.org/6696112

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRemove unneeded TLS reads from v8::Null() and friends.
vitalyr@chromium.org [Fri, 25 Mar 2011 14:09:14 +0000 (14:09 +0000)]
Remove unneeded TLS reads from v8::Null() and friends.

Patch by Dmitry Lomov.

Code review: http://codereview.chromium.org/6737003/

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix test that can fail for small denormals.
lrn@chromium.org [Fri, 25 Mar 2011 14:03:42 +0000 (14:03 +0000)]
Fix test that can fail for small denormals.

Review URL: http://codereview.chromium.org/6736027

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7373 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix typo in math-sqrt.js
lrn@chromium.org [Fri, 25 Mar 2011 13:48:17 +0000 (13:48 +0000)]
Fix typo in math-sqrt.js

Review URL: http://codereview.chromium.org/6696109

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRemove TLS read from ON_BAILOUT.
vitalyr@chromium.org [Fri, 25 Mar 2011 13:32:06 +0000 (13:32 +0000)]
Remove TLS read from ON_BAILOUT.

Patch by Dmitry Lomov.

Original review: http://codereview.chromium.org/6731030/

TBR=ager@chromium.org

Review URL: http://codereview.chromium.org/6713128

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoDon't rely on C++ object padding across platforms
sgjesse@chromium.org [Fri, 25 Mar 2011 13:26:55 +0000 (13:26 +0000)]
Don't rely on C++ object padding across platforms

The use of sizeof on FrameDescription to get to the additional allocated memory for the frame content relies on the padding of the FrameDescription. On IA32 Linux the FrameDescription is not padded but on ARM Linux it is padded to become 8 byte aligned. With a snapshot generated with the ARM simulator on IA32 Linux that contains one or more of the deoptimization tables the deoptimization did not work as the access to the frame content was one off between the C++ code and the generated code.

R=ager@chromium.org
Review URL: http://codereview.chromium.org/6744004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAdd more tests to mul-exhaustive for constant left/right operands.
lrn@chromium.org [Fri, 25 Mar 2011 13:24:20 +0000 (13:24 +0000)]
Add more tests to mul-exhaustive for constant left/right operands.

Make MJSUnit able to distinguish 0 and -0.

Review URL: http://codereview.chromium.org/6688062

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoCleanup more isolate usage in ia32 files.
ager@chromium.org [Fri, 25 Mar 2011 13:21:30 +0000 (13:21 +0000)]
Cleanup more isolate usage in ia32 files.

Review URL: http://codereview.chromium.org/6696107

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoCheck for SSE2 support in FullCodeGenerator::EmitMathPow.
vegorov@chromium.org [Fri, 25 Mar 2011 12:51:32 +0000 (12:51 +0000)]
Check for SSE2 support in FullCodeGenerator::EmitMathPow.

Do not emit call to the MathPowStub when SSE2 is not available because it requires SSE2.

Review URL: http://codereview.chromium.org/6736006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix prettyprinter for --print-ast option.
lrn@chromium.org [Fri, 25 Mar 2011 11:53:29 +0000 (11:53 +0000)]
Fix prettyprinter for --print-ast option.

Was broken since isolates merge.

Review URL: http://codereview.chromium.org/6676144

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix ARM external array crankshaft bailout
danno@chromium.org [Fri, 25 Mar 2011 11:16:29 +0000 (11:16 +0000)]
Fix ARM external array crankshaft bailout

BUG=none
TEST=none

Review URL: http://codereview.chromium.org/6730054

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoCorrect order of arguments to CHECK_EQ in an API test.
ager@chromium.org [Fri, 25 Mar 2011 10:34:39 +0000 (10:34 +0000)]
Correct order of arguments to CHECK_EQ in an API test.

R=karlklose@chromium.org
BUG=1275
TEST=

Review URL: http://codereview.chromium.org/6713125

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoReimplement the padding of relocation information for lazy deoptimization on ia32.
ager@chromium.org [Fri, 25 Mar 2011 10:29:34 +0000 (10:29 +0000)]
Reimplement the padding of relocation information for lazy deoptimization on ia32.

The previous implementation attempted to keep track of the needed
relocation size for deoptimization while generating the optimized
code. That was error prone. This patch moves the relocation resizing
to the deoptimizer as the last step of creating an optimized code
object.

The down side to this approach is that two relocation information byte
arrays are created for all optimized functions that do not have enough
relocation space for lazy deoptimization.

R=sgjesse@chromium.org

Review URL: http://codereview.chromium.org/6730050

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix hydrogen statistics output when no code gets optimized.
fschneider@chromium.org [Fri, 25 Mar 2011 10:02:42 +0000 (10:02 +0000)]
Fix hydrogen statistics output when no code gets optimized.

In that case print 0 instead of NaN for normalized time and bytes allocated.

R=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/6696070

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agomprove code generation for DoAddI, DoSubI and DoBitI when the right hand
sgjesse@chromium.org [Fri, 25 Mar 2011 07:41:35 +0000 (07:41 +0000)]
mprove code generation for DoAddI, DoSubI and DoBitI when the right hand
side is a constant.

TEST=none
BUG=none

Patch by Rodolph Perfetta from ARM Ltd.

Review URL: http://codereview.chromium.org/6730029/

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix build
danno@chromium.org [Thu, 24 Mar 2011 22:30:53 +0000 (22:30 +0000)]
Fix build

BUG=none
TEST=none
TBR=ager@chromium.org

Review URL: http://codereview.chromium.org/6732038

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoSupport external arrays in Crankshaft
danno@chromium.org [Thu, 24 Mar 2011 22:14:15 +0000 (22:14 +0000)]
Support external arrays in Crankshaft

Add specialized hydrogen and lithium instructions to support loading and storing to external arrays.

Review URL: http://codereview.chromium.org/6656001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAllow calling stats API functions before we have an isolate.
vitalyr@chromium.org [Thu, 24 Mar 2011 19:05:49 +0000 (19:05 +0000)]
Allow calling stats API functions before we have an isolate.

Review URL: http://codereview.chromium.org/6733030

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoGet rid of more TLS fetches in API implementation.
vitalyr@chromium.org [Thu, 24 Mar 2011 18:49:45 +0000 (18:49 +0000)]
Get rid of more TLS fetches in API implementation.

Patch by Dmitry Lomov.

Original review: http://codereview.chromium.org/6715016/

TBR=dimich

Review URL: http://codereview.chromium.org/6730031

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix bug in test-macro-assembler-x64 which is the probable cause for hanging on Win64.
lrn@chromium.org [Thu, 24 Mar 2011 13:01:16 +0000 (13:01 +0000)]
Fix bug in test-macro-assembler-x64 which is the probable cause for hanging on Win64.

Review URL: http://codereview.chromium.org/6733024

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoImplemented FastAsciiStringJoin in X64 full codegen.
lrn@chromium.org [Thu, 24 Mar 2011 12:24:28 +0000 (12:24 +0000)]
Implemented FastAsciiStringJoin in X64 full codegen.

Review URL: http://codereview.chromium.org/6729016

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix bug that caused invalid code motion for certain loads instructions.
fschneider@chromium.org [Thu, 24 Mar 2011 11:37:24 +0000 (11:37 +0000)]
Fix bug that caused invalid code motion for certain loads instructions.

The dependency flags of instructions depending on a previous check have to
be a super-set of the flags of the check instructions.
Review URL: http://codereview.chromium.org/6730025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix wording in comment
sgjesse@chromium.org [Thu, 24 Mar 2011 11:19:27 +0000 (11:19 +0000)]
Fix wording in comment
Review URL: http://codereview.chromium.org/6676111

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAdd regression test.
ager@chromium.org [Thu, 24 Mar 2011 11:03:08 +0000 (11:03 +0000)]
Add regression test.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMake V8 build with the chromium shared library build
sgjesse@chromium.org [Thu, 24 Mar 2011 10:54:23 +0000 (10:54 +0000)]
Make V8 build with the chromium shared library build

Fix the shell to not use functions from the v8::internal namespace when building with V8 in a shared library.

Remove the v8_preparser library. The dependencies for this target needs to be resolved after isolates have landed.
Review URL: http://codereview.chromium.org/6696067

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoEnable GVN for polymorphic loads by not expanding them at the HIR level.
fschneider@chromium.org [Thu, 24 Mar 2011 10:11:51 +0000 (10:11 +0000)]
Enable GVN for polymorphic loads by not expanding them at the HIR level.

This change adds a new IR instruction for polymorphic loads. It performs
map compares and loads in one IR instruction instead of splitting each
load into a graph of map-compares and field loads.

The advantage is a smaller IR and less basic blocks, plus it allows to
do GVN on polymorphic loads.
Review URL: http://codereview.chromium.org/6708085

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoEnable V8 test bindings for test262 ietestcenter.
mmaly@chromium.org [Wed, 23 Mar 2011 21:36:42 +0000 (21:36 +0000)]
Enable V8 test bindings for test262 ietestcenter.

Review URL: http://codereview.chromium.org/6711063

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoEnsure enough space for lazy deoptimization relocation information.
ager@chromium.org [Wed, 23 Mar 2011 15:33:49 +0000 (15:33 +0000)]
Ensure enough space for lazy deoptimization relocation information.

Was not done for runtime calls and for recursive calls.

Only ia32 for now. We need to refactor x64 and look into arm as well.

R=sgjesse@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/6728001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoStore HValue uses in a custom small list structure.
vitalyr@chromium.org [Wed, 23 Mar 2011 14:44:19 +0000 (14:44 +0000)]
Store HValue uses in a custom small list structure.

This saves about 700K of zone allocation when compiling the V8
benchmark suite.

Review URL: http://codereview.chromium.org/6707001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoCleanup of Isolate::Current() usage in api.cc.
ager@chromium.org [Wed, 23 Mar 2011 14:07:52 +0000 (14:07 +0000)]
Cleanup of Isolate::Current() usage in api.cc.

BUG=
TEST=

Review URL: http://codereview.chromium.org/6705024
Patch from Peter Varga <pvarga@inf.u-szeged.hu>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoIntroduce accessors on builtins instance and use them to avoid TLS access when gettin...
ager@chromium.org [Wed, 23 Mar 2011 13:40:07 +0000 (13:40 +0000)]
Introduce accessors on builtins instance and use them to avoid TLS access when getting builtins.

R=vitalyr@chromium.org

Review URL: http://codereview.chromium.org/6717018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix COUNTERS use in test-serialize.
ager@chromium.org [Wed, 23 Mar 2011 12:07:23 +0000 (12:07 +0000)]
Fix COUNTERS use in test-serialize.
Review URL: http://codereview.chromium.org/6705023

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoChange bleeding edge version to candidate
sgjesse@chromium.org [Wed, 23 Mar 2011 11:41:45 +0000 (11:41 +0000)]
Change bleeding edge version to candidate

R=ager@chromium.org
Review URL: http://codereview.chromium.org/6723015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAvoid TLS access for counters.
ager@chromium.org [Wed, 23 Mar 2011 11:13:07 +0000 (11:13 +0000)]
Avoid TLS access for counters.

Get rid of the COUNTERS macro and fetch the counters from a locally
stored isolate instead.

R=karlklose@chromium.org

Review URL: http://codereview.chromium.org/6723014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix compile failure on Win64.
lrn@chromium.org [Wed, 23 Mar 2011 11:12:34 +0000 (11:12 +0000)]
Fix compile failure on Win64.

Review URL: http://codereview.chromium.org/6727021

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRemember and reuse derived map for external arrays
danno@chromium.org [Wed, 23 Mar 2011 09:57:12 +0000 (09:57 +0000)]
Remember and reuse derived map for external arrays

Ensure that all objects that had the same map before attaching an external array have the same map once the external array is attached.

BUG=75639
TEST=fast/canvas/webgl/uninitialized-test.html

Review URL: http://codereview.chromium.org/6685073

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoIrregexp Interpreter build fix.
ager@chromium.org [Wed, 23 Mar 2011 09:20:08 +0000 (09:20 +0000)]
Irregexp Interpreter build fix.

BUG=1266
TEST=

Review URL: http://codereview.chromium.org/6727018
Patch from Peter Varga <pvarga@inf.u-szeged.hu>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoPrepare push to trunk. We are now working on 3.2.5.
sgjesse@chromium.org [Wed, 23 Mar 2011 09:06:13 +0000 (09:06 +0000)]
Prepare push to trunk. We are now working on 3.2.5.
Review URL: http://codereview.chromium.org/6723012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoX64: Optimize access to external references.
lrn@chromium.org [Wed, 23 Mar 2011 09:05:13 +0000 (09:05 +0000)]
X64: Optimize access to external references.

Access to an ExternalReference in non-serializable code will try to use
an offset relative to the root-array register.
Since the root-array is in the Heap object, and the Heap object is in
the Isolate object, there's a good chance that any external data field
is within a 32-bit offset of the root array register.
It falls back on the original behavior if the serializer is enabled,
if the root register isn't initialized or if the offset is not representable
as a 32-bit value.

Review URL: http://codereview.chromium.org/6716018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoCleanup of FACTORY macro usage in api.cc.
ager@chromium.org [Wed, 23 Mar 2011 09:02:15 +0000 (09:02 +0000)]
Cleanup of FACTORY macro usage in api.cc.

BUG=
TEST=

Review URL: http://codereview.chromium.org/6725014
Patch from Peter Varga <pvarga@inf.u-szeged.hu>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoImplement poison pill for non-strict mode function.caller
mmaly@chromium.org [Wed, 23 Mar 2011 03:45:48 +0000 (03:45 +0000)]
Implement poison pill for non-strict mode function.caller
when caller is strict mode function.

Review URL: http://codereview.chromium.org/6713059/

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoSome Isolate usage cleanups in objects.{h,cc}.
vitalyr@chromium.org [Tue, 22 Mar 2011 19:15:02 +0000 (19:15 +0000)]
Some Isolate usage cleanups in objects.{h,cc}.

Review URL: http://codereview.chromium.org/6723001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoCleanup of Isolate usage (guided by SunSpider profiling)
dimich@chromium.org [Tue, 22 Mar 2011 18:44:32 +0000 (18:44 +0000)]
Cleanup of Isolate usage (guided by SunSpider profiling)

Review URL: http://codereview.chromium.org/6718023

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix crash in Debug::SendCommand.
podivilov@chromium.org [Tue, 22 Mar 2011 18:02:23 +0000 (18:02 +0000)]
Fix crash in Debug::SendCommand.

R=vitalyr@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/6715029

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7310 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMerge TemporaryScope with LexicalScope.
mmaly@chromium.org [Tue, 22 Mar 2011 18:00:03 +0000 (18:00 +0000)]
Merge TemporaryScope with LexicalScope.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7309 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAdd support for CPU and heap profiles deletion.
mikhail.naganov@gmail.com [Tue, 22 Mar 2011 16:10:01 +0000 (16:10 +0000)]
Add support for CPU and heap profiles deletion.

R=vitalyr@chromium.org
BUG=none
TEST=none

Review URL: http://codereview.chromium.org/6685084

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRemove TLS fetches in v8::String API implementation.
vitalyr@chromium.org [Tue, 22 Mar 2011 15:16:29 +0000 (15:16 +0000)]
Remove TLS fetches in v8::String API implementation.

Patch by Dmitry Lomov.

Original review: http://codereview.chromium.org/6716004/

TBR=ager

Review URL: http://codereview.chromium.org/6716023

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoUse different syscall constants on Android
sgjesse@chromium.org [Tue, 22 Mar 2011 14:11:08 +0000 (14:11 +0000)]
Use different syscall constants on Android
Review URL: http://codereview.chromium.org/6716021

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRequire an isolate parameter for most external reference creation to
ager@chromium.org [Tue, 22 Mar 2011 13:20:04 +0000 (13:20 +0000)]
Require an isolate parameter for most external reference creation to
avoid TLS access in connection with external references.

Make the isolate accessible via the assembler.

Only for ia32 at this point. If this looks OK to you I will port it.

R=vitalyr@chromium.org

Review URL: http://codereview.chromium.org/6713074

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7305 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAdd file missing from last commit
sgjesse@chromium.org [Tue, 22 Mar 2011 11:58:03 +0000 (11:58 +0000)]
Add file missing from last commit

TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/6715026

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7304 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoShorten bail out checks when calling code which can fail.
antonm@chromium.org [Tue, 22 Mar 2011 11:52:38 +0000 (11:52 +0000)]
Shorten bail out checks when calling code which can fail.

Review URL: http://codereview.chromium.org/6713004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7303 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix error in test-reloc-info/Positions. This error caused a failure on Windows 64...
whesse@chromium.org [Tue, 22 Mar 2011 11:51:16 +0000 (11:51 +0000)]
Fix error in test-reloc-info/Positions.  This error caused a failure on Windows 64-bit V8.

BUG=1267
TEST=test-reloc-info/Positions

Review URL: http://codereview.chromium.org/6719022

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRename memory.h to v8memory.h
sgjesse@chromium.org [Tue, 22 Mar 2011 11:50:39 +0000 (11:50 +0000)]
Rename memory.h to v8memory.h

This is to avoid name collision with system include file named memory.h causing problems on some platforms.
Review URL: http://codereview.chromium.org/6716020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoImproved modulo operation in lithium as well as bailout on -0.
sgjesse@chromium.org [Tue, 22 Mar 2011 10:00:43 +0000 (10:00 +0000)]
Improved modulo operation in lithium as well as bailout on -0.

TEST=none
BUG=none

Patch by Rodolph Perfetta from ARM Ltd.

Review URL: http://codereview.chromium.org/6612017

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoTrying to unskip test-profile-generator/RecordStackTraceAtStartProfiling and
mikhail.naganov@gmail.com [Tue, 22 Mar 2011 06:39:16 +0000 (06:39 +0000)]
Trying to unskip test-profile-generator/RecordStackTraceAtStartProfiling and
test-cpu-profiler/CrashIfStoppingLastNonExistentProfile.

After r7293 and r7294 they might feel better.

TBR=vitalyr@chromium.org
BUG=1262,1263
TEST=none

Review URL: http://codereview.chromium.org/6676084

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAnother Lint fix.
dimich@chromium.org [Mon, 21 Mar 2011 23:44:14 +0000 (23:44 +0000)]
Another Lint fix.
Review URL: http://codereview.chromium.org/6716012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoLint: remove line trailing whitespaces.
dimich@chromium.org [Mon, 21 Mar 2011 23:16:06 +0000 (23:16 +0000)]
Lint: remove line trailing whitespaces.
Review URL: http://codereview.chromium.org/6708070

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix Win32 bots - they crash/timeout on too long thread name.
dimich@chromium.org [Mon, 21 Mar 2011 23:06:38 +0000 (23:06 +0000)]
Fix Win32 bots - they crash/timeout on too long thread name.
Review URL: http://codereview.chromium.org/6676076

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoChange the way sampler / profiler handle external callbacks.
mikhail.naganov@gmail.com [Mon, 21 Mar 2011 18:13:27 +0000 (18:13 +0000)]
Change the way sampler / profiler handle external callbacks.

This should fix test-profile-generator/RecordStackTraceAtStartProfiling flakinness.

R=vitalyr@chromium.org
BUG=1261
TEST=test-profile-generator/RecordStackTraceAtStartProfiling

Review URL: http://codereview.chromium.org/6708056

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix DevTools CPU profiler after isolates merge.
mikhail.naganov@gmail.com [Mon, 21 Mar 2011 17:40:40 +0000 (17:40 +0000)]
Fix DevTools CPU profiler after isolates merge.

There was an obvious bug with missing call to SamplerRegistry::GetState.
I've also updated CpuProfiler to avoid stopping sampler, if it didn't started it.

R=vitalyr@chromium.org
BUG=none
TEST=none

Review URL: http://codereview.chromium.org/6712062

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRevert r7288.
karlklose@chromium.org [Mon, 21 Mar 2011 16:10:05 +0000 (16:10 +0000)]
Revert r7288.

TBR=ager
Review URL: http://codereview.chromium.org/6709060

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoClean up Isolate usages in handles.cc.
vitalyr@chromium.org [Mon, 21 Mar 2011 16:00:52 +0000 (16:00 +0000)]
Clean up Isolate usages in handles.cc.

Review URL: http://codereview.chromium.org/6713070

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoUse v8::internal threading support in samples/shell.cc.
vitalyr@chromium.org [Mon, 21 Mar 2011 15:04:17 +0000 (15:04 +0000)]
Use v8::internal threading support in samples/shell.cc.

We need this for isolates testing. To make it work I had to extend the
internal Thread constructor with an option to set the stack size (see
the comment in shell.cc).

BUG=1264

Review URL: http://codereview.chromium.org/6711068

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoARM: Add optimization for constant RHS in DoMulI.
karlklose@chromium.org [Mon, 21 Mar 2011 14:31:15 +0000 (14:31 +0000)]
ARM: Add optimization for constant RHS in DoMulI.

Patch by ARM Ltd.

Review URL: http://codereview.chromium.org/6708025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoChange cctests to use variant flags as part of the name for the serilization file.
ricow@chromium.org [Mon, 21 Mar 2011 12:57:25 +0000 (12:57 +0000)]
Change cctests to use variant flags as part of the name for the serilization file.

Because we run all tests three times with different variant flags (to
test crankshaft) we might end up in a situation where we try to write
to the same serilization file from two different threads
simultaneously. The patch concats the variant flags at the end of the
serialization file name.
Review URL: http://codereview.chromium.org/6688068

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoOptimize calls to object literal properties that are initialized with a function...
fschneider@chromium.org [Mon, 21 Mar 2011 12:25:31 +0000 (12:25 +0000)]
Optimize calls to object literal properties that are initialized with a function literal.

This allows fast calls and inlining of functions like:

var o = {f: function() { return "foo"; }}
o.f();

Object literals that contain function literals are initially created a dictionary mode
object and only transformed to fast properties once all properties are computed and
added. This allows us to create constant function properties for functions declared
inside the object literal. Function literals inside object literals are marked for
pretenuring so that they work as contant function properties.

Object literals without functions should just function as before.

Review URL: http://codereview.chromium.org/6240012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoClean up Isolate usages in ast visitor and hydrogen.
vitalyr@chromium.org [Mon, 21 Mar 2011 11:57:59 +0000 (11:57 +0000)]
Clean up Isolate usages in ast visitor and hydrogen.

Review URL: http://codereview.chromium.org/6688066

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoClean up Isolate usages in compilation cache.
vitalyr@chromium.org [Mon, 21 Mar 2011 10:22:57 +0000 (10:22 +0000)]
Clean up Isolate usages in compilation cache.

Review URL: http://codereview.chromium.org/6688065

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoImprove ARM-Simulator.
karlklose@chromium.org [Mon, 21 Mar 2011 09:59:58 +0000 (09:59 +0000)]
Improve ARM-Simulator.

This patch
- removes the unimplemented code crash when rendering invalid/unknown instructions and prints "unknown" instead.
- prints the beginning of the constant pool marker.
- adds "da" as a shortcut for "disasm".
- print hexadecimal representation of double and single registers. This makes it easier to debug move/conversion code that uses temporary int32 values in floating point registers.
- annotates the stack with short prints of the values (HeapObjects and smis),
- makes disasm take an address or a register as second argument without a third argument, which defaults to printing ten instructions.

Review URL: http://codereview.chromium.org/6676042

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAlways inline BitCast.
vitalyr@chromium.org [Mon, 21 Mar 2011 09:59:29 +0000 (09:59 +0000)]
Always inline BitCast.

Review URL: http://codereview.chromium.org/6688064

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix Xcode after isolates landing.
mmaly@chromium.org [Sat, 19 Mar 2011 02:23:59 +0000 (02:23 +0000)]
Fix Xcode after isolates landing.

BUG=
TEST=

Review URL: http://codereview.chromium.org/6712049

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAvoid TLS accesses in QuoteJsonString.
vitalyr@chromium.org [Fri, 18 Mar 2011 23:55:11 +0000 (23:55 +0000)]
Avoid TLS accesses in QuoteJsonString.

Review URL: http://codereview.chromium.org/6713056

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoTry fix arm build.
vitalyr@chromium.org [Fri, 18 Mar 2011 22:47:09 +0000 (22:47 +0000)]
Try fix arm build.

Review URL: http://codereview.chromium.org/6714026

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoUpdate cctest expectations: ass 2 timed out tests to skip list.
dimich@chromium.org [Fri, 18 Mar 2011 21:51:10 +0000 (21:51 +0000)]
Update cctest expectations: ass 2 timed out tests to skip list.

Review URL: http://codereview.chromium.org/6713052

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix Win64 build after isolates merge.
dimich@chromium.org [Fri, 18 Mar 2011 21:37:28 +0000 (21:37 +0000)]
Fix Win64 build after isolates merge.
Need to add -DWIN32 since the include structure changed.w
Review URL: http://codereview.chromium.org/6712045

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMerge isolates to bleeding_edge.
vitalyr@chromium.org [Fri, 18 Mar 2011 20:35:07 +0000 (20:35 +0000)]
Merge isolates to bleeding_edge.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRevert r7268: it borked the history.
vitalyr@chromium.org [Fri, 18 Mar 2011 19:41:05 +0000 (19:41 +0000)]
Revert r7268: it borked the history.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMerge isolates to bleeding_edge.
vitalyr@chromium.org [Fri, 18 Mar 2011 18:49:56 +0000 (18:49 +0000)]
Merge isolates to bleeding_edge.
Review URL: http://codereview.chromium.org/6685088

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMark cctest/test-profile-generator/RecordStackTraceAtStartProfiling as flakey.
vitalyr@chromium.org [Fri, 18 Mar 2011 15:10:00 +0000 (15:10 +0000)]
Mark cctest/test-profile-generator/RecordStackTraceAtStartProfiling as flakey.

Review URL: http://codereview.chromium.org/6709030

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMake Script.prototype.nameOrSourceURL use indexOf search first before trying to match...
lrn@chromium.org [Fri, 18 Mar 2011 13:40:48 +0000 (13:40 +0000)]
Make Script.prototype.nameOrSourceURL use indexOf search first before trying to match with a RegExp.

This should use Boyer-Moore search with a long string, which is potentially
faster than RegExp search.
The target string is typically, but not guaranteed, at the end of the
source, so for long sources, there will be a lot of characters to skip.

Review URL: http://codereview.chromium.org/6709027

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRevert r7258 and r7260.
antonm@chromium.org [Fri, 18 Mar 2011 13:24:38 +0000 (13:24 +0000)]
Revert r7258 and r7260.

They apparently break Threading tests on at least Mac and Win64.

TBR=vitalyr@chromium.org

Review URL: http://codereview.chromium.org/6709028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix presumbit warning after r7259
mikhail.naganov@gmail.com [Fri, 18 Mar 2011 12:55:53 +0000 (12:55 +0000)]
Fix presumbit warning after r7259

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix build.
antonm@chromium.org [Fri, 18 Mar 2011 12:51:14 +0000 (12:51 +0000)]
Fix build.

TBR=vitalyr@chromium.org

Review URL: http://codereview.chromium.org/6688032

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoDramatically speed up detailed heap snapshot generation.
mikhail.naganov@gmail.com [Fri, 18 Mar 2011 12:49:27 +0000 (12:49 +0000)]
Dramatically speed up detailed heap snapshot generation.

I've replaced calls to HashMap::Clear with instance re-creation.
This has sped up taking a heap snapshot of GMail from 33s -> 3s!

R=vitalyr@chromium.org
BUG=none
TEST=none

Review URL: http://codereview.chromium.org/6665038

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMake exception thrown via v8 public API propagate to v8::TryCatch as JS thrown except...
antonm@chromium.org [Fri, 18 Mar 2011 12:33:19 +0000 (12:33 +0000)]
Make exception thrown via v8 public API propagate to v8::TryCatch as JS thrown exceptions do.

Correctly process failures which can be returned by Object::GetProperty
when performing GetRealNamedProperty* queries.

Callback properties can produce exceptions so we need to wrap access to them
into exception checks.  However, despite of many other methods with exception
checks, property access doesn't mandatroy go via JavaScript and hence we
need to inject code to propagate exception to public API TryCatch handlers.

Review URL: http://codereview.chromium.org/6397011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix compilation on Windows post-7252
dimich@chromium.org [Thu, 17 Mar 2011 21:14:47 +0000 (21:14 +0000)]
Fix compilation on Windows post-7252
Review URL: http://codereview.chromium.org/6708014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoImplement strict mode ThrowTypeError functions for arguments object.
mmaly@chromium.org [Thu, 17 Mar 2011 20:28:41 +0000 (20:28 +0000)]
Implement strict mode ThrowTypeError functions for arguments object.
* Reverse order of arguments in-object fields for length and callee.
* Introduce arguments ThrowTypeError functions (caller/callee).
* Create strict mode arguments boilerplate object.
* Strict mode "new arguments object" stub.
* Runtime arguments object allocation.
* Update es5conform test expectations.

Review URL: http://codereview.chromium.org/6698015/

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoImplement fast path for strict closure creation.
mmaly@chromium.org [Thu, 17 Mar 2011 20:28:30 +0000 (20:28 +0000)]
Implement fast path for strict closure creation.

Review URL: http://codereview.chromium.org/6677036/

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoStrict mode ThrowTypeError functions for
mmaly@chromium.org [Thu, 17 Mar 2011 20:28:17 +0000 (20:28 +0000)]
Strict mode ThrowTypeError functions for
- function.caller
- function.arguments

Review URL: http://codereview.chromium.org/6694044/

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoX64: Port optimization of LMulI to x64.
lrn@chromium.org [Thu, 17 Mar 2011 18:14:21 +0000 (18:14 +0000)]
X64: Port optimization of LMulI to x64.

Review URL: http://codereview.chromium.org/6701003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRefactor fast API call.
antonm@chromium.org [Thu, 17 Mar 2011 17:25:54 +0000 (17:25 +0000)]
Refactor fast API call.

Make it use custom call generator infrastructure.

Review URL: http://codereview.chromium.org/6686003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRemove empty test/mjsunit/compiler/global-accessors.js to make lint happy.
vitalyr@chromium.org [Thu, 17 Mar 2011 16:12:13 +0000 (16:12 +0000)]
Remove empty test/mjsunit/compiler/global-accessors.js to make lint happy.

Review URL: http://codereview.chromium.org/6712001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoEmit slightly more compact code in untag double.
vitalyr@chromium.org [Thu, 17 Mar 2011 15:46:42 +0000 (15:46 +0000)]
Emit slightly more compact code in untag double.

Review URL: http://codereview.chromium.org/6677111

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRevert revisions 7215 and 7212.
ricow@chromium.org [Thu, 17 Mar 2011 14:30:48 +0000 (14:30 +0000)]
Revert revisions 7215 and 7212.

This caueses line positions to be off by one in certain cases, causing webkit http/tests/inspector/console-xhr-logging to fail.
Review URL: http://codereview.chromium.org/6667077

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix presubmit error introduced by r7221.
vegorov@chromium.org [Thu, 17 Mar 2011 12:36:12 +0000 (12:36 +0000)]
Fix presubmit error introduced by r7221.

TBR=kmillikin@chromium.org

Review URL: http://codereview.chromium.org/6673112

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoX64: Add the global object as parameter to the GlobalReceiver instruction
sgjesse@chromium.org [Thu, 17 Mar 2011 12:34:24 +0000 (12:34 +0000)]
X64: Add the global object as parameter to the GlobalReceiver instruction
Review URL: http://codereview.chromium.org/6674053

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMake HDeoptimize to explicitly use environment values.
vegorov@chromium.org [Thu, 17 Mar 2011 12:22:49 +0000 (12:22 +0000)]
Make HDeoptimize to explicitly use environment values.

Otherwise dead phi elimination can actually remove some of the implicitly used phis.

BUG=1257
TEST=test/mjsunit/regress/regress-1257.js

Review URL: http://codereview.chromium.org/6672066

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7221 ce2b1a6d-e550-0410-aec6-3dcde31c8c00